[Bug 1003633] Re: Escape plus character in apt HTTP requests to work around Amazon S3 bug
Darik Horn
dajhorn at vanadac.com
Sun Jan 27 02:32:09 UTC 2013
This non-conformance bug works in both directions, so an easy kludge is
to hard link all file names like this:
$ ln foobar-1.2+baz3_all.deb 'foobar-1.2 baz3_all.deb'
And sync to the s3 bucket normally. Afterwards, the key can be called
through http with a literal "+" character or the "%2B" escape. Most
clients like `apt-get` and `wget` will write out a file with the correct
name using either form in the URL.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to apt in Ubuntu.
https://bugs.launchpad.net/bugs/1003633
Title:
Escape plus character in apt HTTP requests to work around Amazon S3
bug
Status in “apt” package in Ubuntu:
Fix Committed
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://forums.aws.amazon.com/thread.jspa?threadID=55746
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
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1003633/+subscriptions
More information about the foundations-bugs
mailing list