diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2010-08-24 21:44:11 +0200 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2010-08-24 21:44:11 +0200 |
commit | 17ea77d3332ce3abbbc96a9e110a37ae055ac422 (patch) | |
tree | 611708d199721f5bca0ea4826d03da0016f3780d /methods/http.cc | |
parent | 7e32e3e58d5499056b17acd0a9992704e3f55951 (diff) | |
parent | 39ee79d5b84390ae79d8cce9389c1541bcd68a25 (diff) |
* merged from debian/unstable
* merge of the debian-expermental-ma branch
* refresh po/pot files in doc/ and po/
* Fix spelling error in cmdline/apt-get.cc. Thanks to Osamu Aoki
Closes: #594211
* Swedish (Daniel Nylander). Closes: #592366
* French (Christian Perrier)
* Thai (Theppitak Karoonboonyanan). Closes: #592695
* Russian (Yuri Kozlov). Closes: #594232
* French (Christian Perrier)
* apt-pkg/contrib/strutl.cc:
- fix error checking for vsnprintf in its safe variant
* methods/bzip2.cc:
- fix error checking for read in case of failing bzip2/lzma/whatever
* debian/apt.cron.daily:
- create backups for our extended_states file (Closes: #593430)
* apt-pkg/init.cc:
- set the default values for dir::etc::trusted options correctly
* ftparchive/writer.cc:
- init valid-until correctly to prevent garbage entering Release file
* apt-pkg/deb/debsystem.cc:
- set dir::state::status based at least on dir
* apt-pkg/deb/dpkgpm.cc:
- use the InstVer instead of the CurrentVer for the autobit transfer
* methods/http.cc:
- some http servers violate HTTP1.1 by not issuing a Reason-Phrase
(or at least a space after the code) especially for 200, but lets
be nice and ignore it as we don't need the reason in general
* apt-pkg/acquire-item.cc:
- don't use ReadOnlyGzip mode for PDiffs as this mode doesn't work
in combination with the AddFd methods of our hashclasses
Diffstat (limited to 'methods/http.cc')
-rw-r--r-- | methods/http.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/methods/http.cc b/methods/http.cc index 9fa74bffa..25e31de9a 100644 --- a/methods/http.cc +++ b/methods/http.cc @@ -553,8 +553,14 @@ 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, - &Result,Code) != 4) + int const elements = sscanf(Line.c_str(),"HTTP/%u.%u %u%[^\n]",&Major,&Minor,&Result,Code); + if (elements == 3) + { + Code[0] = '\0'; + if (Debug == true) + clog << "HTTP server doesn't give Reason-Phrase for " << Result << std::endl; + } + else if (elements != 4) return _error->Error(_("The HTTP server sent an invalid reply header")); } else |