Browse Source

Improve ffho-config-mode-site-select

Improve Robustness at false "currentsite"
Karsten Böddeker 8 years ago
parent
commit
e64d20fa49

+ 32 - 26
ffho/ffho-config-mode-site-select/files/lib/gluon/upgrade/002-set-site-config

@@ -46,32 +46,38 @@ if configured == false then
 end
 
 if site.site_code ~= currentsite then
-  local new = {}
+  if type(config[currentsite]) == "table" then
+    local new = {}
   
-  new.hostname_prefix = site.hostname_prefix
-  new.site_name = config[currentsite].site_name
-  new.site_code = config[currentsite].site_code
-  new.prefix4 = site.prefix4
-  new.prefix6 = site.prefix6
-  new.additional_prefix6 = site.additional_prefix6
-  new.timezone = site.timezone
-  new.ntp_servers = site.ntp_servers
-  new.opkg_repo = site.opkg_repo
-  new.regdom = site.regdom
-  new.wifi24 = site.wifi24
-  new.wifi5 = site.wifi5
-  new.wifi24.ssid = config[currentsite].ssid
-  new.wifi5.ssid = config[currentsite].ssid
-  new.next_node = site.next_node
-  new.fastd_mesh_vpn = site.fastd_mesh_vpn
-  new.autoupdater = site.autoupdater
-  new.simple_tc = site.simple_tc
-  new.debugserver = site.debugserver
-  new.batman_on_wan = site.batman_on_wan
+    new.hostname_prefix = site.hostname_prefix
+    new.site_name = config[currentsite].site_name
+    new.site_code = config[currentsite].site_code
+    new.prefix4 = site.prefix4
+    new.prefix6 = site.prefix6
+    new.additional_prefix6 = site.additional_prefix6
+    new.timezone = site.timezone
+    new.ntp_servers = site.ntp_servers
+    new.opkg_repo = site.opkg_repo
+    new.regdom = site.regdom
+    new.wifi24 = site.wifi24
+    new.wifi5 = site.wifi5
+    new.wifi24.ssid = config[currentsite].ssid
+    new.wifi5.ssid = config[currentsite].ssid
+    new.next_node = site.next_node
+    new.fastd_mesh_vpn = site.fastd_mesh_vpn
+    new.autoupdater = site.autoupdater
+    new.simple_tc = site.simple_tc
+    new.debugserver = site.debugserver
+    new.batman_on_wan = site.batman_on_wan
 
-  file = '/lib/gluon/site.conf'
-  f = io.open(file, "w")
-  serialize(f,new)
-  f:write('\n')
-  f:close()
+    file = '/lib/gluon/site.conf'
+    f = io.open(file, "w")
+    serialize(f,new)
+    f:write('\n')
+    f:close()
+  else
+    c:set("currentsite", "current", "name", site.site_code)
+    c:save('currentsite')
+    c:commit('currentsite')
+  end
 end