X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/335e2c82afc5ddb305c9e36fac17a024d7dc9c3f..b830da6163c6a55c8f12c219a6d00c7a479338da:/methods/http.cc?ds=sidebyside

diff --git a/methods/http.cc b/methods/http.cc
index acf25a42a..fddf8a78e 100644
--- a/methods/http.cc
+++ b/methods/http.cc
@@ -685,8 +685,12 @@ void HttpMethod::SendReq(FetchItem *Itm,CircleBuf &Out)
       pass it on, HTTP/1.1 says the connection should default to keep alive
       and we expect the proxy to do this */
    if (Proxy.empty() == true || Proxy.Host.empty())
+   {
+      // see LP bugs #1003633 and #1086997. The "+" is encoded as a workaround
+      // for a amazon S3 bug
       sprintf(Buf,"GET %s HTTP/1.1\r\nHost: %s\r\nConnection: keep-alive\r\n",
-	      QuoteString(Uri.Path,"~").c_str(),ProperHost.c_str());
+	      QuoteString(Uri.Path,"+~ ").c_str(),ProperHost.c_str());
+   }
    else
    {
       /* Generate a cache control header if necessary. We place a max