Преглед изворни кода

Customising interactive installer for the mesh variant

Bob Mottram пре 10 година
родитељ
комит
50b2b7860c
1 измењених фајлова са 156 додато и 150 уклоњено
  1. 156
    150
      src/freedombone-config

+ 156
- 150
src/freedombone-config Прегледај датотеку

@@ -487,7 +487,7 @@ function interactive_configuration {
487 487
       7 Social off \
488 488
       8 Media off \
489 489
       9 Developer off \
490
-	  10 Mesh off 2> $data
490
+      10 Mesh off 2> $data
491 491
   sel=$?
492 492
   case $sel in
493 493
       1) exit 1;;
@@ -508,8 +508,8 @@ function interactive_configuration {
508 508
   save_configuration_file
509 509
 
510 510
   if [[ SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
511
-	  ENABLE_BATMAN="yes"
512
-	  ENABLE_CJDNS="no"
511
+      ENABLE_BATMAN="yes"
512
+      ENABLE_CJDNS="no"
513 513
   fi
514 514
 
515 515
   data=$(tempfile 2>/dev/null)
@@ -562,27 +562,29 @@ function interactive_configuration {
562 562
   fi
563 563
   save_configuration_file
564 564
 
565
-  interactive_gpg
565
+  if [[ SYSTEM_TYPE != "$VARIANT_MESH" ]]; then
566
+      interactive_gpg
566 567
 
567
-  data=$(tempfile 2>/dev/null)
568
-  trap "rm -f $data" 0 1 2 5 15
569
-  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."
570
-  if [[ $(grep "ENABLE_SOCIAL_KEY_MANAGEMENT" temp.cfg | awk -F '=' '{print $2}') == "yes" ]]; then
571
-      dialog --title "Social Key Management" \
572
-             --backtitle "Freedombone Configuration" \
573
-             --yesno "$SOCIAL_KEY_STR" 15 60
574
-  else
575
-      dialog --title "Social Key Management" \
576
-             --backtitle "Freedombone Configuration" \
577
-             --defaultno \
578
-             --yesno "$SOCIAL_KEY_STR" 15 60
568
+      data=$(tempfile 2>/dev/null)
569
+      trap "rm -f $data" 0 1 2 5 15
570
+      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."
571
+      if [[ $(grep "ENABLE_SOCIAL_KEY_MANAGEMENT" temp.cfg | awk -F '=' '{print $2}') == "yes" ]]; then
572
+          dialog --title "Social Key Management" \
573
+                 --backtitle "Freedombone Configuration" \
574
+                 --yesno "$SOCIAL_KEY_STR" 15 60
575
+      else
576
+          dialog --title "Social Key Management" \
577
+                 --backtitle "Freedombone Configuration" \
578
+                 --defaultno \
579
+                 --yesno "$SOCIAL_KEY_STR" 15 60
580
+      fi
581
+      sel=$?
582
+      case $sel in
583
+          0) ENABLE_SOCIAL_KEY_MANAGEMENT="yes";;
584
+          255) exit 1;;
585
+      esac
586
+      save_configuration_file
579 587
   fi
580
-  sel=$?
581
-  case $sel in
582
-      0) ENABLE_SOCIAL_KEY_MANAGEMENT="yes";;
583
-      255) exit 1;;
584
-  esac
585
-  save_configuration_file
586 588
 
587 589
   data=$(tempfile 2>/dev/null)
588 590
   trap "rm -f $data" 0 1 2 5 15
@@ -804,83 +806,86 @@ function interactive_configuration {
804 806
   esac
805 807
   save_configuration_file
806 808
 
807
-  data=$(tempfile 2>/dev/null)
808
-  trap "rm -f $data" 0 1 2 5 15
809
-  dialog --backtitle "Freedombone Configuration" \
810
-      --radiolist "Choose Dynamic DNS provider:" 15 40 14 \
811
-      1 dyndns off \
812
-      2 freedns on \
813
-      3 zoneedit off \
814
-      4 no-ip off \
815
-      5 easydns off \
816
-      6 tzo off \
817
-      7 3322 off \
818
-      8 dnsomatic off \
819
-      9 tunnelbroker off \
820
-      10 dns.he.net off \
821
-      11 dynsip off \
822
-      12 sitelutions off \
823
-      13 dnsexit off \
824
-      14 changeip off 2> $data
825
-  sel=$?
826
-  case $sel in
827
-      1) exit 1;;
828
-      255) exit 1;;
829
-  esac
830
-  case $(cat $data) in
831
-      1) DDNS_PROVIDER="default@dyndns.org";;
832
-      2) DDNS_PROVIDER="default@freedns.afraid.org";;
833
-      3) DDNS_PROVIDER="default@zoneedit.com";;
834
-      4) DDNS_PROVIDER="default@no-ip.com";;
835
-      5) DDNS_PROVIDER="default@easydns.com";;
836
-      6) DDNS_PROVIDER="default@tzo.com";;
837
-      7) DDNS_PROVIDER="dyndns@3322.org";;
838
-      8) DDNS_PROVIDER="default@dnsomatic.com";;
839
-      9) DDNS_PROVIDER="ipv6tb@he.net";;
840
-      10) DDNS_PROVIDER="dyndns@he.net";;
841
-      11) DDNS_PROVIDER="default@dynsip.org";;
842
-      12) DDNS_PROVIDER="default@sitelutions.com";;
843
-      13) DDNS_PROVIDER="default@dnsexit.com";;
844
-      14) DDNS_PROVIDER="default@changeip.com";;
845
-      255) exit 1;;
846
-  esac
847
-  save_configuration_file
809
+  if [[ SYSTEM_TYPE != "$VARIANT_MESH" ]]; then
848 810
 
849
-  while [ ! $DDNS_USERNAME ]
850
-  do
851 811
       data=$(tempfile 2>/dev/null)
852 812
       trap "rm -f $data" 0 1 2 5 15
853 813
       dialog --backtitle "Freedombone Configuration" \
854
-          --inputbox "Dynamic DNS provider username" 10 30 "$(grep 'DDNS_USERNAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
814
+          --radiolist "Choose Dynamic DNS provider:" 15 40 14 \
815
+          1 dyndns off \
816
+          2 freedns on \
817
+          3 zoneedit off \
818
+          4 no-ip off \
819
+          5 easydns off \
820
+          6 tzo off \
821
+          7 3322 off \
822
+          8 dnsomatic off \
823
+          9 tunnelbroker off \
824
+          10 dns.he.net off \
825
+          11 dynsip off \
826
+          12 sitelutions off \
827
+          13 dnsexit off \
828
+          14 changeip off 2> $data
855 829
       sel=$?
856 830
       case $sel in
857
-          0) DDNS_USERNAME=$(cat $data);;
858 831
           1) exit 1;;
859 832
           255) exit 1;;
860 833
       esac
861
-  done
862
-  save_configuration_file
863
-
864
-  while [ ! $DDNS_PASSWORD ]
865
-  do
866
-      data=$(tempfile 2>/dev/null)
867
-      trap "rm -f $data" 0 1 2 5 15
868
-      dialog --backtitle "Freedombone Configuration" \
869
-          --clear \
870
-          --insecure \
871
-          --passwordbox "Dynamic DNS provider password" 10 30 "$(grep 'DDNS_PASSWORD' temp.cfg | awk -F '=' '{print $2}')" 2> $data
872
-      sel=$?
873
-      case $sel in
874
-          0) DDNS_PASSWORD=$(cat $data);;
875
-          1) exit 1;;
834
+      case $(cat $data) in
835
+          1) DDNS_PROVIDER="default@dyndns.org";;
836
+          2) DDNS_PROVIDER="default@freedns.afraid.org";;
837
+          3) DDNS_PROVIDER="default@zoneedit.com";;
838
+          4) DDNS_PROVIDER="default@no-ip.com";;
839
+          5) DDNS_PROVIDER="default@easydns.com";;
840
+          6) DDNS_PROVIDER="default@tzo.com";;
841
+          7) DDNS_PROVIDER="dyndns@3322.org";;
842
+          8) DDNS_PROVIDER="default@dnsomatic.com";;
843
+          9) DDNS_PROVIDER="ipv6tb@he.net";;
844
+          10) DDNS_PROVIDER="dyndns@he.net";;
845
+          11) DDNS_PROVIDER="default@dynsip.org";;
846
+          12) DDNS_PROVIDER="default@sitelutions.com";;
847
+          13) DDNS_PROVIDER="default@dnsexit.com";;
848
+          14) DDNS_PROVIDER="default@changeip.com";;
876 849
           255) exit 1;;
877 850
       esac
878
-      if [ ${#DDNS_PASSWORD} -lt $MINIMUM_PASSWORD_LENGTH ]; then
879
-          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
880
-          DDNS_PASSWORD=""
881
-      fi
882
-  done
883
-  save_configuration_file
851
+      save_configuration_file
852
+
853
+      while [ ! $DDNS_USERNAME ]
854
+      do
855
+          data=$(tempfile 2>/dev/null)
856
+          trap "rm -f $data" 0 1 2 5 15
857
+          dialog --backtitle "Freedombone Configuration" \
858
+              --inputbox "Dynamic DNS provider username" 10 30 "$(grep 'DDNS_USERNAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
859
+          sel=$?
860
+          case $sel in
861
+              0) DDNS_USERNAME=$(cat $data);;
862
+              1) exit 1;;
863
+              255) exit 1;;
864
+          esac
865
+      done
866
+      save_configuration_file
867
+
868
+      while [ ! $DDNS_PASSWORD ]
869
+      do
870
+          data=$(tempfile 2>/dev/null)
871
+          trap "rm -f $data" 0 1 2 5 15
872
+          dialog --backtitle "Freedombone Configuration" \
873
+              --clear \
874
+              --insecure \
875
+              --passwordbox "Dynamic DNS provider password" 10 30 "$(grep 'DDNS_PASSWORD' temp.cfg | awk -F '=' '{print $2}')" 2> $data
876
+          sel=$?
877
+          case $sel in
878
+              0) DDNS_PASSWORD=$(cat $data);;
879
+              1) exit 1;;
880
+              255) exit 1;;
881
+          esac
882
+          if [ ${#DDNS_PASSWORD} -lt $MINIMUM_PASSWORD_LENGTH ]; then
883
+              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
884
+              DDNS_PASSWORD=""
885
+          fi
886
+      done
887
+      save_configuration_file
888
+  fi
884 889
 
885 890
   while [ ! $MY_NAME ]
886 891
   do
@@ -1236,78 +1241,79 @@ function interactive_configuration {
1236 1241
       save_configuration_file
1237 1242
   fi
1238 1243
 
1239
-  DEFAULT_DOMAIN_DETAILS_COMPLETE=
1240
-  while [ ! $DEFAULT_DOMAIN_DETAILS_COMPLETE ]
1241
-  do
1242
-      data=$(tempfile 2>/dev/null)
1243
-      trap "rm -f $data" 0 1 2 5 15
1244
-      if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
1245
-          dialog --backtitle "Freedombone Configuration" \
1246
-                 --title "Default Domain" \
1247
-                 --form "\nWhich domain name should your email/XMPP/IRC/VoIP be associated with?" 11 55 3 \
1248
-                 "Domain:" 1 1 "$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
1249
-                 "Code:" 2 1 "$(grep 'DEFAULT_DOMAIN_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
1250
-                 2> $data
1251
-          sel=$?
1252
-          case $sel in
1253
-              1) exit 1;;
1254
-              255) exit 1;;
1255
-          esac
1256
-          DEFAULT_DOMAIN_NAME=$(cat $data | sed -n 1p)
1257
-          DEFAULT_DOMAIN_CODE=$(cat $data | sed -n 2p)
1244
+  if [[ SYSTEM_TYPE != "$VARIANT_MESH" ]]; then
1245
+      DEFAULT_DOMAIN_DETAILS_COMPLETE=
1246
+      while [ ! $DEFAULT_DOMAIN_DETAILS_COMPLETE ]
1247
+      do
1248
+          data=$(tempfile 2>/dev/null)
1249
+          trap "rm -f $data" 0 1 2 5 15
1250
+          if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
1251
+              dialog --backtitle "Freedombone Configuration" \
1252
+                     --title "Default Domain" \
1253
+                     --form "\nWhich domain name should your email/XMPP/IRC/VoIP be associated with?" 11 55 3 \
1254
+                     "Domain:" 1 1 "$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
1255
+                     "Code:" 2 1 "$(grep 'DEFAULT_DOMAIN_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
1256
+                     2> $data
1257
+              sel=$?
1258
+              case $sel in
1259
+                  1) exit 1;;
1260
+                  255) exit 1;;
1261
+              esac
1262
+              DEFAULT_DOMAIN_NAME=$(cat $data | sed -n 1p)
1263
+              DEFAULT_DOMAIN_CODE=$(cat $data | sed -n 2p)
1264
+              if [ $DEFAULT_DOMAIN_NAME ]; then
1265
+                  if [ ${#DEFAULT_DOMAIN_CODE} -lt 30 ]; then
1266
+                      DEFAULT_DOMAIN_NAME=
1267
+                      dialog --title "FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
1268
+                  fi
1269
+              fi
1270
+          else
1271
+              dialog --backtitle "Freedombone Configuration" \
1272
+                  --inputbox "Which domain name should your email/XMPP/IRC/VoIP be associated with?" 10 45 \
1273
+                  "$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
1274
+              sel=$?
1275
+              case $sel in
1276
+                  0) DEFAULT_DOMAIN_NAME=$(cat $data);;
1277
+                  1) exit 1;;
1278
+                  255) exit 1;;
1279
+              esac
1280
+          fi
1258 1281
           if [ $DEFAULT_DOMAIN_NAME ]; then
1259
-              if [ ${#DEFAULT_DOMAIN_CODE} -lt 30 ]; then
1282
+              TEST_DOMAIN_NAME=$DEFAULT_DOMAIN_NAME
1283
+              validate_domain_name
1284
+              if [[ $TEST_DOMAIN_NAME != $DEFAULT_DOMAIN_NAME ]]; then
1260 1285
                   DEFAULT_DOMAIN_NAME=
1261
-                  dialog --title "FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
1286
+                  dialog --title "Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
1287
+              else
1288
+                  DEFAULT_DOMAIN_DETAILS_COMPLETE="yes"
1262 1289
               fi
1263 1290
           fi
1264
-      else
1291
+      done
1292
+      save_configuration_file
1293
+
1294
+      while [ ${#MY_EMAIL_ADDRESS} -lt 5 ]
1295
+      do
1296
+          EMAIL_ADDRESS=$(grep 'MY_EMAIL_ADDRESS' temp.cfg | awk -F '=' '{print $2}')
1297
+          if [ ! $EMAIL_ADDRESS ]; then
1298
+              EMAIL_ADDRESS=$MY_USERNAME@$DEFAULT_DOMAIN_NAME
1299
+          fi
1300
+          if [ ${#MY_EMAIL_ADDRESS} -lt 5 ]; then
1301
+              EMAIL_ADDRESS=$MY_USERNAME@$DEFAULT_DOMAIN_NAME
1302
+          fi
1303
+
1304
+          data=$(tempfile 2>/dev/null)
1305
+          trap "rm -f $data" 0 1 2 5 15
1265 1306
           dialog --backtitle "Freedombone Configuration" \
1266
-              --inputbox "Which domain name should your email/XMPP/IRC/VoIP be associated with?" 10 45 \
1267
-              "$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
1307
+              --inputbox "Your email address" 10 30 "$EMAIL_ADDRESS" 2> $data
1268 1308
           sel=$?
1269 1309
           case $sel in
1270
-              0) DEFAULT_DOMAIN_NAME=$(cat $data);;
1310
+              0) MY_EMAIL_ADDRESS=$(cat $data);;
1271 1311
               1) exit 1;;
1272 1312
               255) exit 1;;
1273 1313
           esac
1274
-      fi
1275
-      if [ $DEFAULT_DOMAIN_NAME ]; then
1276
-          TEST_DOMAIN_NAME=$DEFAULT_DOMAIN_NAME
1277
-          validate_domain_name
1278
-          if [[ $TEST_DOMAIN_NAME != $DEFAULT_DOMAIN_NAME ]]; then
1279
-              DEFAULT_DOMAIN_NAME=
1280
-              dialog --title "Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
1281
-          else
1282
-              DEFAULT_DOMAIN_DETAILS_COMPLETE="yes"
1283
-          fi
1284
-      fi
1285
-  done
1286
-  save_configuration_file
1287
-
1288
-  while [ ${#MY_EMAIL_ADDRESS} -lt 5 ]
1289
-  do
1290
-      EMAIL_ADDRESS=$(grep 'MY_EMAIL_ADDRESS' temp.cfg | awk -F '=' '{print $2}')
1291
-      if [ ! $EMAIL_ADDRESS ]; then
1292
-          EMAIL_ADDRESS=$MY_USERNAME@$DEFAULT_DOMAIN_NAME
1293
-      fi
1294
-      if [ ${#MY_EMAIL_ADDRESS} -lt 5 ]; then
1295
-          EMAIL_ADDRESS=$MY_USERNAME@$DEFAULT_DOMAIN_NAME
1296
-      fi
1297
-
1298
-      data=$(tempfile 2>/dev/null)
1299
-      trap "rm -f $data" 0 1 2 5 15
1300
-      dialog --backtitle "Freedombone Configuration" \
1301
-          --inputbox "Your email address" 10 30 "$EMAIL_ADDRESS" 2> $data
1302
-      sel=$?
1303
-      case $sel in
1304
-          0) MY_EMAIL_ADDRESS=$(cat $data);;
1305
-          1) exit 1;;
1306
-          255) exit 1;;
1307
-      esac
1308
-  done
1309
-
1310
-  save_configuration_file
1314
+      done
1315
+      save_configuration_file
1316
+  fi
1311 1317
 
1312 1318
   # delete the temporary configuration file
1313 1319
   if [ -f temp.cfg ]; then