diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-02-27 14:24:15 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2010-02-27 14:24:15 +0000 |
| commit | 18d7eb5b77c15ecdbc80f18243dc693a8b4b1b3b (patch) | |
| tree | b317d1300599a224dac88b35d6b43fcc2a9f58e6 /src/MetalinkParserController.cc | |
| parent | e8d091af188e15c9003e02c316a8f25fd1cfd31b (diff) | |
2010-02-27 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Added MessageDigest::isStronger(). Now aria2 selects stronger hash
algorithm in Metalink properly
* src/MetalinkParserController.cc
* src/MetalinkParserController.h
* src/messageDigest.cc
* src/messageDigest.h
* test/MetalinkProcessorTest.cc
* test/metalink4.xml
Diffstat (limited to 'src/MetalinkParserController.cc')
| -rw-r--r-- | src/MetalinkParserController.cc | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/MetalinkParserController.cc b/src/MetalinkParserController.cc index f6d5ab81..ca47781f 100644 --- a/src/MetalinkParserController.cc +++ b/src/MetalinkParserController.cc @@ -54,8 +54,6 @@ namespace aria2 { -const std::string MetalinkParserController::SHA1("sha1");// Metalink3Spec - MetalinkParserController::MetalinkParserController(): _metalinker(new Metalinker()) {} @@ -293,10 +291,8 @@ void MetalinkParserController::commitChecksumTransaction() return; } if(_tEntry->checksum.isNull() || - // Metalink3Spec - (_tEntry->checksum->getAlgo() != MetalinkParserController::SHA1 && - // Metalink4Spec - _tEntry->checksum->getAlgo() != MessageDigestContext::SHA1)) { + MessageDigestContext::isStronger(_tChecksum->getAlgo(), + _tEntry->checksum->getAlgo())) { _tEntry->checksum = _tChecksum; } _tChecksum.reset(); @@ -366,7 +362,8 @@ void MetalinkParserController::commitChunkChecksumTransactionV4() return; } if(_tEntry->chunkChecksum.isNull() || - _tEntry->chunkChecksum->getAlgo() != MessageDigestContext::SHA1) { + MessageDigestContext::isStronger(_tChunkChecksumV4->getAlgo(), + _tEntry->chunkChecksum->getAlgo())) { std::deque<std::string> checksums(_tempChunkChecksumsV4.begin(), _tempChunkChecksumsV4.end()); _tChunkChecksumV4->setChecksums(checksums); @@ -469,11 +466,14 @@ void MetalinkParserController::commitChunkChecksumTransaction() return; } if(_tEntry->chunkChecksum.isNull() || - _tEntry->chunkChecksum->getAlgo() != MetalinkParserController::SHA1) { - std::sort(_tempChunkChecksums.begin(), _tempChunkChecksums.end(), Ascend1st<std::pair<size_t, std::string> >()); + MessageDigestContext::isStronger(_tChunkChecksum->getAlgo(), + _tEntry->chunkChecksum->getAlgo())) { + std::sort(_tempChunkChecksums.begin(), _tempChunkChecksums.end(), + Ascend1st<std::pair<size_t, std::string> >()); std::deque<std::string> checksums; std::transform(_tempChunkChecksums.begin(), _tempChunkChecksums.end(), - std::back_inserter(checksums), select2nd<std::pair<size_t, std::string> >()); + std::back_inserter(checksums), + select2nd<std::pair<size_t, std::string> >()); _tChunkChecksum->setChecksums(checksums); _tEntry->chunkChecksum = _tChunkChecksum; } |
