glossy fix; removed old start
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
FILE=/tmp/$RANDOM
|
FILE=/tmp/$RANDOM
|
||||||
TOP=55
|
TOP=56
|
||||||
NEXTFIELD=5
|
NEXTFIELD=5
|
||||||
LEFT=23
|
LEFT=23
|
||||||
AUTHLEFT=66
|
AUTHLEFT=66
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
FILE=/tmp/$RANDOM
|
FILE=/tmp/$RANDOM
|
||||||
TOP=51
|
TOP=52
|
||||||
NEXTFIELD=5
|
NEXTFIELD=5
|
||||||
LEFT=38
|
LEFT=38
|
||||||
MAXLENGTH=6
|
MAXLENGTH=6
|
||||||
|
|||||||
386
start
386
start
@@ -1,386 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
export LANG=C
|
|
||||||
export EVENT=DiVOC
|
|
||||||
|
|
||||||
export DIALOGRC=dialogrc
|
|
||||||
|
|
||||||
LOCKFILE=/tmp/irolock
|
|
||||||
TMP=/tmp/$RANDOM
|
|
||||||
BT="Intergalactic Registration Office - v0.3\n========================================"
|
|
||||||
|
|
||||||
cd $(dirname "$0")
|
|
||||||
|
|
||||||
function clr() {
|
|
||||||
printf "\033H\033J"
|
|
||||||
}
|
|
||||||
|
|
||||||
function infoBox() {
|
|
||||||
clr
|
|
||||||
echo -e "$BT\n\n$1\n\n\n$2"
|
|
||||||
read -n 1 -s -r -p "Press any key to continue"
|
|
||||||
}
|
|
||||||
|
|
||||||
function diaBox() {
|
|
||||||
clr
|
|
||||||
echo -e "$BT\n\n$1\n\n\n$2"
|
|
||||||
read -r -p "Okay? [(o)kay/(a)bort] " resp
|
|
||||||
echo "$resp" > $TMP
|
|
||||||
}
|
|
||||||
|
|
||||||
function ynBox() {
|
|
||||||
clr
|
|
||||||
echo -e "$BT\n\n$1\n\n\n$2"
|
|
||||||
read -r -p "Are you sure? [y/N] " resp
|
|
||||||
if [ "$resp" = "" ]; then
|
|
||||||
resp="N"
|
|
||||||
fi
|
|
||||||
echo "$resp" > $TMP
|
|
||||||
}
|
|
||||||
|
|
||||||
function askStr() {
|
|
||||||
clr
|
|
||||||
echo -e "$BT\n\n$2\n\n\n$3"
|
|
||||||
read resp
|
|
||||||
|
|
||||||
echo "$resp" > $TMP
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function askPw() {
|
|
||||||
clr
|
|
||||||
echo -e "$BT\n\n$2\n\n"
|
|
||||||
|
|
||||||
stty -echo
|
|
||||||
|
|
||||||
read -r -p "$3 " resp
|
|
||||||
|
|
||||||
echo "$resp" > $TMP
|
|
||||||
}
|
|
||||||
|
|
||||||
function confirm() {
|
|
||||||
h=12
|
|
||||||
w=60
|
|
||||||
if [ -n "$3" ]; then
|
|
||||||
h=$3
|
|
||||||
fi
|
|
||||||
if [ -n "$4" ]; then
|
|
||||||
w=$4
|
|
||||||
fi
|
|
||||||
|
|
||||||
dialog --title "Confirm: $1" \
|
|
||||||
--backtitle "$BT" \
|
|
||||||
--yesno "Please confirm those information:\n$2" $h $w
|
|
||||||
return $?
|
|
||||||
}
|
|
||||||
|
|
||||||
function askStrThird() {
|
|
||||||
h=12
|
|
||||||
w=60
|
|
||||||
if [ -n "$6" ]; then
|
|
||||||
h=$5
|
|
||||||
fi
|
|
||||||
if [ -n "$7" ]; then
|
|
||||||
w=$6
|
|
||||||
fi
|
|
||||||
|
|
||||||
dialog --backtitle "$BT" \
|
|
||||||
--max-input $1 \
|
|
||||||
--title "$2" \
|
|
||||||
--extra-button --extra-label "$4" \
|
|
||||||
--inputbox "$3" $h $w "$5" 2> $TMP
|
|
||||||
return $?
|
|
||||||
}
|
|
||||||
|
|
||||||
function gpgSearch() {
|
|
||||||
askStr 255 "GPG Search" "Type in the mail address you'd like to look up on keys.openpgp.org."
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
if [[ "$(cat $TMP)" =~ ^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$ ]]; then
|
|
||||||
clear
|
|
||||||
echo "Searching for GPG key..."
|
|
||||||
gpg --keyserver "hkps://keys.openpgp.org" --search "$(cat $TMP)"
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
FFP=$(gpg -k "$(cat $TMP)" | head -n 2 | tail -n 1 | awk '{print $1}' | sed 's/.\{4\}/& /g;s/^\(.*\) $/\1/g')
|
|
||||||
gpg --batch --delete-key "$FFP"
|
|
||||||
if [ "$FFP" = "" ]; then
|
|
||||||
diaBox "GPG Search" "No fingerprint has been found for $(cat $TMP)"
|
|
||||||
return 1
|
|
||||||
else
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
diaBox "GPG Search" "No fingerprint has been found for $(cat $TMP)"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
diaBox "GPG Search" "This is on vaild mail address."
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
function enterGPG() {
|
|
||||||
askStrThird 49 "GPG Fingerprint" "Enter GPG fingerprint WITH SPACES. E.g.:\n 1234 5678 9ABC DEF0 1234 5678 9ABC DEF0 1234 5678" "Search..." "$1"
|
|
||||||
|
|
||||||
ret=$?
|
|
||||||
case $ret in
|
|
||||||
0)
|
|
||||||
FP=$(cat $TMP)
|
|
||||||
rm $TMP
|
|
||||||
if ! [[ $FP =~ ^([[:xdigit:]]{4} ){9}[[:xdigit:]]{4}$ ]]; then
|
|
||||||
diaBox "GPG Fingerprint" "This does not match the RegEx of a GPG fingerprint.\nPlease type in the whole fingerprint."
|
|
||||||
enterGPG
|
|
||||||
fi
|
|
||||||
FP=$(echo "$FP" | tr [a-f] [A-F])
|
|
||||||
;;
|
|
||||||
1)
|
|
||||||
return 1
|
|
||||||
;;
|
|
||||||
3)
|
|
||||||
gpgSearch
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
enterGPG "$FFP" "no-confirm"
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ "$2" == "no-confirm" ]; then
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
confirm "GPG Fingerprint" " GPG:\n $FP"
|
|
||||||
return $?
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkLockFile() {
|
|
||||||
while [ -f $LOCKFILE ]; do
|
|
||||||
infoBox "Printer is in use..." "Printer is in use. Please wait."
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
touch $LOCKFILE
|
|
||||||
}
|
|
||||||
|
|
||||||
function printGPG() {
|
|
||||||
askForField "GPG fingerprint" "$1"
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
checkLockFile
|
|
||||||
diaBox "Insert Passport" "Please insert passport (Visas) into the printer."
|
|
||||||
cd "$1"
|
|
||||||
./gpgkey $FIELD $FP
|
|
||||||
cd ..
|
|
||||||
rm $LOCKFILE
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function printReg() {
|
|
||||||
checkLockFile
|
|
||||||
diaBox "Insert Passport" "Please insert passport (First page, name, place) into the printer."
|
|
||||||
cd "$1"
|
|
||||||
./reg "$FNAME" "$SNAME" "$PLANET"
|
|
||||||
cd ..
|
|
||||||
rm $LOCKFILE
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
function printIROStamp() {
|
|
||||||
askForField "IRO stamp" "$1"
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
checkLockFile
|
|
||||||
diaBox "Insert Passport" "Please insert passport (Visas) into the printer."
|
|
||||||
cd "$1"
|
|
||||||
./iro $FIELD
|
|
||||||
cd ..
|
|
||||||
rm $LOCKFILE
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function askForField() {
|
|
||||||
declare -A layout
|
|
||||||
declare -A maxfield
|
|
||||||
text="$1: Please choose a free field on the passport.\n"
|
|
||||||
|
|
||||||
layout[jhp]="
|
|
||||||
------------------\n
|
|
||||||
| Archievements |\n
|
|
||||||
==================\n
|
|
||||||
| 0 | 1 || 6 | 7 |\n
|
|
||||||
|---|---||---|---|\n
|
|
||||||
| 2 | 3 || 8 | 9 |\n
|
|
||||||
|---|---||---|---|\n
|
|
||||||
| 4 | 5 || 10| 11|\n
|
|
||||||
==================\n
|
|
||||||
"
|
|
||||||
|
|
||||||
layout[adafruit]="
|
|
||||||
------------------\n
|
|
||||||
| VISAS || VISAS |\n
|
|
||||||
==================\n
|
|
||||||
| 0 | 1 || 4 | 5 |\n
|
|
||||||
|---|---||---|---|\n
|
|
||||||
| 2 | 3 || 6 | 7 |\n
|
|
||||||
==================\n
|
|
||||||
"
|
|
||||||
|
|
||||||
maxfield[jhp]=11
|
|
||||||
maxfield[adafruit]=7
|
|
||||||
|
|
||||||
askStr 2 "Select a field" "$text ${layout[$2]}" "" 18
|
|
||||||
if [ $? -eq 1 ]; then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
FIELD=$(cat $TMP)
|
|
||||||
if ! [[ "$FIELD" =~ ^[0-9]+$ ]] || [ -z "$FIELD" ] || [ $FIELD -lt 0 ] || [ $FIELD -gt ${maxfield[$2]} ]; then
|
|
||||||
askForField "$1" "$2"
|
|
||||||
else
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function askReg() {
|
|
||||||
# Max length of passport fields
|
|
||||||
declare -A MAXLENGTH
|
|
||||||
MAXLENGTH[jhp]=25
|
|
||||||
MAXLENGTH[adafruit]=17
|
|
||||||
|
|
||||||
askStr ${MAXLENGTH[$1]} "Forename/Nickname" "Enter forename/nickname"
|
|
||||||
if [ $? -eq 1 ]; then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
FNAME=$(cat $TMP)
|
|
||||||
|
|
||||||
askStr ${MAXLENGTH[$1]} "Surname" "Enter surname"
|
|
||||||
if [ $? -eq 1 ]; then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
SNAME=$(cat $TMP)
|
|
||||||
|
|
||||||
askStr ${MAXLENGTH[$1]} "Place" "Enter place"
|
|
||||||
if [ $? -eq 1 ]; then
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
PLANET=$(cat $TMP)
|
|
||||||
|
|
||||||
confirm=" Forename: $FNAME\n Surname: $SNAME\n Place: $PLANET"
|
|
||||||
|
|
||||||
ynBox "IRO Stamp" "Does this being want to have a IRO stamp?"
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
STAMP=true
|
|
||||||
else
|
|
||||||
STAMP=false
|
|
||||||
fi
|
|
||||||
|
|
||||||
ynBox "GPG" "Does the being have a GPG key to register?"
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
enterGPG "" no-confirm
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
confirm="$confirm\n GPG:\n $FP"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
confirm "Everything" "$confirm"
|
|
||||||
return $?
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function menuFor() {
|
|
||||||
dialog --backtitle "$BT" \
|
|
||||||
--menu "Select ID type:" 14 40 3 \
|
|
||||||
1 "Registration" \
|
|
||||||
2 "IRO Stamp" \
|
|
||||||
3 "GPG" \
|
|
||||||
9 "Back" 2> $TMP
|
|
||||||
|
|
||||||
choice=$(cat $TMP)
|
|
||||||
|
|
||||||
case $choice in
|
|
||||||
1) askReg "$1"
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
printReg "$1"
|
|
||||||
if [ "$STAMP" == "true" ]; then
|
|
||||||
printIROStamp "$1"
|
|
||||||
fi
|
|
||||||
if [ -n "$FP" ]; then
|
|
||||||
printGPG "$1"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
2) printIROStamp "$1"
|
|
||||||
;;
|
|
||||||
3) enterGPG
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
printGPG "$1"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
|
|
||||||
esac
|
|
||||||
unset FNAME
|
|
||||||
unset SNAME
|
|
||||||
unset PLANET
|
|
||||||
unset FP
|
|
||||||
unset FIELD
|
|
||||||
unset FFP
|
|
||||||
}
|
|
||||||
|
|
||||||
function askForFunnyUserCreds() {
|
|
||||||
clr
|
|
||||||
echo "Press Enter to start."
|
|
||||||
read -s
|
|
||||||
|
|
||||||
askStr 12 "Login" "Username:" ""
|
|
||||||
username=$(cat $TMP)
|
|
||||||
askPw 12 "Login" "Password:" ""
|
|
||||||
password=$(cat $TMP)
|
|
||||||
|
|
||||||
if [ -f .pw/$username ]; then
|
|
||||||
if [ "$password" != $(cat .pw/$username) ]; then
|
|
||||||
clr
|
|
||||||
echo "Wrong credentials."
|
|
||||||
sleep 3
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo "Wrong credentials."
|
|
||||||
sleep 3
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
askForFunnyUserCreds
|
|
||||||
|
|
||||||
while [ true ]; do
|
|
||||||
|
|
||||||
dialog --backtitle "$BT" \
|
|
||||||
--menu "Select ID type:" 10 40 3 \
|
|
||||||
1 "Junghackerpass" \
|
|
||||||
2 "New Adafruit passport" \
|
|
||||||
9 "Logout" 2> $TMP
|
|
||||||
|
|
||||||
if [ $? -eq 9 ]; then
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
|
|
||||||
TYPE=$(cat $TMP)
|
|
||||||
|
|
||||||
|
|
||||||
case $TYPE in
|
|
||||||
1) menuFor jhp
|
|
||||||
;;
|
|
||||||
2) menuFor adafruit
|
|
||||||
;;
|
|
||||||
9) break
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
rm $TMP
|
|
||||||
clear
|
|
||||||
@@ -11,7 +11,7 @@ export DEVICE="$PRINTDEVICE"
|
|||||||
|
|
||||||
LOCKFILE=/tmp/c3govlock
|
LOCKFILE=/tmp/c3govlock
|
||||||
TMP=/tmp/$RANDOM
|
TMP=/tmp/$RANDOM
|
||||||
BT="c3gov - v0.5.1"
|
BT="c3gov - v0.5.1.2"
|
||||||
|
|
||||||
cd $(dirname "$0")
|
cd $(dirname "$0")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user