Bug 60045
Summary: | rpm sends malformed ABORT command to FTP server | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Ben Liblit <liblit> | ||||||
Component: | rpm | Assignee: | Jeff Johnson <jbj> | ||||||
Status: | CLOSED NOTABUG | QA Contact: | |||||||
Severity: | medium | Docs Contact: | |||||||
Priority: | medium | ||||||||
Version: | 7.2 | ||||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | i386 | ||||||||
OS: | Linux | ||||||||
URL: | ftp://ftp.redhat.com/pub/redhat/redhat-7.2-en/os/i386/RedHat/RPMS/rpm-4.0.3-1.03.i386.rpm | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2002-02-19 12:34:32 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: | |||||||||
Attachments: |
|
Description
Ben Liblit
2002-02-19 12:23:23 UTC
Created attachment 46000 [details]
recorded dialog between rpm command (client) and FTP server
Created attachment 46001 [details]
raw libpcap packet capture, suitable for use with ethereal or tcpdump
In the packet capture attached above <http://bugzilla.redhat.com/bugzilla/showattachment.cgi?attach_id=46001>, the garbled commands from client to server appear in packets 21 & 22. The fact that it is split across two packets leaves me wondering whether this is a single garbled command or whether there were actually *two* commands that should have been sent at this point. (If the first command's trailing CRLF has been scrambled, then it could appear to merge with the second command.) Observe the long delay between packets 23 & 24. During this period the rest of the file download continued, unaborted. (I've included only the FTP control connection in this log.) Yes, rpm sends an FTP ABOR command. Yes, there are non-ASCII characters sent when aborting an FTP command, that's specified in RFC's and rpm is doing the right thing. Yes, an entire header is read to perform a query before sending an ABOR. Yes data continues to arrive before the ABOR takes affect. There's no problem that I can see here. Right you are; rpm is doing exactly what RFC-959 and RFC-854 say it should do. Sorry for my confusion. I guess if there's a bug anywhere, it's in the FTP server, which clearly doesn't handle ABOR as RFC-959 requires. While rpm is doing the right thing on the client side, it would be a good idea to report ABORT handling bugs against buggy FTP servers when we can identify them. After all, those buggy servers are making rpm look bad, and we can't have that now can we? :-) rpmfind.net handles ABORT badly; it calls itself "vsFTPd 1.0.0". I will send a message to Chris Evans alterting him to the problem. ftp.rpmfind.net handles ABORT gracefully, with rapid cutoff of the download. This server calls itself "Linux 2.4 TUX 2.0 FTP server". Whoo-hoo ... go TUX! ftp.redhat.com handles ABORT badly. It doesn't identify what server software it is running, but <http://www.redhat.com/about/presscenter/news_archive/2001/news_7.2_launch.html> claims that Red Hat is also using vsFTPd. Can someone at Red Hat confirm that this is still the case? Looks like vsFTPd does handle ABOR, but only if the "async_abor_enable" flag is turned on in its configuration file. The documentation seems pretty negative about the very idea of handling ABOR, and refers to clients that use it as "ill advised". Odds are most FTP server admins will leave this turned off. I guess the only thing to do from the client side is to just avoid FTP servers that are not configured to handle ABOR. Sadly, <ftp.redhat.com> is one such server. Oh well, all the more reason to use a mirror. :-) |