Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Description of problem:
With --disable-epsv, curl should not attempt to use EPSV mode no matter what. When the host name in URL is 'localhost' or 'localhost.localdomain', EPSV is not disabled. On the other hand, when 127.0.0.1 is used instead, --disable-epsv is respected.
Version-Release number of selected component (if applicable):
curl-7.19.7-51.el6.x86_64
Steps to reproduce:
# yum -y install vsftpd
# echo OK > /var/ftp/pub/test
# service vsftpd start
# curl -v --disable-epsv ftp://localhost/pub/test
Actual results:
> EPSV
* Connect data stream passively
< 229 Entering Extended Passive Mode (|||20246|).
* Trying 127.0.0.1... connected
Expected results:
> PASV
* Connect data stream passively
< 227 Entering Passive Mode (127,0,0,1,251,224).
* Trying 127.0.0.1... connected
Hi,
according to several resources curl option --disable-epsv has no effect for
IPv6 hosts.
For curl-7.19.7-51.el6 it works OK for localhost4 and also for localhost
together with curl --ipv4 option.
See e.g.
https://curl.haxx.se/libcurl/c/CURLOPT_FTP_USE_EPSV.html
...
If the server is an IPv6 host, this option will have no effect as of 7.12.3
...
Eva, thank you for replying on this!
I believe the behavior is already documented in the RHEL-6 man page.
$ rpm -q libcurl-devel
libcurl-devel-7.19.7-46.el6.i686
$ man curl_easy_setopt | grep -A8 CURLOPT_FTP_USE_EPSV
CURLOPT_FTP_USE_EPSV
Pass a long. If the value is 1, it tells curl to use the EPSV
command when doing passive FTP downloads (which it always does
by default). Using EPSV means that it will first attempt to use
EPSV before using PASV, but if you pass zero to this option, it
will not try using EPSV, only plain PASV.
If the server is an IPv6 host, this option will have no effect
as of 7.12.3.
See also: https://github.com/curl/curl/commit/0966ddaf
I would still argue that a man page provided by a devel subpackage is not the most fortunate place to provide this information. Not for a user who does not give a tinker's cuss about the internal affairs of curl and only cares about the command-line interface and the man page shipped with it.
Obviously, this is a not a high priority bug which ought to be fixed on a short notice. Nonetheless, I believe adding that one sentence to curl man page still does make sense.
RHEL-6 is in Production Phase 2, which means that only critical and security bugs are fixed. The current documentation is technically correct. Additional documentation improvements on this topic will be included in RHEL-7.