Commit 29440868 authored by Lorenz Wenner's avatar Lorenz Wenner

Invalid sign no break

parent 2ac00270
......@@ -16,21 +16,19 @@ if [ ! -L secret ]; then
fi
fi
if [ -d gluon ]; then
cd gluon || exit; git pull
cd gluon || exit; git pull --ff-only
else
git clone https://github.com/freifunk-gluon/gluon.git; cd gluon || exit
fi
if [ -d site ]; then
cd site || exit; git pull
cd site || exit; git pull --ff-only
else
git clone git@git.ffnw.de:ffnw-firmware/siteconf.git site
fi
cd "$WORKINGDIR" || exit
SITECONF=gluon/site/site.conf
#read -p "Wo liegt dein Signaturschlüssel? [release_keys]: " SECRETPATH
#SECRETPATH=${SECRETPATH:-$HOME/Dokumente/Freifunk/Firmware/release_keys}
read -p "Welches Release willst du signieren? [20200525]: " RELEASE
RELEASE=${RELEASE:-20200525}
read -p "Welches Release willst du signieren? [20200820]: " RELEASE
RELEASE=${RELEASE:-20200820}
FILE=stable.manifest
MYPUBKEY=$(ecdsakeygen -p < secret)
cd "$FREIFUNKPATH" || exit
......@@ -50,34 +48,27 @@ for VPN in l2tp; do
break
fi
for pubkey in $(grep ", --" "$SITECONF" | grep -oE '[a-f0-9]{64}' | sort -u); do
validity=false
ecdsaverify -s "$sign" -p "$pubkey" "$VPN.$RELEASE.$FILE-part00"
result=$?
if [ $result -eq "0" ]; then
echo Die Signatur "${sign:0:6}"... ist valide und stammt von "$(grep -m1 "$pubkey" "$SITECONF" | sed 's/[^,]*, --\(.*\)/\1/g')"
validity=true
break
continue 2
fi
done
if [ "$validity" = "false" ]; then
echo "Signatur ${sign:0:6}... ist nicht valide. Breche hier ab"
break
fi
done < "$VPN.$RELEASE.$FILE-part01"
if [ "$validity" = "true" ]; then
echo "Alle vorhandenen Signaturen sind valide. Erzeuge jetzt eigene Signatur"
gluon/contrib/sign.sh secret "$VPN.$RELEASE.$FILE"
#folgenden Befehl am besten händisch ausführen, wenn alles andere gelappt hat
echo "Danke für die Signatur! Soll das nun auch von dir signierte manifest $VPN.$RELEASE.$FILE zu firmware.ffnw.de hochgeladen und dort an den entsprechenden Ort kopiert werden? (j/N)"
read answer
if [ "$answer" = "j" ];then
scp "$VPN.$RELEASE.$FILE" firmware.ffnw.de:~
ssh firmware.ffnw.de sudo cp "$VPN.$RELEASE.$FILE" "/var/www/dev/firmware/$VPN/$RELEASE/sysupgrade/$FILE"
else
echo "ok, es wird erstmal nichts hochgeladen. Falls du das zu einem späteren Zeitpunkt manuell tun möchtest, geht das zB mit folgenden Befehlen,"
echo "aber stelle bitte vorher sicher, dass in der Zwischenzeit niemand anders signiert hat. In diesem Fall ist es besser, dieses Skript erneut auszuführen."
echo "scp $VPN.$RELEASE.$FILE firmware.ffnw.de:~"
echo "ssh firmware.ffnw.de \"sudo cp $VPN.$RELEASE.$FILE /var/www/dev/firmware/$VPN/$RELEASE/sysupgrade/$FILE\""
fi
fi
echo -e "\e[31mDie Signatur ${sign:0:6}... ist nicht valide. Das heißt, dass der zugehörige sign-key nicht in der aktuellen site-conf steht. Ich mache trotzdem erstmal weiter, aber überlege bitte erst, bevor du das Manifest wieder hochlädst.\e[0m"
done < "$VPN.$RELEASE.$FILE-part01"
echo "Erzeuge jetzt eigene Signatur"
gluon/contrib/sign.sh secret "$VPN.$RELEASE.$FILE"
#folgenden Befehl am besten händisch ausführen, wenn alles andere gelappt hat
echo "Danke für die Signatur! Soll das nun auch von dir signierte manifest $VPN.$RELEASE.$FILE zu firmware.ffnw.de hochgeladen und dort an den entsprechenden Ort kopiert werden? (j/N)"
read answer
if [ "$answer" = "j" ];then
scp "$VPN.$RELEASE.$FILE" firmware.ffnw.de:~
ssh firmware.ffnw.de sudo cp "$VPN.$RELEASE.$FILE" "/var/www/dev/firmware/$VPN/$RELEASE/sysupgrade/$FILE"
else
echo "ok, es wird erstmal nichts hochgeladen. Falls du das zu einem späteren Zeitpunkt manuell tun möchtest, geht das zB mit folgenden Befehlen,"
echo "aber stelle bitte vorher sicher, dass in der Zwischenzeit niemand anders signiert hat. In diesem Fall ist es besser, dieses Skript erneut auszuführen."
echo "scp $VPN.$RELEASE.$FILE firmware.ffnw.de:~"
echo "ssh firmware.ffnw.de \"sudo cp $VPN.$RELEASE.$FILE /var/www/dev/firmware/$VPN/$RELEASE/sysupgrade/$FILE\""
fi
done
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment