diff options
author | Michael Vogt <michael.vogt@ubuntu.com> | 2007-08-03 12:18:12 +0200 |
---|---|---|
committer | Michael Vogt <michael.vogt@ubuntu.com> | 2007-08-03 12:18:12 +0200 |
commit | f060e833f53ba3ed0024f8a2bebfc78e8aa552f2 (patch) | |
tree | ccf327402d9e02f24fdf95065c06c7a5dd2fa650 /apt-pkg/indexrecords.cc | |
parent | 3e8bdb6fe22d6feeca07d47e07c9b79ddd882c59 (diff) | |
parent | c3279b9d100fb62f412267512458b58dda40f95b (diff) |
* apt-inst/contrib/extracttar.cc:
- fix fd leak for zero size files (thanks to Bill Broadley for
reporting this bug)
* apt-pkg/acquire-item.cc:
- remove zero size files on I-M-S hit
* methods/https.cc:
- only send LastModified if we actually have one
- send range request with if-range
- delete failed downloads
* apt-pkg/deb/dpkgpm.{cc,h}:
- merged dpkg-log branch, this lets you specify a
Dir::Log::Terminal file to log dpkg output to
(ABI break)
* merged apt--sha256 branch to fully support the new
sha256 checksums in the Packages and Release files
(ABI break)
* Applied patch from Aurelien Jarno <aurel32@debian.org> to fix wrong
directory downloading on non-linux architectures (closes: #435597)
* Applied patch from Guillem Jover <guillem@debian.org> to use
* Applied patch from Guillem Jover <guillem@debian.org> to add
support to add lzma support (closes: #408201)
* methods/makefile:
- install lzma symlink method (for full lzma support)
* debian/control:
- suggest "lzma"
* Simplified HttpMethod::Fetch on http.cc removing Tail variable;
* Fix pipeline handling on http.cc (closes: #413324)
* Fix building to properly support binNMUs. Thanks to Daniel Schepler
<schepler@math.unipd.it> by the patch (closes: #359634)
* Fix example for Install-{Recommends,Suggests} options on
configure-index example file. Thanks to Peter Eisentraut
<peter_e@gmx.net> by the patch (closes: #432223)
* fixed compile errors with g++ 4.3 (thanks to
Daniel Burrows, closes: #429378)
* fixes in the auto-mark code (thanks to Daniel
Burrows)
* fix FTFBFS by changing build-depends to
libcurl4-gnutls-dev (closes: #428363)
* cmdline/apt-get.cc:
- fix InstallTask code when a pkgRecord ends
with a single '\n' (thanks to Soren Hansen for reporting)
* merged from Christian Perrier:
* vi.po: completed to 532t, again. Closes: #429899
* gl.po: completed to 532t. Closes: #429506
* vi.po: completed to 532t. Closes: #428672
* Update all PO and the POT. Gives 514t14f4u for formerly
complete translations
* fr.po: completed to 532t
* ku.po, uk.po, LINGUAS: reintegrate those translations
which disappeared from the BZR repositories
Diffstat (limited to 'apt-pkg/indexrecords.cc')
-rw-r--r-- | apt-pkg/indexrecords.cc | 48 |
1 files changed, 27 insertions, 21 deletions
diff --git a/apt-pkg/indexrecords.cc b/apt-pkg/indexrecords.cc index 396e1591f..502f454a8 100644 --- a/apt-pkg/indexrecords.cc +++ b/apt-pkg/indexrecords.cc @@ -50,32 +50,38 @@ bool indexRecords::Load(const string Filename) const char *Start, *End; Section.Get (Start, End, 0); + Suite = Section.FindS("Suite"); Dist = Section.FindS("Codename"); -// if (Dist.empty()) -// { -// ErrorText = _(("No Codename entry in Release file " + Filename).c_str()); -// return false; -// } - if (!Section.Find("MD5Sum", Start, End)) + + int i; + for (i=0;HashString::SupportedHashes()[i] != NULL; i++) { - ErrorText = _(("No MD5Sum entry in Release file " + Filename).c_str()); - return false; + if (!Section.Find(HashString::SupportedHashes()[i], Start, End)) + continue; + + string Name; + string Hash; + size_t Size; + while (Start < End) + { + if (!parseSumData(Start, End, Name, Hash, Size)) + return false; + indexRecords::checkSum *Sum = new indexRecords::checkSum; + Sum->MetaKeyFilename = Name; + Sum->Hash = HashString(HashString::SupportedHashes()[i],Hash); + Sum->Size = Size; + Entries[Name] = Sum; + } + break; } - string Name; - string MD5Hash; - size_t Size; - while (Start < End) + + if(HashString::SupportedHashes()[i] == NULL) { - if (!parseSumData(Start, End, Name, MD5Hash, Size)) - return false; - indexRecords::checkSum *Sum = new indexRecords::checkSum; - Sum->MetaKeyFilename = Name; - Sum->MD5Hash = MD5Hash; - Sum->Size = Size; - Entries[Name] = Sum; - } - + ErrorText = _(("No Hash entry in Release file " + Filename).c_str()); + return false; + } + string Strdate = Section.FindS("Date"); // FIXME: verify this somehow? return true; } |