Skip to content
Snippets Groups Projects
Commit 2558225f authored by Bob Mottram's avatar Bob Mottram
Browse files

Beginning translation strings

parent 6fc30178
No related branches found
No related tags found
No related merge requests found
......@@ -104,16 +104,16 @@ DH_KEYLENGTH=
function show_help {
echo ''
echo 'freedombone-config -f [config filename] -m [min password length]'
echo $'freedombone-config -f [config filename] -m [min password length]'
echo ''
echo 'Creates an inventory of remote backup locations'
echo $'Creates an inventory of remote backup locations'
echo ''
echo ''
echo ' -h --help Show help'
echo ' -f --filename Configuration file (usually freedombone.cfg)'
echo ' -m --min Minimum password length (characters)'
echo ' -w --www Freedombone web site'
echo ' -b --bm Freedombone support Bitmessage address'
echo $' -h --help Show help'
echo $' -f --filename Configuration file (usually freedombone.cfg)'
echo $' -m --min Minimum password length (characters)'
echo $' -w --www Freedombone web site'
echo $' -b --bm Freedombone support Bitmessage address'
echo ''
exit 0
}
......@@ -276,15 +276,15 @@ function interactive_gpg_from_remote {
freedombone-remote -u $MY_USERNAME -l $REMOTE_SERVERS_LIST -t "Remote server"
if [ ! -f $REMOTE_SERVERS_LIST ]; then
dialog --title "Encryption keys" --msgbox 'Error obtaining server list' 6 70
dialog --title $"Encryption keys" --msgbox $'Error obtaining server list' 6 70
return 1
fi
# check the number of entries in the file
no_of_servers=$(cat $REMOTE_SERVERS_LIST | wc -l)
if (( no_of_servers < 3 )); then
dialog --title "Encryption keys" \
--msgbox 'There must be at least three servers to recover the key' 6 70
dialog --title $"Encryption keys" \
--msgbox $'There must be at least three servers to recover the key' 6 70
return 2
fi
......@@ -292,11 +292,11 @@ function interactive_gpg_from_remote {
apt-get -y install libgfshare-bin gnupg
freedombone-recoverkey -u $MY_USERNAME -l $REMOTE_SERVERS_LIST
if [ ! "$?" = "0" ]; then
dialog --title "Encryption keys" --msgbox 'Your key could not be recovered' 6 70
dialog --title $"Encryption keys" --msgbox $'Your key could not be recovered' 6 70
return 3
fi
dialog --title "Encryption keys" --msgbox 'Your key has been recovered' 6 70
dialog --title $"Encryption keys" --msgbox $'Your key has been recovered' 6 70
return 0
}
......@@ -308,36 +308,36 @@ function reconstruct_key {
cd /home/$MY_USERNAME/.gnupg_fragments
no_of_shares=$(ls -afq keyshare.asc.* | wc -l)
if (( no_of_shares < 4 )); then
dialog --title "Encryption keys" --msgbox 'Not enough fragments to reconstruct the key' 6 70
dialog --title $"Encryption keys" --msgbox $'Not enough fragments to reconstruct the key' 6 70
exit 7348
fi
apt-get -y install libgfshare-bin gnupg
gfcombine /home/$MY_USERNAME/.gnupg_fragments/keyshare*
if [ ! "$?" = "0" ]; then
dialog --title "Encryption keys" --msgbox 'Unable to reconstruct the key' 6 70
dialog --title $"Encryption keys" --msgbox $'Unable to reconstruct the key' 6 70
exit 7348
fi
KEYS_FILE=/home/$MY_USERNAME/.gnupg_fragments/keyshare.asc
if [ ! -f $KEYS_FILE ]; then
dialog --title "Encryption keys" --msgbox 'Unable to reconstruct the key' 6 70
dialog --title $"Encryption keys" --msgbox $'Unable to reconstruct the key' 6 70
fi
su -c "gpg --allow-secret-key-import --import $KEYS_FILE" - $MY_USERNAME
if [ ! "$?" = "0" ]; then
echo 'Unable to import gpg key'
echo $'Unable to import gpg key'
shred -zu $KEYS_FILE
rm -rf /home/$MY_USERNAME/.tempgnupg
exit 9654
fi
shred -zu $KEYS_FILE
dialog --title "Encryption keys" --msgbox 'Key has been reconstructed' 6 70
dialog --title $"Encryption keys" --msgbox $'Key has been reconstructed' 6 70
}
function interactive_gpg_from_usb {
dialog --title "Encryption keys" \
--msgbox 'Plug in a USB drive containing a copy of your full key or key fragment' 6 70
dialog --title $"Encryption keys" \
--msgbox $'Plug in a USB drive containing a copy of your full key or key fragment' 6 70
HOME_DIR=/home/$MY_USERNAME
GPG_LOADING="yes"
......@@ -352,7 +352,7 @@ function interactive_gpg_from_usb {
reconstruct_key
return 0
fi
dialog --title "Encryption keys" --msgbox 'No USB drive found' 6 30
dialog --title $"Encryption keys" --msgbox $'No USB drive found' 6 30
exit 739836
fi
else
......@@ -366,7 +366,7 @@ function interactive_gpg_from_usb {
reconstruct_key
return 0
fi
dialog --title "Encryption keys" --msgbox 'No USB drive found' 6 30
dialog --title $"Encryption keys" --msgbox $'No USB drive found' 6 30
exit 27852
fi
fi
......@@ -394,8 +394,8 @@ function interactive_gpg_from_usb {
reconstruct_key
return 0
fi
dialog --title "Encryption keys" \
--msgbox "There was a problem mounting the USB drive to $GPG_USB_MOUNT" 6 70
dialog --title $"Encryption keys" \
--msgbox $"There was a problem mounting the USB drive to $GPG_USB_MOUNT" 6 70
rm -rf $GPG_USB_MOUNT
exit 74393
fi
......@@ -408,8 +408,8 @@ function interactive_gpg_from_usb {
reconstruct_key
return 0
fi
dialog --title "Encryption keys" \
--msgbox "The directory $GPG_USB_MOUNT/.gnupg or $GPG_USB_MOUNT/.gnupg_fragments was not found" 6 70
dialog --title $"Encryption keys" \
--msgbox $"The directory $GPG_USB_MOUNT/.gnupg or $GPG_USB_MOUNT/.gnupg_fragments was not found" 6 70
umount -f $GPG_USB_MOUNT
rm -rf $GPG_USB_MOUNT
exit 723814
......@@ -422,8 +422,8 @@ function interactive_gpg_from_usb {
fi
cp -r $GPG_USB_MOUNT/.gnupg/* $HOME_DIR/.gnupg
GPG_LOADING="no"
dialog --title "Encryption keys" \
--msgbox "GPG Keyring loaded to $HOME_DIR" 6 70
dialog --title $"Encryption keys" \
--msgbox $"GPG Keyring loaded to $HOME_DIR" 6 70
else
if [ ! -d $HOME_DIR/.gnupg_fragments ]; then
mkdir $HOME_DIR/.gnupg_fragments
......@@ -437,8 +437,8 @@ function interactive_gpg_from_usb {
mkdir $HOME_DIR/.ssh
fi
cp $GPG_USB_MOUNT/.ssh/* $HOME_DIR/.ssh
dialog --title "Encryption keys" \
--msgbox "ssh keys imported" 6 70
dialog --title $"Encryption keys" \
--msgbox $"ssh keys imported" 6 70
SSH_IMPORTED="yes"
fi
fi
......@@ -446,8 +446,8 @@ function interactive_gpg_from_usb {
umount -f $GPG_USB_MOUNT
rm -rf $GPG_USB_MOUNT
if [[ $GPG_LOADING == "yes" ]]; then
dialog --title "Encryption keys" \
--msgbox "Now remove the USB drive. Insert the next drive containing a key fragment, or select Ok to finish" 6 70
dialog --title $"Encryption keys" \
--msgbox $"Now remove the USB drive. Insert the next drive containing a key fragment, or select Ok to finish" 6 70
fi
GPG_CTR=$((GPG_CTR + 1))
done
......@@ -460,11 +460,11 @@ function interactive_gpg {
GPG_CONFIGURED="yes"
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
dialog --backtitle "Freedombone Configuration" \
--radiolist "GPG/PGP keys for your system:" 13 70 3 \
1 "Generate new keys (new user)" on \
2 "Import keys from USB drive/s" off \
3 "Retrieve keys from friends servers" off 2> $data
dialog --backtitle $"Freedombone Configuration" \
--radiolist $"GPG/PGP keys for your system:" 13 70 3 \
1 $"Generate new keys (new user)" on \
2 $"Import keys from USB drive/s" off \
3 $"Retrieve keys from friends servers" off 2> $data
sel=$?
case $sel in
1) exit 1;;
......@@ -489,25 +489,25 @@ function interactive_configuration {
cp $CONFIGURATION_FILE temp.cfg
fi
FREEDNS_MESSAGE="Please enter the FreeDNS code for this domain.\n\nThe code can be found by going to https://freedns.afraid.org, selecting 'Dynamic DNS' and then opening 'Wget example'. The code will consist of letters and numbers and be between the ? and = characters."
FREEDNS_MESSAGE=$"Please enter the FreeDNS code for this domain.\n\nThe code can be found by going to https://freedns.afraid.org, selecting 'Dynamic DNS' and then opening 'Wget example'. The code will consist of letters and numbers and be between the ? and = characters."
dialog --title "Freedombone" --msgbox "Welcome to the Freedombone interactive installer. Communications freedom is only a short time away.\n\nEnsure that you have your domain and dynamic DNS settings ready.\n\nFor more information please visit $FREEDOMBONE_WEBSITE or send a Bitmessage to $FREEDOMBONE_BITMESSAGE" 15 50
dialog --title $"Freedombone" --msgbox $"Welcome to the Freedombone interactive installer. Communications freedom is only a short time away.\n\nEnsure that you have your domain and dynamic DNS settings ready.\n\nFor more information please visit $FREEDOMBONE_WEBSITE or send a Bitmessage to $FREEDOMBONE_BITMESSAGE" 15 50
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
dialog --backtitle "Freedombone Configuration" \
--radiolist "Type of Installation:" 18 40 11 \
1 Full on \
2 Writer off \
3 Cloud off \
4 Chat off \
5 Mailbox off \
6 Non-Mailbox off \
7 Social off \
8 Media off \
9 Developer off \
10 "Mesh (router)" off \
11 "Mesh (user device)" off 2> $data
dialog --backtitle $"Freedombone Configuration" \
--radiolist $"Type of Installation:" 18 40 11 \
1 $"Full" on \
2 $"Writer" off \
3 $"Cloud" off \
4 $"Chat" off \
5 $"Mailbox" off \
6 $"Non-Mailbox" off \
7 $"Social" off \
8 $"Media" off \
9 $"Developer" off \
10 $"Mesh (router)" off \
11 $"Mesh (user device)" off 2> $data
sel=$?
case $sel in
1) exit 1;;
......@@ -554,8 +554,8 @@ function interactive_configuration {
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
dialog --backtitle "Freedombone Configuration" \
--inputbox "Wireless Mesh ESSID\n\nIf you press enter the default will be '$ESSID'" 10 40 "$(grep 'ESSID' temp.cfg | awk -F '=' '{print $2}')" 2> $data
dialog --backtitle $"Freedombone Configuration" \
--inputbox $"Wireless Mesh ESSID\n\nIf you press enter the default will be '$ESSID'" 10 40 "$(grep 'ESSID' temp.cfg | awk -F '=' '{print $2}')" 2> $data
sel=$?
case $sel in
0) ESSID=$(cat $data);;
......@@ -567,8 +567,8 @@ function interactive_configuration {
if [[ $SYSTEM_TYPE != "$VARIANT_MESH_USER" ]]; then
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
dialog --backtitle "Freedombone Configuration" \
--inputbox "Give your mesh peer a name" 10 40 "$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
dialog --backtitle $"Freedombone Configuration" \
--inputbox $"Give your mesh peer a name" 10 40 "$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
sel=$?
case $sel in
0) DEFAULT_DOMAIN_NAME=$(cat $data);;
......@@ -582,8 +582,8 @@ function interactive_configuration {
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
dialog --backtitle "Freedombone Configuration" \
--radiolist "Wifi Channel (spaced to be non-overlapping):" 11 50 4 \
dialog --backtitle $"Freedombone Configuration" \
--radiolist $"Wifi Channel (spaced to be non-overlapping):" 11 50 4 \
1 "1" on \
2 "5" off \
3 "9" off \
......@@ -626,23 +626,23 @@ function interactive_configuration {
echo "| | (.-' (.-' ( | ( )| | | | )( )| | (.-' "
echo "' ' --' --' -' - -' ' ' -' -' -' ' - --'"
echo ''
echo 'Your system is now ready for connection to the mesh network'
echo $'Your system is now ready for connection to the mesh network'
echo ''
echo 'To connect to the network open a terminal and type:'
echo $'To connect to the network open a terminal and type:'
echo ''
echo ' meshweb'
echo ''
echo 'To disconnect from the mesh and return to the internet type:'
echo $'To disconnect from the mesh and return to the internet type:'
echo ''
echo ' sudo batman stop'
echo ''
echo 'To turn your system into a dedicated mesh peer you could add'
echo 'the meshweb command to your startup applications'
echo $'To turn your system into a dedicated mesh peer you could add'
echo $'the meshweb command to your startup applications'
echo ''
touch /tmp/meshuserdevice
exit 0
else
echo 'Failed to fully install the mesh networking system'
echo $'Failed to fully install the mesh networking system'
exit 74589
fi
fi
......@@ -652,8 +652,8 @@ function interactive_configuration {
else
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
dialog --title "Select the user account to install as" \
--backtitle "Freedombone Configuration" \
dialog --title $"Select the user account to install as" \
--backtitle $"Freedombone Configuration" \
--dselect "/home/$(grep 'MY_USERNAME' temp.cfg | awk -F '=' '{print $2}')" 14 40 2> $data
sel=$?
case $sel in
......@@ -664,32 +664,32 @@ function interactive_configuration {
fi
if [ ! $MY_USERNAME ]; then
echo 'No user account was selected'
echo $'No user account was selected'
exit 64398
fi
if [[ $MY_USERNAME == '-f' ]]; then
echo 'No user account was selected'
echo $'No user account was selected'
exit 8347
fi
if [[ $MY_USERNAME == 'debian' ]]; then
echo "Don't use the default debian user account"
echo $"Don't use the default debian user account"
exit 9341
fi
if [ ! -d /home/$MY_USERNAME ]; then
echo "The directory /home/$MY_USERNAME does not exist"
echo $"The directory /home/$MY_USERNAME does not exist"
exit 6437
fi
save_configuration_file
if [[ $(grep "INSTALLING_ON_BBB" temp.cfg | awk -F '=' '{print $2}') == "yes" ]]; then
dialog --title "Install Target" \
--backtitle "Freedombone Configuration" \
--yesno "\nAre you installing onto a Beaglebone Black?" 7 60
dialog --title $"Install Target" \
--backtitle $"Freedombone Configuration" \
--yesno $"\nAre you installing onto a Beaglebone Black?" 7 60
else
dialog --title "Install Target" \
--backtitle "Freedombone Configuration" \
dialog --title $"Install Target" \
--backtitle $"Freedombone Configuration" \
--defaultno \
--yesno "\nAre you installing onto a Beaglebone Black?" 7 60
--yesno $"\nAre you installing onto a Beaglebone Black?" 7 60
fi
sel=$?
case $sel in
......@@ -712,14 +712,14 @@ function interactive_configuration {
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
SOCIAL_KEY_STR="\nDo you wish to enable social key management, otherwise known as \"the unforgettable key\"?\n\nThis means that fragments of your GPG key will be included with any remote backups so that if you later lose your key then it can be reconstructed from your friends servers. If you select \"no\" then you can still do social key management, but offline using physical USB thumb drives, which is more secure but less convenient."
SOCIAL_KEY_STR=$"\nDo you wish to enable social key management, otherwise known as \"the unforgettable key\"?\n\nThis means that fragments of your GPG key will be included with any remote backups so that if you later lose your key then it can be reconstructed from your friends servers. If you select \"no\" then you can still do social key management, but offline using physical USB thumb drives, which is more secure but less convenient."
if [[ $(grep "ENABLE_SOCIAL_KEY_MANAGEMENT" temp.cfg | awk -F '=' '{print $2}') == "yes" ]]; then
dialog --title "Social Key Management" \
--backtitle "Freedombone Configuration" \
dialog --title $"Social Key Management" \
--backtitle $"Freedombone Configuration" \
--yesno "$SOCIAL_KEY_STR" 15 60
else
dialog --title "Social Key Management" \
--backtitle "Freedombone Configuration" \
dialog --title $"Social Key Management" \
--backtitle $"Freedombone Configuration" \
--defaultno \
--yesno "$SOCIAL_KEY_STR" 15 60
fi
......@@ -734,8 +734,8 @@ function interactive_configuration {
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
if [[ $INSTALLING_ON_BBB != "yes" ]]; then
dialog --backtitle "Freedombone Configuration" \
--radiolist "Type of Random Number Generator:" 10 40 2 \
dialog --backtitle $"Freedombone Configuration" \
--radiolist $"Type of Random Number Generator:" 10 40 2 \
1 Haveged on \
2 OneRNG off 2> $data
sel=$?
......@@ -745,8 +745,8 @@ function interactive_configuration {
esac
case $(cat $data) in
2) HWRNG_TYPE="onerng"
dialog --title "OneRNG Device" \
--msgbox "Please ensure that the OneRNG device is disconnected. You can reconnect it later during the installation" 8 60
dialog --title $"OneRNG Device" \
--msgbox $"Please ensure that the OneRNG device is disconnected. You can reconnect it later during the installation" 8 60
;;
255) exit 1;;
esac
......@@ -757,57 +757,57 @@ function interactive_configuration {
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
dialog --backtitle "Freedombone Configuration" \
--radiolist "Where to download Debian packages from:" 25 45 49 \
1 "Australia" off \
2 "Austria" off \
3 "Belarus" off \
4 "Belgium" off \
5 "Bosnia and Herzegovina" off \
6 "Brazil" off \
7 "Bulgaria" off \
8 "Canada" off \
9 "Chile" off \
10 "China" off \
11 "Croatia" off \
12 "Czech Republic" off \
13 "Denmark" off \
14 "El Salvador" off \
15 "Estonia" off \
16 "Finland" off \
17 "France 1" off \
18 "France 2" off \
19 "Germany 1" off \
20 "Germany 2" off \
21 "Greece" off \
22 "Hungary" off \
23 "Iceland" off \
24 "Iran" off \
25 "Ireland" off \
26 "Italy" off \
27 "Japan" off \
28 "Korea" off \
29 "Lithuania" off \
30 "Mexico" off \
31 "Netherlands" off \
32 "New Caledonia" off \
33 "New Zealand" off \
34 "Norway" off \
35 "Poland" off \
36 "Portugal" off \
37 "Romania" off \
38 "Russia" off \
39 "Slovakia" off \
40 "Slovenia" off \
41 "Spain" off \
42 "Sweden" off \
43 "Switzerland" off \
44 "Taiwan" off \
45 "Thailand" off \
46 "Turkey" off \
47 "Ukraine" off \
48 "United Kingdom" off \
49 "United States" on 2> $data
dialog --backtitle $"Freedombone Configuration" \
--radiolist $"Where to download Debian packages from:" 25 45 49 \
1 $"Australia" off \
2 $"Austria" off \
3 $"Belarus" off \
4 $"Belgium" off \
5 $"Bosnia and Herzegovina" off \
6 $"Brazil" off \
7 $"Bulgaria" off \
8 $"Canada" off \
9 $"Chile" off \
10 $"China" off \
11 $"Croatia" off \
12 $"Czech Republic" off \
13 $"Denmark" off \
14 $"El Salvador" off \
15 $"Estonia" off \
16 $"Finland" off \
17 $"France 1" off \
18 $"France 2" off \
19 $"Germany 1" off \
20 $"Germany 2" off \
21 $"Greece" off \
22 $"Hungary" off \
23 $"Iceland" off \
24 $"Iran" off \
25 $"Ireland" off \
26 $"Italy" off \
27 $"Japan" off \
28 $"Korea" off \
29 $"Lithuania" off \
30 $"Mexico" off \
31 $"Netherlands" off \
32 $"New Caledonia" off \
33 $"New Zealand" off \
34 $"Norway" off \
35 $"Poland" off \
36 $"Portugal" off \
37 $"Romania" off \
38 $"Russia" off \
39 $"Slovakia" off \
40 $"Slovenia" off \
41 $"Spain" off \
42 $"Sweden" off \
43 $"Switzerland" off \
44 $"Taiwan" off \
45 $"Thailand" off \
46 $"Turkey" off \
47 $"Ukraine" off \
48 $"United Kingdom" off \
49 $"United States" on 2> $data
sel=$?
case $sel in
1) exit 1;;
......@@ -869,24 +869,24 @@ function interactive_configuration {
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
dialog --backtitle "Freedombone Configuration" \
--radiolist "Pick a domain name service (DNS):" 25 50 16 \
1 "Digital Courage" on \
2 "German Privacy Foundation 1" off \
3 "German Privacy Foundation 2" off \
4 "Chaos Computer Club" off \
5 "ClaraNet" off \
6 "OpenNIC 1" off \
7 "OpenNIC 2" off \
8 "OpenNIC 3" off \
9 "OpenNIC 4" off \
10 "OpenNIC 5" off \
11 "OpenNIC 6" off \
12 "OpenNIC 7" off \
13 "PowerNS" off \
14 "ValiDOM" off \
15 "Freie Unzensierte" off \
16 "Google" off 2> $data
dialog --backtitle $"Freedombone Configuration" \
--radiolist $"Pick a domain name service (DNS):" 25 50 16 \
1 $"Digital Courage" on \
2 $"German Privacy Foundation 1" off \
3 $"German Privacy Foundation 2" off \
4 $"Chaos Computer Club" off \
5 $"ClaraNet" off \
6 $"OpenNIC 1" off \
7 $"OpenNIC 2" off \
8 $"OpenNIC 3" off \
9 $"OpenNIC 4" off \
10 $"OpenNIC 5" off \
11 $"OpenNIC 6" off \
12 $"OpenNIC 7" off \
13 $"PowerNS" off \
14 $"ValiDOM" off \
15 $"Freie Unzensierte" off \
16 $"Google" off 2> $data
sel=$?
case $sel in
1) exit 1;;
......@@ -949,8 +949,8 @@ function interactive_configuration {
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
dialog --backtitle "Freedombone Configuration" \
--radiolist "Choose Dynamic DNS provider:" 15 40 14 \
dialog --backtitle $"Freedombone Configuration" \
--radiolist $"Choose Dynamic DNS provider:" 15 40 14 \
1 dyndns off \
2 freedns on \
3 zoneedit off \
......@@ -993,8 +993,8 @@ function interactive_configuration {
do
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
dialog --backtitle "Freedombone Configuration" \
--inputbox "Dynamic DNS provider username" 10 30 "$(grep 'DDNS_USERNAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
dialog --backtitle $"Freedombone Configuration" \
--inputbox $"Dynamic DNS provider username" 10 30 "$(grep 'DDNS_USERNAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
sel=$?
case $sel in
0) DDNS_USERNAME=$(cat $data);;
......@@ -1008,10 +1008,10 @@ function interactive_configuration {
do
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
dialog --backtitle "Freedombone Configuration" \
dialog --backtitle $"Freedombone Configuration" \
--clear \
--insecure \
--passwordbox "Dynamic DNS provider password" 10 30 "$(grep 'DDNS_PASSWORD' temp.cfg | awk -F '=' '{print $2}')" 2> $data
--passwordbox $"Dynamic DNS provider password" 10 30 "$(grep 'DDNS_PASSWORD' temp.cfg | awk -F '=' '{print $2}')" 2> $data
sel=$?
case $sel in
0) DDNS_PASSWORD=$(cat $data);;
......@@ -1019,7 +1019,7 @@ function interactive_configuration {
255) exit 1;;
esac
if [ ${#DDNS_PASSWORD} -lt $MINIMUM_PASSWORD_LENGTH ]; then
dialog --title "Password quality check" --msgbox "The password given was too short. It must be at least $MINIMUM_PASSWORD_LENGTH characters. You may need to change your password on the dynamic DNS provider's web site." 10 40
dialog --title $"Password quality check" --msgbox $"The password given was too short. It must be at least $MINIMUM_PASSWORD_LENGTH characters. You may need to change your password on the dynamic DNS provider's web site." 10 40
DDNS_PASSWORD=""
fi
done
......@@ -1031,8 +1031,8 @@ function interactive_configuration {
do
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
dialog --backtitle "Freedombone Configuration" \
--inputbox "Your full name (or nick)" 10 30 "$(grep 'MY_NAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
dialog --backtitle $"Freedombone Configuration" \
--inputbox $"Your full name (or nick)" 10 30 "$(grep 'MY_NAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
sel=$?
case $sel in
0) MY_NAME=$(cat $data);;
......@@ -1057,11 +1057,11 @@ function interactive_configuration {
fi
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
dialog --backtitle "Freedombone Configuration" \
--title "Local Network Configuration" \
--form "\nPlease enter the IP addresses:" 11 55 3 \
"This system:" 1 1 "$LOCAL_NETWORK_STATIC_IP_ADDRESS" 1 16 16 15 \
"Internet router:" 2 1 "$ROUTER_IP_ADDRESS" 2 16 16 15 \
dialog --backtitle $"Freedombone Configuration" \
--title $"Local Network Configuration" \
--form $"\nPlease enter the IP addresses:" 11 55 3 \
$"This system:" 1 1 "$LOCAL_NETWORK_STATIC_IP_ADDRESS" 1 16 16 15 \
$"Internet router:" 2 1 "$ROUTER_IP_ADDRESS" 2 16 16 15 \
2> $data
sel=$?
case $sel in
......@@ -1080,19 +1080,19 @@ function interactive_configuration {
trap "rm -f $data" 0 1 2 5 15
if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
dialog --backtitle "Freedombone Configuration" \
--title "Wiki Configuration" \
--form "\nPlease enter your wiki details:" 11 55 4 \
"Title:" 1 1 "$(grep 'WIKI_TITLE' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 40 \
"Domain:" 2 1 "$(grep 'WIKI_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 40 \
"Code:" 3 1 "$(grep 'WIKI_CODE' temp.cfg | awk -F '=' '{print $2}')" 3 16 25 40 \
dialog --backtitle $"Freedombone Configuration" \
--title $"Wiki Configuration" \
--form $"\nPlease enter your wiki details:" 11 55 4 \
$"Title:" 1 1 "$(grep 'WIKI_TITLE' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 40 \
$"Domain:" 2 1 "$(grep 'WIKI_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 40 \
$"Code:" 3 1 "$(grep 'WIKI_CODE' temp.cfg | awk -F '=' '{print $2}')" 3 16 25 40 \
2> $data
else
dialog --backtitle "Freedombone Configuration" \
--title "Wiki Configuration" \
--form "\nPlease enter your wiki details:" 11 55 3 \
"Title:" 1 1 "$(grep 'WIKI_TITLE' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 40 \
"Domain:" 2 1 "$(grep 'WIKI_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 40 \
dialog --backtitle $"Freedombone Configuration" \
--title $"Wiki Configuration" \
--form $"\nPlease enter your wiki details:" 11 55 3 \
$"Title:" 1 1 "$(grep 'WIKI_TITLE' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 40 \
$"Domain:" 2 1 "$(grep 'WIKI_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 40 \
2> $data
fi
sel=$?
......@@ -1107,13 +1107,13 @@ function interactive_configuration {
validate_domain_name
if [[ $TEST_DOMAIN_NAME != $WIKI_DOMAIN_NAME ]]; then
WIKI_DOMAIN_NAME=
dialog --title "Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
dialog --title $"Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
else
if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
WIKI_CODE=$(cat $data | sed -n 3p)
if [ ${#WIKI_CODE} -lt 30 ]; then
WIKI_DOMAIN_NAME=
dialog --title "FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
dialog --title $"FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
fi
fi
fi
......@@ -1132,19 +1132,19 @@ function interactive_configuration {
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
dialog --backtitle "Freedombone Configuration" \
--title "Blog Configuration" \
--form "\nPlease enter your blog details:" 11 55 4 \
"Title:" 1 1 "$(grep 'MY_BLOG_TITLE' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
"Domain:" 2 1 "$(grep 'FULLBLOG_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
"Code:" 3 1 "$(grep 'FULLBLOG_CODE' temp.cfg | awk -F '=' '{print $2}')" 3 16 25 30 \
dialog --backtitle $"Freedombone Configuration" \
--title $"Blog Configuration" \
--form $"\nPlease enter your blog details:" 11 55 4 \
$"Title:" 1 1 "$(grep 'MY_BLOG_TITLE' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
$"Domain:" 2 1 "$(grep 'FULLBLOG_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
$"Code:" 3 1 "$(grep 'FULLBLOG_CODE' temp.cfg | awk -F '=' '{print $2}')" 3 16 25 30 \
2> $data
else
dialog --backtitle "Freedombone Configuration" \
--title "Blog Configuration" \
--form "\nPlease enter your blog details:" 11 55 3 \
"Title:" 1 1 "$(grep 'MY_BLOG_TITLE' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
"Domain:" 2 1 "$(grep 'FULLBLOG_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
dialog --backtitle $"Freedombone Configuration" \
--title $"Blog Configuration" \
--form $"\nPlease enter your blog details:" 11 55 3 \
$"Title:" 1 1 "$(grep 'MY_BLOG_TITLE' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
$"Domain:" 2 1 "$(grep 'FULLBLOG_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
2> $data
fi
sel=$?
......@@ -1162,13 +1162,13 @@ function interactive_configuration {
validate_domain_name
if [[ $TEST_DOMAIN_NAME != $FULLBLOG_DOMAIN_NAME ]]; then
FULLBLOG_DOMAIN_NAME=
dialog --title "Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
dialog --title $"Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
else
if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
FULLBLOG_CODE=$(cat $data | sed -n 3p)
if [ ${#FULLBLOG_CODE} -lt 30 ]; then
FULLBLOG_DOMAIN_NAME=
dialog --title "FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
dialog --title $"FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
fi
fi
fi
......@@ -1187,17 +1187,17 @@ function interactive_configuration {
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
dialog --backtitle "Freedombone Configuration" \
--title "Owncloud Configuration" \
--form "\nPlease enter your Owncloud details:" 11 55 3 \
"Domain:" 1 1 "$(grep 'OWNCLOUD_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
"Code:" 2 1 "$(grep 'OWNCLOUD_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
dialog --backtitle $"Freedombone Configuration" \
--title $"Owncloud Configuration" \
--form $"\nPlease enter your Owncloud details:" 11 55 3 \
$"Domain:" 1 1 "$(grep 'OWNCLOUD_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
$"Code:" 2 1 "$(grep 'OWNCLOUD_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
2> $data
else
dialog --backtitle "Freedombone Configuration" \
--title "Owncloud Configuration" \
--form "\nPlease enter your Owncloud details:" 11 55 3 \
"Domain:" 1 1 "$(grep 'OWNCLOUD_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
dialog --backtitle $"Freedombone Configuration" \
--title $"Owncloud Configuration" \
--form $"\nPlease enter your Owncloud details:" 11 55 3 \
$"Domain:" 1 1 "$(grep 'OWNCLOUD_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
2> $data
fi
sel=$?
......@@ -1211,13 +1211,13 @@ function interactive_configuration {
validate_domain_name
if [[ $TEST_DOMAIN_NAME != $OWNCLOUD_DOMAIN_NAME ]]; then
OWNCLOUD_DOMAIN_NAME=
dialog --title "Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
dialog --title $"Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
else
if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
OWNCLOUD_CODE=$(cat $data | sed -n 2p)
if [ ${#OWNCLOUD_CODE} -lt 30 ]; then
OWNCLOUD_DOMAIN_NAME=
dialog --title "FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
dialog --title $"FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
fi
fi
fi
......@@ -1236,17 +1236,17 @@ function interactive_configuration {
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
dialog --backtitle "Freedombone Configuration" \
--title "Hubzilla Configuration" \
--form "\nPlease enter your Hubzilla details:" 11 55 3 \
"Domain:" 1 1 "$(grep 'HUBZILLA_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
"Code:" 2 1 "$(grep 'HUBZILLA_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
dialog --backtitle $"Freedombone Configuration" \
--title $"Hubzilla Configuration" \
--form $"\nPlease enter your Hubzilla details:" 11 55 3 \
$"Domain:" 1 1 "$(grep 'HUBZILLA_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
$"Code:" 2 1 "$(grep 'HUBZILLA_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
2> $data
else
dialog --backtitle "Freedombone Configuration" \
--title "Hubzilla Configuration" \
--form "\nPlease enter your Hubzilla details:" 11 55 3 \
"Domain:" 1 1 "$(grep 'HUBZILLA_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
dialog --backtitle $"Freedombone Configuration" \
--title $"Hubzilla Configuration" \
--form $"\nPlease enter your Hubzilla details:" 11 55 3 \
$"Domain:" 1 1 "$(grep 'HUBZILLA_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
2> $data
fi
sel=$?
......@@ -1260,13 +1260,13 @@ function interactive_configuration {
validate_domain_name
if [[ $TEST_DOMAIN_NAME != $HUBZILLA_DOMAIN_NAME ]]; then
HUBZILLA_DOMAIN_NAME=
dialog --title "Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
dialog --title $"Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
else
if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
HUBZILLA_CODE=$(cat $data | sed -n 2p)
if [ ${#HUBZILLA_CODE} -lt 30 ]; then
HUBZILLA_DOMAIN_NAME=
dialog --title "FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
dialog --title $"FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
fi
fi
fi
......@@ -1285,17 +1285,17 @@ function interactive_configuration {
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
dialog --backtitle "Freedombone Configuration" \
--title "Microblog Configuration" \
--form "\nPlease enter your Microblog details:" 11 55 3 \
"Domain:" 1 1 "$(grep 'MICROBLOG_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
"Code:" 2 1 "$(grep 'MICROBLOG_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
dialog --backtitle $"Freedombone Configuration" \
--title $"Microblog Configuration" \
--form $"\nPlease enter your Microblog details:" 11 55 3 \
$"Domain:" 1 1 "$(grep 'MICROBLOG_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
$"Code:" 2 1 "$(grep 'MICROBLOG_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
2> $data
else
dialog --backtitle "Freedombone Configuration" \
--title "Microblog Configuration" \
--form "\nPlease enter your Microblog details:" 11 55 3 \
"Domain:" 1 1 "$(grep 'MICROBLOG_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
dialog --backtitle $"Freedombone Configuration" \
--title $"Microblog Configuration" \
--form $"\nPlease enter your Microblog details:" 11 55 3 \
$"Domain:" 1 1 "$(grep 'MICROBLOG_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
2> $data
fi
sel=$?
......@@ -1312,13 +1312,13 @@ function interactive_configuration {
validate_domain_name
if [[ $TEST_DOMAIN_NAME != $MICROBLOG_DOMAIN_NAME ]]; then
MICROBLOG_DOMAIN_NAME=
dialog --title "Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
dialog --title $"Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
else
if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
MICROBLOG_CODE=$(cat $data | sed -n 2p)
if [ ${#MICROBLOG_CODE} -lt 30 ]; then
MICROBLOG_DOMAIN_NAME=
dialog --title "FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
dialog --title $"FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
fi
fi
fi
......@@ -1338,17 +1338,17 @@ function interactive_configuration {
trap "rm -f $data" 0 1 2 5 15
if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
dialog --backtitle "Freedombone Configuration" \
--title "Developer Configuration" \
--form "\nPlease enter your Git hosting site details.\nIf You don't need developer tools then just select Ok" 11 55 3 \
"Domain:" 1 1 "$(grep 'GIT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 40 \
"Code:" 2 1 "$(grep 'GIT_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 40 \
dialog --backtitle $"Freedombone Configuration" \
--title $"Developer Configuration" \
--form $"\nPlease enter your Git hosting site details.\nIf You don't need developer tools then just select Ok" 11 55 3 \
$"Domain:" 1 1 "$(grep 'GIT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 40 \
$"Code:" 2 1 "$(grep 'GIT_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 40 \
2> $data
else
dialog --backtitle "Freedombone Configuration" \
--title "Developer Configuration" \
--form "\nPlease enter your Git hosting site details.\nIf You don't need developer tools then just select Ok" 11 55 2 \
"Domain:" 1 1 "$(grep 'GIT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 40 \
dialog --backtitle $"Freedombone Configuration" \
--title $"Developer Configuration" \
--form $"\nPlease enter your Git hosting site details.\nIf You don't need developer tools then just select Ok" 11 55 2 \
$"Domain:" 1 1 "$(grep 'GIT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 40 \
2> $data
fi
sel=$?
......@@ -1362,13 +1362,13 @@ function interactive_configuration {
validate_domain_name
if [[ $TEST_DOMAIN_NAME != $GIT_DOMAIN_NAME ]]; then
GIT_DOMAIN_NAME=
dialog --title "Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
dialog --title $"Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
else
if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
GIT_CODE=$(cat $data | sed -n 2p)
if [ ${#GIT_CODE} -lt 30 ]; then
GIT_DOMAIN_NAME=
dialog --title "FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
dialog --title $"FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
fi
fi
fi
......@@ -1389,11 +1389,11 @@ function interactive_configuration {
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
dialog --backtitle "Freedombone Configuration" \
--title "Default Domain" \
--form "\nWhich domain name should your email/XMPP/IRC/VoIP be associated with?" 11 55 3 \
"Domain:" 1 1 "$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
"Code:" 2 1 "$(grep 'DEFAULT_DOMAIN_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
dialog --backtitle $"Freedombone Configuration" \
--title $"Default Domain" \
--form $"\nWhich domain name should your email/XMPP/IRC/VoIP be associated with?" 11 55 3 \
$"Domain:" 1 1 "$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
$"Code:" 2 1 "$(grep 'DEFAULT_DOMAIN_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
2> $data
sel=$?
case $sel in
......@@ -1405,12 +1405,12 @@ function interactive_configuration {
if [ $DEFAULT_DOMAIN_NAME ]; then
if [ ${#DEFAULT_DOMAIN_CODE} -lt 30 ]; then
DEFAULT_DOMAIN_NAME=
dialog --title "FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
dialog --title $"FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
fi
fi
else
dialog --backtitle "Freedombone Configuration" \
--inputbox "Which domain name should your email/XMPP/IRC/VoIP be associated with?" 10 45 \
dialog --backtitle $"Freedombone Configuration" \
--inputbox $"Which domain name should your email/XMPP/IRC/VoIP be associated with?" 10 45 \
"$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
sel=$?
case $sel in
......@@ -1424,7 +1424,7 @@ function interactive_configuration {
validate_domain_name
if [[ $TEST_DOMAIN_NAME != $DEFAULT_DOMAIN_NAME ]]; then
DEFAULT_DOMAIN_NAME=
dialog --title "Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
dialog --title $"Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
else
DEFAULT_DOMAIN_DETAILS_COMPLETE="yes"
fi
......@@ -1444,8 +1444,8 @@ function interactive_configuration {
data=$(tempfile 2>/dev/null)
trap "rm -f $data" 0 1 2 5 15
dialog --backtitle "Freedombone Configuration" \
--inputbox "Your email address" 10 30 "$EMAIL_ADDRESS" 2> $data
dialog --backtitle $"Freedombone Configuration" \
--inputbox $"Your email address" 10 30 "$EMAIL_ADDRESS" 2> $data
sel=$?
case $sel in
0) MY_EMAIL_ADDRESS=$(cat $data);;
......@@ -1465,9 +1465,10 @@ function interactive_configuration {
function show_result {
clear
echo ''
echo "Configuration filename: $CONFIGURATION_FILE"
echo -n $"Configuration filename:"
echo " $CONFIGURATION_FILE"
echo ''
echo 'Contents:'
echo $'Contents:'
echo ''
cat $CONFIGURATION_FILE
echo ''
......
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment