1
0
mirror of https://github.com/pi-hole/pi-hole synced 2024-12-22 14:58:08 +00:00

Check sha1 of transferred file.

Sha1sum file in temp directory.

Signed-off-by: Dan Schaper <dan.schaper@pi-hole.net>
This commit is contained in:
Dan Schaper 2017-02-20 14:44:34 -08:00 committed by Dan Schaper
parent 057cecb3e0
commit cde7b53de3
No known key found for this signature in database
GPG Key ID: 572E999E385B7BFC

View File

@ -1157,7 +1157,7 @@ FTLinstall() {
local binary="${1}"
local latesttag
echo ":::"
echo -n "::: Installing FTL ... "
echo -n "::: Installing FTL... "
latesttag=$(curl -sI https://github.com/pi-hole/FTL/releases/latest | grep "Location" | awk -F '/' '{print $NF}')
# Tags should always start with v, check for that.
@ -1165,10 +1165,12 @@ FTLinstall() {
echo "failed (error in getting latest release location from GitHub)"
return 1
fi
if curl -sSL --fail "https://github.com/pi-hole/FTL/releases/download/${latesttag%$'\r'}/${binary}" -o "/tmp/pihole-FTL"; then
if curl -sSL --fail "https://github.com/pi-hole/FTL/releases/download/${latesttag%$'\r'}/${binary}" -o "/tmp/${binary}"; then
# Get sha1 of the binary we just downloaded for verification.
curl -sSL --fail "https://github.com/pi-hole/FTL/releases/download/${latesttag%$'\r'}/${binary}.sha1" -o "/tmp/${binary}.sha1"
# Check if we just downloaded text, or a binary file.
if ! grep -qI '.' /tmp/pihole-FTL; then
echo "done"
if sha1sum -c /tmp/"${binary}".sha1 /tmp/"${binary}"; then
echo -n "transferred... "
install -m 0755 /tmp/pihole-FTL /usr/bin
touch /var/log/pihole-FTL.log /var/run/pihole-FTL.pid /var/run/pihole-FTL.port
chmod 0666 /var/log/pihole-FTL.log /var/run/pihole-FTL.pid /var/run/pihole-FTL.port
@ -1177,7 +1179,7 @@ FTLinstall() {
echo "failed (download of binary from Github failed)"
return 1
fi
echo "done"
echo "done."
else
echo "failed (URL not found.)"
fi