Bug#620871: EPRT for IPv4 fails with IPv6 enabled server.

Mats Erik Andersson mats.andersson at gisladisker.se
Mon Apr 4 19:46:10 UTC 2011


Package: proftpd-basic
Version: 1.3.3a-6squeeze1
Severity: normal
Tags: ipv6 upstream

When using the IPv6-enabled server (and 'net.ipv6.bindv6only = 0')
an IPv4-only client will get a positive/successful response to
an EPRT command. However, the connection fails, because the server
is establishing an IPv6 socket at ':ftp-data', not the expected
IPv4 socket. The exchange goes like this:

  > ls
  200 EPRT command successful
  425 Unable to build data connection: Invalid argument


After reconfiguring the server to be IPv4-only, the EPRT is fully
functional, as is to be expected.

The proftpd-server was freshly installed for the purpose of testing
different clients, so besides the setting "UseIPv6" nothing was
ever changed in the configuration.

At the moment I can trigger this error using a patched FTP client
from GNU Inetutils. Since this patching works correctly against
the OpenBSD FTP server (with PASV, EPSV, LPSV, PORT, EPRT, LPRT),
I am personally convinced that the error lies in 'poftpd/modules/mod_core.c'.

Granted some time I might be able to craft a Perl client to also
trigger this error.

Best regards,
  Mats Erik Andersson, DM





More information about the Pkg-proftpd-maintainers mailing list