Peter Sylvester pointed out a flaw in the AllowServerConnect() in the FTP

code when doing pure ipv6 EPRT connections.
This commit is contained in:
Daniel Stenberg 2006-08-22 21:21:01 +00:00
parent bac66ec26b
commit d792937686
3 changed files with 12 additions and 2 deletions

View File

@ -6,6 +6,10 @@
Changelog
Daniel (22 August 2006)
- Peter Sylvester pointed out a flaw in the AllowServerConnect() in the FTP
code when doing pure ipv6 EPRT connections.
Daniel (19 August 2006)
- Based on a patch by Armel Asselin, the FTP code no longer re-issues the TYPE
command on subsequent requests on a re-used connection unless it has to.

View File

@ -16,6 +16,7 @@ This release includes the following changes:
This release includes the following bugfixes:
p (FTP) EPRT transfers with IPv6 didn't work properly
o (FTP) SINGLECWD mode and using files in the root dir
o (HTTP) Expect: header disabling work better
o (HTTP) "Expect: 100-continue" disable on second POST on re-used connection
@ -32,6 +33,7 @@ New curl mirrors:
This release would not have looked like this without help, code, reports and
advice from friends like these:
Domenico Andreoli, Armel Asselin, Gisle Vanem, Yang Tse, Andrew Biggs
Domenico Andreoli, Armel Asselin, Gisle Vanem, Yang Tse, Andrew Biggs,
Peter Sylvester
Thanks! (and sorry if I forgot to mention someone)

View File

@ -215,8 +215,12 @@ static CURLcode AllowServerConnect(struct connectdata *conn)
/* we have received data here */
{
curl_socket_t s = CURL_SOCKET_BAD;
socklen_t size = (socklen_t) sizeof(struct sockaddr_in);
#ifdef ENABLE_IPV6
struct Curl_sockaddr_storage add;
#else
struct sockaddr_in add;
#endif
socklen_t size = (socklen_t) sizeof(add);
if(0 == getsockname(sock, (struct sockaddr *) &add, &size))
s=accept(sock, (struct sockaddr *) &add, &size);