Bug 651592
| Summary: | Curl does not handle FTP server timeout gracefully | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | Kamil Dudka <kdudka> | ||||||
| Component: | curl | Assignee: | Kamil Dudka <kdudka> | ||||||
| Status: | CLOSED ERRATA | QA Contact: | BaseOS QE Security Team <qe-baseos-security> | ||||||
| Severity: | medium | Docs Contact: | |||||||
| Priority: | medium | ||||||||
| Version: | 6.1 | CC: | mhusnain, mvadkert, ovasik | ||||||
| Target Milestone: | rc | Keywords: | EasyFix | ||||||
| Target Release: | --- | ||||||||
| Hardware: | All | ||||||||
| OS: | Linux | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||||
| Doc Text: |
libcurl FTP protocol implementation was unable to handle server session timeouts correctly. This is now fixed so that libcurl drops the connection when a 421 timeout response is received.
|
Story Points: | --- | ||||||
| Clone Of: | 650255 | ||||||||
| : | 720253 (view as bug list) | Environment: | |||||||
| Last Closed: | 2011-05-19 13:12:29 UTC | Type: | --- | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Embargoed: | |||||||||
| Bug Depends On: | 650255 | ||||||||
| Bug Blocks: | 720253 | ||||||||
| Attachments: |
|
||||||||
|
Description
Kamil Dudka
2010-11-09 21:15:10 UTC
upstream commits: https://github.com/bagder/curl/commit/12b2412 https://github.com/bagder/curl/commit/5c7c9a7 https://github.com/bagder/curl/commit/5965d45 Created attachment 471915 [details]
upstream patches applied on el6 code
Comment on attachment 471915 [details]
upstream patches applied on el6 code
Looks sane. However, it modifies API of curl lib - is there some package in RHEL-6 which uses libcurl except curl? I just want to be sure to prevent incompatibilities.
The patch is not supposed to change anything in libcurl API/ABI. It would be a bug if it did. As far as I understand the code, it changes only internal API of libcurl modules and should not be anyhow visible from outside. Luckily, we do not distribute lib/url.h and lib/urldata.h with our binary packages. Ah ok, then everything is ok... Created attachment 491786 [details]
a reproducer
I am able to repeat the bug with proftpd with TimeoutIdle 4 in proftpd.conf. You need to link the tester with -lcurl and give it the value of TimeoutIdle as the argument. With the old version of libcurl, it returns CURLE_RECV_ERROR (56), which is wrong. For some reason, I am no longer able to reproduce it with vsftpd.
Thanks Kamil, I will try with proftpd then.
Technical note added. If any revisions are required, please edit the "Technical Notes" field
accordingly. All revisions will be proofread by the Engineering Content Services team.
New Contents:
libcurl FTP protocol implementation was unable to handle server session timeouts correctly. This is now fixed so that libcurl drops the connection when a 421 timeout response is received.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2011-0573.html |