Browse Source

Default domain code

Bob Mottram 10 years ago
parent
commit
e188a4d06b
2 changed files with 52 additions and 9 deletions
  1. 4
    0
      src/freedombone
  2. 48
    9
      src/freedombone-config

+ 4
- 0
src/freedombone View File

@@ -55,6 +55,7 @@ VARIANT_MEDIA="media"
55 55
 VARIANT_TOR_DONGLE="tordongle"
56 56
 
57 57
 DEFAULT_DOMAIN_NAME=
58
+DEFAULT_DOMAIN_CODE=
58 59
 MY_USERNAME=
59 60
 SYSTEM_TYPE=$VARIANT_FULL
60 61
 
@@ -720,6 +721,9 @@ function read_configuration {
720 721
       if grep -q "DEFAULT_DOMAIN_NAME" $CONFIGURATION_FILE; then
721 722
           DEFAULT_DOMAIN_NAME=$(grep "DEFAULT_DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
722 723
       fi
724
+      if grep -q "DEFAULT_DOMAIN_CODE" $CONFIGURATION_FILE; then
725
+          DEFAULT_DOMAIN_CODE=$(grep "DEFAULT_DOMAIN_CODE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
726
+      fi
723 727
       if grep -q "NAMESERVER1" $CONFIGURATION_FILE; then
724 728
           NAMESERVER1=$(grep "NAMESERVER1" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
725 729
       fi

+ 48
- 9
src/freedombone-config View File

@@ -54,6 +54,7 @@ VARIANT_TOR_DONGLE="tordongle"
54 54
 
55 55
 MY_USERNAME=
56 56
 DEFAULT_DOMAIN_NAME=
57
+DEFAULT_DOMAIN_CODE=
57 58
 MY_EMAIL_ADDRESS=
58 59
 SYSTEM_TYPE=
59 60
 INSTALLING_ON_BBB=
@@ -141,6 +142,9 @@ function save_configuration_file {
141 142
 
142 143
   echo "MY_USERNAME=$MY_USERNAME" > $CONFIGURATION_FILE
143 144
   echo "DEFAULT_DOMAIN_NAME=$DEFAULT_DOMAIN_NAME" >> $CONFIGURATION_FILE
145
+  if [ $DEFAULT_DOMAIN_CODE ]; then
146
+      echo "DEFAULT_DOMAIN_CODE=$DEFAULT_DOMAIN_CODE" >> $CONFIGURATION_FILE
147
+  fi
144 148
   echo "SYSTEM_TYPE=$SYSTEM_TYPE" >> $CONFIGURATION_FILE
145 149
   echo "INSTALLING_ON_BBB=$INSTALLING_ON_BBB" >> $CONFIGURATION_FILE
146 150
   echo "DDNS_PROVIDER=$DDNS_PROVIDER" >> $CONFIGURATION_FILE
@@ -864,22 +868,54 @@ function interactive_configuration {
864 868
       save_configuration_file
865 869
   fi
866 870
 
867
-  if [ ! $DEFAULT_DOMAIN_NAME ]; then
868
-      while [ ! $DEFAULT_DOMAIN_NAME ]
869
-      do
870
-          data=$(tempfile 2>/dev/null)
871
-          trap "rm -f $data" 0 1 2 5 15
871
+  DEFAULT_DOMAIN_DETAILS_COMPLETE=
872
+  while [ ! $DEFAULT_DOMAIN_DETAILS_COMPLETE ]
873
+  do
874
+      data=$(tempfile 2>/dev/null)
875
+      trap "rm -f $data" 0 1 2 5 15
876
+      if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
872 877
           dialog --backtitle "Freedombone Configuration" \
873
-              --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
878
+                 --title "Default Domain" \
879
+                 --form "\nWhich domain name should your email/XMPP/IRC/VoIP be associated with?" 11 55 3 \
880
+                 "Domain:" 1 1 "$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 25 30 \
881
+                 "Code:" 2 1 "$(grep 'DEFAULT_DOMAIN_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 25 30 \
882
+                 2> $data
883
+          sel=$?
884
+          case $sel in
885
+              1) exit 0;;
886
+              255) exit 0;;
887
+          esac
888
+          DEFAULT_DOMAIN_NAME=$(cat $data | sed -n 1p)
889
+          DEFAULT_DOMAIN_CODE=$(cat $data | sed -n 2p)
890
+          if [ $DEFAULT_DOMAIN_NAME ]; then
891
+              if [ ${#DEFAULT_DOMAIN_CODE} -lt 5 ]; then
892
+                  DEFAULT_DOMAIN_NAME=
893
+                  dialog --title "FreeDNS code" --msgbox "$FREEDNS_MESSAGE" 15 50
894
+              fi
895
+          fi
896
+      else
897
+          dialog --backtitle "Freedombone Configuration" \
898
+              --inputbox "Which domain name should your email/XMPP/IRC/VoIP be associated with?" 10 45 \
899
+              "$(grep 'DEFAULT_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 2> $data
874 900
           sel=$?
875 901
           case $sel in
876 902
               0) DEFAULT_DOMAIN_NAME=$(cat $data);;
877 903
               1) exit 0;;
878 904
               255) exit 0;;
879 905
           esac
880
-      done
881
-      save_configuration_file
882
-  fi
906
+      fi
907
+      if [ $DEFAULT_DOMAIN_NAME ]; then
908
+          TEST_DOMAIN_NAME=$DEFAULT_DOMAIN_NAME
909
+          validate_domain_name
910
+          if [[ $TEST_DOMAIN_NAME != $DEFAULT_DOMAIN_NAME ]]; then
911
+              DEFAULT_DOMAIN_NAME=
912
+              dialog --title "Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
913
+          else
914
+              DEFAULT_DOMAIN_DETAILS_COMPLETE="yes"
915
+          fi
916
+      fi
917
+  done
918
+  save_configuration_file
883 919
 
884 920
   while [ ! $MY_EMAIL_ADDRESS ]
885 921
   do
@@ -935,6 +971,9 @@ function read_configuration {
935 971
       if grep -q "DEFAULT_DOMAIN_NAME" $CONFIGURATION_FILE; then
936 972
           DEFAULT_DOMAIN_NAME=$(grep "DEFAULT_DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
937 973
       fi
974
+      if grep -q "DEFAULT_DOMAIN_CODE" $CONFIGURATION_FILE; then
975
+          DEFAULT_DOMAIN_CODE=$(grep "DEFAULT_DOMAIN_CODE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
976
+      fi
938 977
       if grep -q "NAMESERVER1" $CONFIGURATION_FILE; then
939 978
           NAMESERVER1=$(grep "NAMESERVER1" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
940 979
       fi