summaryrefslogtreecommitdiff
path: root/src/MetalinkParserController.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-05-14 14:11:56 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2010-05-14 14:11:56 +0000
commitb305edd7c5ccd2c0ca78ecb3e92f9840065b5c31 (patch)
treec2af0bb7f71522652ea1cf71f915345e1889b691 /src/MetalinkParserController.cc
parent88475a6aa092f402ca8bad19378e7e030480c533 (diff)
2010-05-14 Tatsuhiro Tsujikawa <t-tujikawa@users.sourceforge.net>
Left only IANA hash function textual name in messageDigest.cc. Assign only IANA hash function textual name to Checksum and ChunkChecksum. Fixed the value of MessageDigestContext::MD5. * src/Checksum.h * src/MetalinkParserController.cc * src/messageDigest.cc * src/messageDigest.h * test/IteratableChecksumValidatorTest.cc * test/IteratableChunkChecksumValidatorTest.cc * test/MessageDigestHelperTest.cc * test/Metalink2RequestGroupTest.cc * test/MetalinkProcessorTest.cc
Diffstat (limited to 'src/MetalinkParserController.cc')
-rw-r--r--src/MetalinkParserController.cc32
1 files changed, 13 insertions, 19 deletions
diff --git a/src/MetalinkParserController.cc b/src/MetalinkParserController.cc
index 9c228a56..6944fbb5 100644
--- a/src/MetalinkParserController.cc
+++ b/src/MetalinkParserController.cc
@@ -53,15 +53,6 @@
namespace aria2 {
-#ifdef ENABLE_MESSAGE_DIGEST
-static bool isValidHash(const std::string& algo, const std::string& hash)
-{
- return util::isHexDigit(hash) &&
- MessageDigestContext::supports(algo) &&
- MessageDigestContext::digestLength(algo)*2 == hash.size();
-}
-#endif // ENABLE_MESSAGE_DIGEST
-
MetalinkParserController::MetalinkParserController():
_metalinker(new Metalinker())
{}
@@ -272,8 +263,9 @@ void MetalinkParserController::setTypeOfChecksum(const std::string& type)
if(_tChecksum.isNull()) {
return;
}
- if(MessageDigestContext::supports(type)) {
- _tChecksum->setAlgo(type);
+ std::string calgo = MessageDigestContext::getCanonicalAlgo(type);
+ if(MessageDigestContext::supports(calgo)) {
+ _tChecksum->setAlgo(calgo);
} else {
cancelChecksumTransaction();
}
@@ -286,7 +278,7 @@ void MetalinkParserController::setHashOfChecksum(const std::string& md)
if(_tChecksum.isNull()) {
return;
}
- if(isValidHash(_tChecksum->getAlgo(), md)) {
+ if(MessageDigestContext::isValidHash(_tChecksum->getAlgo(), md)) {
_tChecksum->setMessageDigest(md);
} else {
cancelChecksumTransaction();
@@ -333,8 +325,9 @@ void MetalinkParserController::setTypeOfChunkChecksumV4(const std::string& type)
if(_tChunkChecksumV4.isNull()) {
return;
}
- if(MessageDigestContext::supports(type)) {
- _tChunkChecksumV4->setAlgo(type);
+ std::string calgo = MessageDigestContext::getCanonicalAlgo(type);
+ if(MessageDigestContext::supports(calgo)) {
+ _tChunkChecksumV4->setAlgo(calgo);
} else {
cancelChunkChecksumTransactionV4();
}
@@ -361,7 +354,7 @@ void MetalinkParserController::addHashOfChunkChecksumV4(const std::string& md)
if(_tChunkChecksumV4.isNull()) {
return;
}
- if(isValidHash(_tChunkChecksumV4->getAlgo(), md)) {
+ if(MessageDigestContext::isValidHash(_tChunkChecksumV4->getAlgo(), md)) {
_tempChunkChecksumsV4.push_back(md);
} else {
cancelChunkChecksumTransactionV4();
@@ -411,8 +404,9 @@ void MetalinkParserController::setTypeOfChunkChecksum(const std::string& type)
if(_tChunkChecksum.isNull()) {
return;
}
- if(MessageDigestContext::supports(type)) {
- _tChunkChecksum->setAlgo(type);
+ std::string calgo = MessageDigestContext::getCanonicalAlgo(type);
+ if(MessageDigestContext::supports(calgo)) {
+ _tChunkChecksum->setAlgo(calgo);
} else {
cancelChunkChecksumTransaction();
}
@@ -439,7 +433,7 @@ void MetalinkParserController::addHashOfChunkChecksum(size_t order, const std::s
if(_tChunkChecksum.isNull()) {
return;
}
- if(isValidHash(_tChunkChecksum->getAlgo(), md)) {
+ if(MessageDigestContext::isValidHash(_tChunkChecksum->getAlgo(), md)) {
_tempChunkChecksums.push_back(std::make_pair(order, md));
} else {
cancelChunkChecksumTransaction();
@@ -463,7 +457,7 @@ void MetalinkParserController::setMessageDigestOfChunkChecksum(const std::string
if(_tChunkChecksum.isNull()) {
return;
}
- if(isValidHash(_tChunkChecksum->getAlgo(), md)) {
+ if(MessageDigestContext::isValidHash(_tChunkChecksum->getAlgo(), md)) {
_tempHashPair.second = md;
} else {
cancelChunkChecksumTransaction();