1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-21 23:58:49 -05:00

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 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) Daniel (19 August 2006)
- Based on a patch by Armel Asselin, the FTP code no longer re-issues the TYPE - 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. 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: 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 (FTP) SINGLECWD mode and using files in the root dir
o (HTTP) Expect: header disabling work better o (HTTP) Expect: header disabling work better
o (HTTP) "Expect: 100-continue" disable on second POST on re-used connection 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 This release would not have looked like this without help, code, reports and
advice from friends like these: 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) 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 */ /* we have received data here */
{ {
curl_socket_t s = CURL_SOCKET_BAD; 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; struct sockaddr_in add;
#endif
socklen_t size = (socklen_t) sizeof(add);
if(0 == getsockname(sock, (struct sockaddr *) &add, &size)) if(0 == getsockname(sock, (struct sockaddr *) &add, &size))
s=accept(sock, (struct sockaddr *) &add, &size); s=accept(sock, (struct sockaddr *) &add, &size);