From c1409d1be88557529c62883be3174793481233de Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 12 Mar 2014 20:33:05 +0100 Subject: add hashsum support in apt-file download and add more tests --- cmdline/apt-helper.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'cmdline/apt-helper.cc') diff --git a/cmdline/apt-helper.cc b/cmdline/apt-helper.cc index c1c8b2178..4a24b01d9 100644 --- a/cmdline/apt-helper.cc +++ b/cmdline/apt-helper.cc @@ -44,6 +44,9 @@ bool DoDownloadFile(CommandLine &CmdL) Fetcher.Setup(&Stat); std::string download_uri = CmdL.FileList[1]; std::string targetfile = CmdL.FileList[2]; + HashString hash; + if (CmdL.FileSize() > 3) + hash = HashString(CmdL.FileList[3]); new pkgAcqFile(&Fetcher, download_uri, "", 0, "desc", "short-desc", "dest-dir-ignored", targetfile); Fetcher.Run(); @@ -52,6 +55,14 @@ bool DoDownloadFile(CommandLine &CmdL) _error->Error(_("Download Failed")); return false; } + if(hash.empty() == false) + if(hash.VerifyFile(targetfile) == false) + { + _error->Error(_("HashSum Failed")); + Rename(targetfile, targetfile+".failed"); + return false; + } + return true; } -- cgit v1.2.3