diff options
author | Michael Vogt <mvo@debian.org> | 2013-11-29 13:39:45 +0100 |
---|---|---|
committer | Michael Vogt <mvo@debian.org> | 2013-11-29 13:39:45 +0100 |
commit | e4a93f90b2e50f6833f7146496e574a5a9cedaca (patch) | |
tree | 836dd5e70b394f9996d4af0bdfcd52d2a388a007 /apt-pkg/contrib/hashes.cc | |
parent | fdef7c5e3a19c5f35ee952598124d0fe8d03c7ec (diff) | |
parent | faeb435cab7b41a50c621ef9f96853d15c57d0d8 (diff) |
Merge remote-tracking branch 'mvo/debian/sid' into debian/sid
Conflicts:
apt-private/private-cmndline.cc
Diffstat (limited to 'apt-pkg/contrib/hashes.cc')
-rw-r--r-- | apt-pkg/contrib/hashes.cc | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/apt-pkg/contrib/hashes.cc b/apt-pkg/contrib/hashes.cc index e1a431823..b4c768db9 100644 --- a/apt-pkg/contrib/hashes.cc +++ b/apt-pkg/contrib/hashes.cc @@ -55,6 +55,26 @@ HashString::HashString(std::string StringedHash) /*{{{*/ /*}}}*/ bool HashString::VerifyFile(std::string filename) const /*{{{*/ { + std::string fileHash = GetHashForFile(filename); + + if(_config->FindB("Debug::Hashes",false) == true) + std::clog << "HashString::VerifyFile: got: " << fileHash << " expected: " << toStr() << std::endl; + + return (fileHash == Hash); +} + /*}}}*/ +bool HashString::FromFile(std::string filename) /*{{{*/ +{ + // pick the strongest hash + if (Type == "") + Type = _SupportedHashes[0]; + + Hash = GetHashForFile(filename); + return true; +} + /*}}}*/ +std::string HashString::GetHashForFile(std::string filename) const /*{{{*/ +{ std::string fileHash; FileFd Fd(filename, FileFd::ReadOnly); @@ -84,10 +104,7 @@ bool HashString::VerifyFile(std::string filename) const /*{{{*/ } Fd.Close(); - if(_config->FindB("Debug::Hashes",false) == true) - std::clog << "HashString::VerifyFile: got: " << fileHash << " expected: " << toStr() << std::endl; - - return (fileHash == Hash); + return fileHash; } /*}}}*/ const char** HashString::SupportedHashes() |