mirror of
https://github.com/curl/curl.git
synced 2024-11-27 05:50:21 +08:00
Jon Turner pointed out that doing -P [hostname] with curl (built ipv4-only)
didn't work.
This commit is contained in:
parent
5deff1a179
commit
c31451cf13
4
CHANGES
4
CHANGES
@ -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
|
||||
|
@ -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)
|
||||
|
13
lib/ftp.c
13
lib/ftp.c
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user