_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;
}
changetohttpswebserver -o 'aptwebserver::redirect::replace::/redirectme/=http://localhost:8080/'
+DOWNLOG='download-testfile.log'
msgtest 'normal http download works'
-downloadfile 'http://localhost:8080/pool/apt_1.0/changelog' changelog2 >/dev/null 2>/dev/null && msgpass || msgfail
+downloadfile 'http://localhost:8080/pool/apt_1.0/changelog' changelog2 > "$DOWNLOG" && msgpass || msgfail
msgtest 'normal https download works'
-downloadfile 'https://localhost:4433/pool/apt_1.0/changelog' changelog >/dev/null 2>/dev/null && msgpass || msgfail
+downloadfile 'https://localhost:4433/pool/apt_1.0/changelog' changelog > "$DOWNLOG" && msgpass || msgfail
msgtest 'redirecting https to http does not work'
- if ! downloadfile 'https://localhost:4433/redirectme/pool/apt_1.0/changelog' changelog3 > "$DOWNLOG"; then
- msgpass
- else
- cat >&2 "$DOWNLOG"
- msgfail
- fi
-
- msgtest 'https methods given proper error on redirect attempt'
- if grep -q 'Protocol http not supported or disabled in libcurl' "$DOWNLOG"; then
- msgpass
- else
- cat >&2 "$DOWNLOG"
- msgfail
- fi
+ downloadfile 'https://localhost:4433/redirectme/pool/apt_1.0/changelog' changelog3 2>&1 | grep "Protocol http not supported or disabled in libcurl" > /dev/null && msgpass || msgfail