Jon Turner pointed out that doing -P [hostname] with curl (built ipv4-only)

didn't work.
This commit is contained in:
Daniel Stenberg 2006-01-19 22:02:46 +00:00
parent 5deff1a179
commit c31451cf13
3 changed files with 17 additions and 3 deletions

View File

@ -6,6 +6,10 @@
Changelog
Daniel (19 January 2006)
- Jon Turner pointed out that doing -P [hostname] with curl (built ipv4-only)
didn't work.
Daniel (18 January 2006)
- As reported in bug #1408742 (http://curl.haxx.se/bug/view.cgi?id=1408742),
the configure script complained about a missing "missing" script if you ran

View File

@ -18,6 +18,7 @@ This release includes the following changes:
This release includes the following bugfixes:
o -P [hostname] with ipv6-disabled curl
o libcurl.m4 was updated
o configure no longer warns if the current path contains a space
o test suite kill race condition
@ -43,6 +44,6 @@ advice from friends like these:
Dov Murik, Jean Jacques Drouin, Andres Garcia, Yang Tse, Gisle Vanem, Dan
Fandrich, Alexander Lazic, Michael Jahn, Andrew Benham, Bryan Henderson,
David Shaw
David Shaw, Jon Turner
Thanks! (and sorry if I forgot to mention someone)

View File

@ -1011,6 +1011,8 @@ static CURLcode ftp_state_use_port(struct connectdata *conn,
bool sa_filled_in = FALSE;
Curl_addrinfo *addr = NULL;
unsigned short ip[4];
bool freeaddr = TRUE;
(void)fcmd; /* not used in the IPv4 code */
if(data->set.ftpport) {
in_addr_t in;
@ -1030,7 +1032,7 @@ static CURLcode ftp_state_use_port(struct connectdata *conn,
else if(strlen(data->set.ftpport)> 1) {
/* might be a host name! */
struct Curl_dns_entry *h=NULL;
int rc = Curl_resolv(conn, myhost, 0, &h);
int rc = Curl_resolv(conn, data->set.ftpport, 0, &h);
if(rc == CURLRESOLV_PENDING)
/* BLOCKING */
rc = Curl_wait_for_resolv(conn, &h);
@ -1039,7 +1041,13 @@ static CURLcode ftp_state_use_port(struct connectdata *conn,
/* when we return from this function, we can forget about this entry
so we can unlock it now already */
Curl_resolv_unlock(data, h);
freeaddr = FALSE; /* make sure we don't free 'addr' in this function
since it points to a DNS cache entry! */
} /* (h) */
else {
infof(data, "Failed to resolve host name %s\n", data->set.ftpport);
}
} /* strlen */
} /* CURL_INADDR_NONE */
} /* data->set.ftpport */
@ -1132,7 +1140,8 @@ static CURLcode ftp_state_use_port(struct connectdata *conn,
else
return CURLE_FTP_PORT_FAILED;
Curl_freeaddrinfo(addr);
if(freeaddr)
Curl_freeaddrinfo(addr);
ftp->count1 = PORT;