Browse Source

Default to no static local IP address, but have the option to set one

Bob Mottram 9 years ago
parent
commit
54b3daf9d4
2 changed files with 53 additions and 31 deletions
  1. 9
    2
      src/freedombone
  2. 44
    29
      src/freedombone-config

+ 9
- 2
src/freedombone View File

101
 IPV6_NETWORK='2001:470:26:307'
101
 IPV6_NETWORK='2001:470:26:307'
102
 
102
 
103
 # The static IP address of the system within the local network
103
 # The static IP address of the system within the local network
104
-LOCAL_NETWORK_STATIC_IP_ADDRESS="192.168.1.60"
104
+# By default the IP address is dynamic within your LAN
105
+LOCAL_NETWORK_STATIC_IP_ADDRESS=
105
 
106
 
106
 # IP address of the router (gateway)
107
 # IP address of the router (gateway)
107
 ROUTER_IP_ADDRESS="192.168.1.254"
108
 ROUTER_IP_ADDRESS="192.168.1.254"
1291
   if [[ INSTALLING_ON_BBB == "yes" ]]; then
1292
   if [[ INSTALLING_ON_BBB == "yes" ]]; then
1292
       return
1293
       return
1293
   fi
1294
   fi
1295
+  if [ ! $LOCAL_NETWORK_STATIC_IP_ADDRESS ]; then
1296
+      return
1297
+  fi
1294
 
1298
 
1295
   echo '# This file describes the network interfaces available on your system' > /etc/network/interfaces
1299
   echo '# This file describes the network interfaces available on your system' > /etc/network/interfaces
1296
   echo '# and how to activate them. For more information, see interfaces(5).' >> /etc/network/interfaces
1300
   echo '# and how to activate them. For more information, see interfaces(5).' >> /etc/network/interfaces
6975
   echo "dc_readhost=''" >> /etc/exim4/update-exim4.conf.conf
6979
   echo "dc_readhost=''" >> /etc/exim4/update-exim4.conf.conf
6976
   echo "dc_relay_domains=''" >> /etc/exim4/update-exim4.conf.conf
6980
   echo "dc_relay_domains=''" >> /etc/exim4/update-exim4.conf.conf
6977
   echo "dc_minimaldns='false'" >> /etc/exim4/update-exim4.conf.conf
6981
   echo "dc_minimaldns='false'" >> /etc/exim4/update-exim4.conf.conf
6978
-  RELAY_NETS=$(echo $LOCAL_NETWORK_STATIC_IP_ADDRESS | awk -F '.' '{print $1 "." $2 "." $3 ".0/24"}')
6982
+  RELAY_NETS='192.168.1.0/24'
6983
+  if [ $LOCAL_NETWORK_STATIC_IP_ADDRESS ]; then
6984
+      RELAY_NETS=$(echo $LOCAL_NETWORK_STATIC_IP_ADDRESS | awk -F '.' '{print $1 "." $2 "." $3 ".0/24"}')
6985
+  fi
6979
   echo "dc_relay_nets='$RELAY_NETS'" >> /etc/exim4/update-exim4.conf.conf
6986
   echo "dc_relay_nets='$RELAY_NETS'" >> /etc/exim4/update-exim4.conf.conf
6980
   echo "dc_smarthost=''" >> /etc/exim4/update-exim4.conf.conf
6987
   echo "dc_smarthost=''" >> /etc/exim4/update-exim4.conf.conf
6981
   echo "CFILEMODE='644'" >> /etc/exim4/update-exim4.conf.conf
6988
   echo "CFILEMODE='644'" >> /etc/exim4/update-exim4.conf.conf

+ 44
- 29
src/freedombone-config View File

180
         echo "MY_NAME=$MY_NAME" >> $CONFIGURATION_FILE
180
         echo "MY_NAME=$MY_NAME" >> $CONFIGURATION_FILE
181
     fi
181
     fi
182
     echo "MY_EMAIL_ADDRESS=$MY_EMAIL_ADDRESS" >> $CONFIGURATION_FILE
182
     echo "MY_EMAIL_ADDRESS=$MY_EMAIL_ADDRESS" >> $CONFIGURATION_FILE
183
-    echo "LOCAL_NETWORK_STATIC_IP_ADDRESS=$LOCAL_NETWORK_STATIC_IP_ADDRESS" >> $CONFIGURATION_FILE
184
-    echo "ROUTER_IP_ADDRESS=$ROUTER_IP_ADDRESS" >> $CONFIGURATION_FILE
183
+    if [ $LOCAL_NETWORK_STATIC_IP_ADDRESS ]; then
184
+        echo "LOCAL_NETWORK_STATIC_IP_ADDRESS=$LOCAL_NETWORK_STATIC_IP_ADDRESS" >> $CONFIGURATION_FILE
185
+        echo "ROUTER_IP_ADDRESS=$ROUTER_IP_ADDRESS" >> $CONFIGURATION_FILE
186
+    fi
185
     if [ $ENABLE_CJDNS ]; then
187
     if [ $ENABLE_CJDNS ]; then
186
         echo "ENABLE_CJDNS=$ENABLE_CJDNS" >> $CONFIGURATION_FILE
188
         echo "ENABLE_CJDNS=$ENABLE_CJDNS" >> $CONFIGURATION_FILE
187
     fi
189
     fi
657
     fi
659
     fi
658
 
660
 
659
     if [ -d /home/$GENERIC_IMAGE_USERNAME ]; then
661
     if [ -d /home/$GENERIC_IMAGE_USERNAME ]; then
660
-		if [ ! -f $IMAGE_PASSWORD_FILE ]; then
661
-			echo 'Cannot find the password file for the admin user'
662
-			exit 62753
663
-		fi
662
+        if [ ! -f $IMAGE_PASSWORD_FILE ]; then
663
+            echo 'Cannot find the password file for the admin user'
664
+            exit 62753
665
+        fi
664
         # when installing from an image which comes with a known default user account
666
         # when installing from an image which comes with a known default user account
665
         selected_username=
667
         selected_username=
666
         while [ ! $selected_username ]
668
         while [ ! $selected_username ]
1091
         save_configuration_file
1093
         save_configuration_file
1092
     fi
1094
     fi
1093
 
1095
 
1094
-    if [ ! $LOCAL_NETWORK_STATIC_IP_ADDRESS ]; then
1095
-        LOCAL_NETWORK_STATIC_IP_ADDRESS=$(grep 'LOCAL_NETWORK_STATIC_IP_ADDRESS' temp.cfg | awk -F '=' '{print $2}')
1096
+    SET_STATIC_IP="no"
1097
+    dialog --title $"Static local IP address" \
1098
+           --backtitle $"Freedombone Configuration" \
1099
+           --defaultno \
1100
+           --yesno $"\nDo you want to set a static local IP address for this system?\n\nFor example, 192.168.1.10" 10 60
1101
+    sel=$?
1102
+    case $sel in
1103
+        0) SET_STATIC_IP="yes";;
1104
+        255) exit 1;;
1105
+    esac
1106
+
1107
+    if [[ $SET_STATIC_IP == "yes" ]]; then
1096
         if [ ! $LOCAL_NETWORK_STATIC_IP_ADDRESS ]; then
1108
         if [ ! $LOCAL_NETWORK_STATIC_IP_ADDRESS ]; then
1097
-            LOCAL_NETWORK_STATIC_IP_ADDRESS='192.168..'
1109
+            LOCAL_NETWORK_STATIC_IP_ADDRESS=$(grep 'LOCAL_NETWORK_STATIC_IP_ADDRESS' temp.cfg | awk -F '=' '{print $2}')
1110
+            if [ ! $LOCAL_NETWORK_STATIC_IP_ADDRESS ]; then
1111
+                LOCAL_NETWORK_STATIC_IP_ADDRESS='192.168..'
1112
+            fi
1098
         fi
1113
         fi
1099
-    fi
1100
-    if [ ! $ROUTER_IP_ADDRESS ]; then
1101
-        ROUTER_IP_ADDRESS=$(grep 'ROUTER_IP_ADDRESS' temp.cfg | awk -F '=' '{print $2}')
1102
         if [ ! $ROUTER_IP_ADDRESS ]; then
1114
         if [ ! $ROUTER_IP_ADDRESS ]; then
1103
-            ROUTER_IP_ADDRESS='192.168..'
1115
+            ROUTER_IP_ADDRESS=$(grep 'ROUTER_IP_ADDRESS' temp.cfg | awk -F '=' '{print $2}')
1116
+            if [ ! $ROUTER_IP_ADDRESS ]; then
1117
+                ROUTER_IP_ADDRESS='192.168..'
1118
+            fi
1104
         fi
1119
         fi
1120
+        data=$(tempfile 2>/dev/null)
1121
+        trap "rm -f $data" 0 1 2 5 15
1122
+        dialog --backtitle $"Freedombone Configuration" \
1123
+               --title $"Local Network Configuration" \
1124
+               --form $"\nPlease enter the IP addresses:" 11 55 3 \
1125
+               $"This system:" 1 1 "$LOCAL_NETWORK_STATIC_IP_ADDRESS" 1 16 16 15 \
1126
+               $"Internet router:" 2 1 "$ROUTER_IP_ADDRESS" 2 16 16 15 \
1127
+               2> $data
1128
+        sel=$?
1129
+        case $sel in
1130
+            1) exit 1;;
1131
+            255) exit 1;;
1132
+        esac
1133
+        LOCAL_NETWORK_STATIC_IP_ADDRESS=$(cat $data | sed -n 1p)
1134
+        ROUTER_IP_ADDRESS=$(cat $data | sed -n 2p)
1135
+        save_configuration_file
1105
     fi
1136
     fi
1106
-    data=$(tempfile 2>/dev/null)
1107
-    trap "rm -f $data" 0 1 2 5 15
1108
-    dialog --backtitle $"Freedombone Configuration" \
1109
-           --title $"Local Network Configuration" \
1110
-           --form $"\nPlease enter the IP addresses:" 11 55 3 \
1111
-           $"This system:" 1 1 "$LOCAL_NETWORK_STATIC_IP_ADDRESS" 1 16 16 15 \
1112
-           $"Internet router:" 2 1 "$ROUTER_IP_ADDRESS" 2 16 16 15 \
1113
-           2> $data
1114
-    sel=$?
1115
-    case $sel in
1116
-        1) exit 1;;
1117
-        255) exit 1;;
1118
-    esac
1119
-    LOCAL_NETWORK_STATIC_IP_ADDRESS=$(cat $data | sed -n 1p)
1120
-    ROUTER_IP_ADDRESS=$(cat $data | sed -n 2p)
1121
-    save_configuration_file
1122
 
1137
 
1123
     if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
1138
     if [[ $SYSTEM_TYPE == "$VARIANT_WRITER" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
1124
         WIKI_DETAILS_COMPLETE=
1139
         WIKI_DETAILS_COMPLETE=