[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#738785: aptitude: (remote) changelogs is broken after packages.d.o move to https



On Wed, Feb 12, 2014 at 23:30:40 +0100, Raphael Geissert wrote:

> Package: aptitude
> 
> Hi,
> 
> As of an hour ago packages.d.o redirects traffic to https, making aptitude 
> fail to download the changelogs, resulting in
> E: Changelog download failed: 302  Found [IP: 5.153.231.3 80]
> E: Couldn't find a changelog for $package
> 
> DSA has worked around it for now by excluding APT's http method from the 
> redirection, but they'd like this issue to be fixed. Hence this email.
> 
Seems to be an apt "feature".  After patching it out with

diff --git a/methods/server.cc b/methods/server.cc
index e12c23c..e07599c 100644
--- a/methods/server.cc
+++ b/methods/server.cc
@@ -294,7 +294,7 @@ ServerMethod::DealWithHeaders(FetchResult &Res)
          NextURI = DeQuoteString(Server->Location);
          URI tmpURI = NextURI;
          // Do not allow a redirection to switch protocol
-         if (tmpURI.Access == "http")
+         if (1 || tmpURI.Access == "http")
             return TRY_AGAIN_OR_REDIRECT;
       }
       /* else pass through for error message */

I was able to get apt-get changelog to work.  My test case is

apt-get -o Acquire::ForceIPv4=yes -o Apt::Changelogs::Server=http://www.cristau.org/blah changelog tor

with a

RewriteRule ^/blah/(.*) https://packages.debian.org/changelogs/$1 [L]

in my apache config (the forceipv4 is needed due to unrelated breakage
at the hosting provider).
I still get a message like this, though:

W: Size of file /tmp/apt-changelog-TfnbZ1changelog is not what the server reported 77136 338

I guess something's keeping the size from one of the redirects instead
of the 200.

I couldn't get aptitude changelog to obey Apt::Changelogs::Server for
some reason, so I don't know if that's enough to fix it.

Cheers,
Julien

Attachment: signature.asc
Description: Digital signature


Reply to: