Escape plus character in apt HTTP requests to work around Amazon S3 bug
Bug #1003633 reported by
Doug Mitchell
This bug affects 5 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apt (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Amazon S3 performs incorrect query-string un-escaping on URLs and improperly converts the plus ('+') character to a space (' ') when processing incoming GET requests for files. This causes apt-get to get HTTP 404 errors when downloading packages from S3-hosted mirrors which include a + character in the name of the package.
For more background info, see:
https:/
One possibly solution is to change the call to QuoteString in http.cc to include '+' in the character set, which would escape the plus character to the %2B form, which will be properly processed by Amazon S3.
Thanks,
Doug
Related branches
CVE References
tags: | added: patch |
Changed in apt (Ubuntu): | |
status: | Confirmed → Fix Committed |
To post a comment you must log in.
Also, this 2007 thread:
[1] https:/ /forums. aws.amazon. com/thread. jspa?threadID= 16361
where AWS representatives expound on their "justification" some more.
Instead of being well-behaved netizens, they just document their
non-conformance – though there is no indication in these threads where
such documentation is, other than provided in examples.
That thread also indicates that the path is expected to be
URL-encoded, not just some characters. This probably means including
':' and others to avoid more unanticipated transforms.