From: David Kalnischkies Date: Tue, 18 Aug 2009 18:15:13 +0000 (+0200) Subject: Allow empty Reason-Phase in the Status-Lines, which is allowed by rtf X-Git-Tag: 0.7.23~1^2~2 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/dda7233c5d3879f2580543ead0ad7cd76196a160 Allow empty Reason-Phase in the Status-Lines, which is allowed by rtf http://www.w3.org/Protocols/rfc2616/rfc2616.html . Fixed by removing a space which will now be visibly in the errormessages, but as this errors should never happen anyway and an extra space doesn't harm we don't removed it. * methods/http.cc: - allow empty Reason-Phase in Status-Line to please squid, thanks Modestas Vainius for noticing! (Closes: #531157, LP: #411435) --- diff --git a/debian/changelog b/debian/changelog index 597ca91ff..4923f913f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -33,6 +33,9 @@ apt (0.7.22.3) unstable; urgency=low * doc/apt-get.8.xml: - update the source description to reflect what it actually does and how it can be used. (Closes: #413021) + * methods/http.cc: + - allow empty Reason-Phase in Status-Line to please squid, + thanks Modestas Vainius for noticing! (Closes: #531157, LP: #411435) [ George Danchev ] * cmdline/apt-cache.cc: diff --git a/methods/http.cc b/methods/http.cc index 006e89394..df62034e3 100644 --- a/methods/http.cc +++ b/methods/http.cc @@ -547,7 +547,7 @@ bool ServerState::HeaderLine(string Line) // Evil servers return no version if (Line[4] == '/') { - if (sscanf(Line.c_str(),"HTTP/%u.%u %u %[^\n]",&Major,&Minor, + if (sscanf(Line.c_str(),"HTTP/%u.%u %u%[^\n]",&Major,&Minor, &Result,Code) != 4) return _error->Error(_("The HTTP server sent an invalid reply header")); } @@ -555,7 +555,7 @@ bool ServerState::HeaderLine(string Line) { Major = 0; Minor = 9; - if (sscanf(Line.c_str(),"HTTP %u %[^\n]",&Result,Code) != 2) + if (sscanf(Line.c_str(),"HTTP %u%[^\n]",&Result,Code) != 2) return _error->Error(_("The HTTP server sent an invalid reply header")); }