get_pasv_socket: Use AF_INET6 when appropriate.
commit0c1b52637f23c64b1dae919fc72e387ec220b1e1
authorKalle Olavi Niemitalo <kon@iki.fi>
Mon, 21 Jan 2008 21:12:41 +0000 (21 23:12 +0200)
committerKalle Olavi Niemitalo <Kalle@Astalo.kon.iki.fi>
Mon, 21 Jan 2008 22:41:25 +0000 (22 00:41 +0200)
treefe9d10373b4677510ec8b7345d62f1dcc953ec6e
parent789eacc0d9995705e652a94941b136d300561bfb
get_pasv_socket: Use AF_INET6 when appropriate.

When get_pasv6_socket was merged into get_pasv_socket on 2005-04-15,
the AF_INET6 of get_pasv6_socket was lost and the merged function
always returned AF_INET sockets.  This then made getsockname fill
only part of the struct sockaddr_in6, and ELinks sent to the server
an EPRT command that had half the bits missing from the IPv6 address.
At least ftp.funet.fi then rejected the command, helpfully saying
what the address should have been.

This commit fixes active FTP over IPv6.  Passive FTP was already fixed
in 0.11.3.GIT (887d650efe447ce534cc36f92f9c07e25414e8f8), on 2007-05-01.
NEWS
src/network/socket.c