diff options
author | 2010-07-26 15:49:44 +0300 | |
---|---|---|
committer | 2010-07-26 15:49:44 +0300 | |
commit | 5150d35df6e1a56c2e66b33aac9e86a3503b1bb7 (patch) | |
tree | 2d2b7764a5590decdca045dcbab89e06599f476f /segget/checksum.cpp | |
parent | Implement checks for both (proxy_fetcher and request_server) queues. (diff) | |
download | idfetch-5150d35df6e1a56c2e66b33aac9e86a3503b1bb7.tar.gz idfetch-5150d35df6e1a56c2e66b33aac9e86a3503b1bb7.tar.bz2 idfetch-5150d35df6e1a56c2e66b33aac9e86a3503b1bb7.zip |
Check all set checksums, checksums are optional
Diffstat (limited to 'segget/checksum.cpp')
-rw-r--r-- | segget/checksum.cpp | 63 |
1 files changed, 49 insertions, 14 deletions
diff --git a/segget/checksum.cpp b/segget/checksum.cpp index cb36561..396c196 100644 --- a/segget/checksum.cpp +++ b/segget/checksum.cpp @@ -28,16 +28,21 @@ bool rmd160_ok(string distfile_filename, string portage_hash){ try{ + if (portage_hash=="") return true; std::string digest; CryptoPP::RIPEMD160 hash; CryptoPP::FileSource distfile_to_hash(distfile_filename.c_str(), true, new CryptoPP::HashFilter(hash, new CryptoPP::HexEncoder( new CryptoPP::StringSink(digest)))); - if (portage_hash==noupper(digest)) + if (portage_hash==noupper(digest)){ + log("RMD160 checksum for distfile:"+distfile_filename+" is [OK]"); return true; - else + }else{ + log("Error: RMD160 checksum for distfile:"+distfile_filename+" [FAILED]"); + error_log("Error: RMD160 checksum for distfile:"+distfile_filename+" [FAILED]"); return false; + } }catch(...){ error_log("Error in checksum.cpp : rmd160_ok()"); return false; @@ -45,6 +50,7 @@ bool rmd160_ok(string distfile_filename, string portage_hash){ } bool sha1_ok(string distfile_filename, string portage_hash){ try{ + if (portage_hash=="") return true; std::string digest; CryptoPP::SHA1 hash; CryptoPP::FileSource distfile_to_hash(distfile_filename.c_str(), true, @@ -52,10 +58,14 @@ bool sha1_ok(string distfile_filename, string portage_hash){ new CryptoPP::HexEncoder( new CryptoPP::StringSink(digest)))); // debug("SHA1:"+noupper(digest)); - if (portage_hash==noupper(digest)) + if (portage_hash==noupper(digest)){ + log("SHA1 checksum for distfile:"+distfile_filename+" is [OK]"); return true; - else + }else{ + log("Error: SHA1 checksum for distfile:"+distfile_filename+" [FAILED]"); + error_log("Error: SHA1 checksum for distfile:"+distfile_filename+" [FAILED]"); return false; + } }catch(...){ error_log("Error in checksum.cpp : sha1_ok()"); return false; @@ -63,6 +73,7 @@ bool sha1_ok(string distfile_filename, string portage_hash){ } bool sha256_ok(string distfile_filename, string portage_hash){ try{ + if (portage_hash=="") return true; std::string digest; CryptoPP::SHA256 hash; CryptoPP::FileSource distfile_to_hash(distfile_filename.c_str(), true, @@ -70,10 +81,14 @@ bool sha256_ok(string distfile_filename, string portage_hash){ new CryptoPP::HexEncoder( new CryptoPP::StringSink(digest)))); // debug("SHA256:"+noupper(digest)); - if (portage_hash==noupper(digest)) + if (portage_hash==noupper(digest)){ + log("SHA256 checksum for distfile:"+distfile_filename+" is [OK]"); return true; - else + }else{ + log("Error: SHA256 checksum for distfile:"+distfile_filename+" [FAILED]"); + error_log("Error: SHA256 checksum for distfile:"+distfile_filename+" [FAILED]"); return false; + } }catch(...){ error_log("Error in checksum.cpp : sha256_ok()"); return false; @@ -81,6 +96,7 @@ bool sha256_ok(string distfile_filename, string portage_hash){ } bool sha512_ok(string distfile_filename, string portage_hash){ try{ + if (portage_hash=="") return true; std::string digest; CryptoPP::SHA512 hash; CryptoPP::FileSource distfile_to_hash(distfile_filename.c_str(), true, @@ -88,10 +104,14 @@ bool sha512_ok(string distfile_filename, string portage_hash){ new CryptoPP::HexEncoder( new CryptoPP::StringSink(digest)))); // debug("SHA256:"+noupper(digest)); - if (portage_hash==noupper(digest)) + if (portage_hash==noupper(digest)){ + log("SHA512 checksum for distfile:"+distfile_filename+" is [OK]"); return true; - else + }else{ + log("Error: SHA512 checksum for distfile:"+distfile_filename+" [FAILED]"); + error_log("Error: SHA512 checksum for distfile:"+distfile_filename+" [FAILED]"); return false; + } }catch(...){ error_log("Error in checksum.cpp : sha512_ok()"); return false; @@ -99,6 +119,7 @@ bool sha512_ok(string distfile_filename, string portage_hash){ } bool whirlpool_ok(string distfile_filename, string portage_hash){ try{ + if (portage_hash=="") return true; std::string digest; CryptoPP::Whirlpool hash; CryptoPP::FileSource distfile_to_hash(distfile_filename.c_str(), true, @@ -106,10 +127,14 @@ bool whirlpool_ok(string distfile_filename, string portage_hash){ new CryptoPP::HexEncoder( new CryptoPP::StringSink(digest)))); // debug("SHA256:"+noupper(digest)); - if (portage_hash==noupper(digest)) + if (portage_hash==noupper(digest)){ + log("WHIRLPOOL checksum for distfile:"+distfile_filename+" is [OK]"); return true; - else + }else{ + log("Error: WHIRLPOOL checksum for distfile:"+distfile_filename+" [FAILED]"); + error_log("Error: WHIRLPOOL checksum for distfile:"+distfile_filename+" [FAILED]"); return false; + } }catch(...){ error_log("Error in checksum.cpp : whirlpool_ok()"); return false; @@ -117,6 +142,7 @@ bool whirlpool_ok(string distfile_filename, string portage_hash){ } bool md5_ok(string distfile_filename, string portage_hash){ try{ + if (portage_hash=="") return true; std::string digest; CryptoPP::Weak::MD5 hash; CryptoPP::FileSource distfile_to_hash(distfile_filename.c_str(), true, @@ -124,10 +150,14 @@ bool md5_ok(string distfile_filename, string portage_hash){ new CryptoPP::HexEncoder( new CryptoPP::StringSink(digest)))); // debug("SHA256:"+noupper(digest)); - if (portage_hash==noupper(digest)) + if (portage_hash==noupper(digest)){ + log("MD5 checksum for distfile:"+distfile_filename+" is [OK]"); return true; - else + }else{ + log("Error: MD5 checksum for distfile:"+distfile_filename+" [FAILED]"); + error_log("Error: MD5 checksum for distfile:"+distfile_filename+" [FAILED]"); return false; + } }catch(...){ error_log("Error in checksum.cpp : md5_ok()"); return false; @@ -135,6 +165,7 @@ bool md5_ok(string distfile_filename, string portage_hash){ } bool crc32_ok(string distfile_filename, string portage_hash){ try{ + if (portage_hash=="") return true; std::string digest; CryptoPP::CRC32 hash; CryptoPP::FileSource distfile_to_hash(distfile_filename.c_str(), true, @@ -142,10 +173,14 @@ bool crc32_ok(string distfile_filename, string portage_hash){ new CryptoPP::HexEncoder( new CryptoPP::StringSink(digest)))); // debug("SHA256:"+noupper(digest)); - if (portage_hash==noupper(digest)) + if (portage_hash==noupper(digest)){ + log("CRC32 checksum for distfile:"+distfile_filename+" is [OK]"); return true; - else + }else{ + log("Error: CRC32 checksum for distfile:"+distfile_filename+" [FAILED]"); + error_log("Error: CRC32 checksum for distfile:"+distfile_filename+" [FAILED]"); return false; + } }catch(...){ error_log("Error in checksum.cpp : crc32_ok()"); return false; |