Commit dc033ac6 authored by Lorenz Wenner's avatar Lorenz Wenner

geändert: firmware-signieren.sh

	diverse bugfixes
parent 9ac46825
Pipeline #1372 failed with stages
#!/bin/sh
GLUONPATH=$HOME/no-backup/gluon # <- pass mich an
SITECONF=$HOME/no-backup/siteconf/site.conf # <- pass mich an
SITECONF=$GLUONPATH/site/site.conf # <- pass mich an
FREIFUNKPATH=$HOME/Dokumente/Freifunk # <- pass mich an
VERSION="20180709" # <- pass mich an
VERSION="20181124" # <- pass mich an
SECRETPATH=$FREIFUNKPATH/Firmware/release_keys/ #<- pass mich an
FILE=stable.manifest
MYPUBKEY=$(ecdsakeygen -p < "$SECRETPATH"/secret)
......@@ -13,11 +13,13 @@ cd "$FREIFUNKPATH" || exit
for i in l2tp fastd; do
wget -qO $i.$VERSION.$FILE firmware.ffnw.de/$i/$VERSION/sysupgrade/$FILE
csplit -s -f $i.$VERSION.$FILE-part $i.$VERSION.$FILE '/---/'
grep -v - $i.$VERSION.$FILE-part01 | while read sign; do
sed -i '1d' $i.$VERSION.$FILE-part01
while read sign; do
ecdsaverify -s "$sign" -p "$MYPUBKEY" "$i.$VERSION.$FILE-part00"
result=$?
if [ $result -eq "0" ]; then
echo "Die Signatur $sign passt zu deinem eigenen öffentlichen Schlüssel. Anscheinend hast du das Manifest $i.$VERSION.$FILE bereits signiert. Hier gibt es nichts mehr zu tun."
echo "Signatur $sign passt zu deinem eigenen öffentlichen Schlüssel. Anscheinend hast du das Manifest $i.$VERSION.$FILE bereits signiert. Hier gibt es nichts mehr zu tun."
validity=false
break
fi
for pubkey in $(grep ", --" "$SITECONF" | grep -oE '[a-f0-9]{64}' | sort -u); do
......@@ -25,17 +27,18 @@ for i in l2tp fastd; do
ecdsaverify -s "$sign" -p "$pubkey" "$i.$VERSION.$FILE-part00"
result=$?
if [ $result -eq "0" ]; then
#echo "Signatur $sign ist valide"
echo "Signatur $sign ist valide und stammt von $(grep -m1 $pubkey $SITECONF | sed 's/[^,]*, --\(.*\)/\1/g')"
validity=true
break
fi
done
if [ "$validity" = "false" ]; then
echo "Signatur $sign ist nicht valide. Breche hier ab"
break
fi
done
done < $i.$VERSION.$FILE-part01
if [ "$validity" = "true" ]; then
echo "Alle vorhandern Signaturen sind valide. Erzeuge jetzt eigene Signatur"
echo "Alle vorhandenen Signaturen sind valide. Erzeuge jetzt eigene Signatur"
"$GLUONPATH"/contrib/sign.sh "$SECRETPATH"/secret $i.$VERSION.stable.manifest
#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 $i.$VERSION.$FILE zu firmware.ffnw.de hochgeladen und dort an den entsprechenden Ort kopiert werden? (j/N)"
......
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