if not has_advanced then
uci:section("firewall", "advanced", nil,
- { tcp_ecn = "0" })
+ { tcp_ecn = "0", ip_conntrack_max = "8192", tcp_westwood = "1" })
end
uci:save("firewall")
tools.firewall_zone_add_interface("freifunk", device)
- -- Set hostname
local new_hostname = ip:gsub("%.", "-")
local old_hostname = sys.hostname()
- if old_hostname == "OpenWrt" or old_hostname:match("^%d+-%d+-%d+-%d+$") then
- uci:foreach("system", "system",
- function(s)
+ uci:foreach("system", "system",
+ function(s)
+ -- Make crond silent
+ uci:set("system", s['.name'], "cronloglevel", "10")
+
+ -- Set hostname
+ if old_hostname == "OpenWrt" or old_hostname:match("^%d+-%d+-%d+-%d+$") then
uci:set("system", s['.name'], "hostname", new_hostname)
- end)
+ sys.hostname(new_hostname)
+ end
+ end)
- luci.fs.writefile( "/proc/sys/kernel/hostname", new_hostname.."\n" )
- uci:save("system")
- end
+ uci:save("system")
end
local community = net:formvalue(section)
local external = community and uci:get("freifunk", community, "external") or ""
- -- Configure nameservice
- local hostname
- uci:foreach("system", "system", function(s) hostname = s.hostname end)
-
- if hostname then
- uci:foreach("olsrd", "LoadPlugin",
- function(s)
- if s.library == "olsrd_nameservice.so.0.3" then
- uci:set("olsrd", s['.name'], "name", hostname)
- end
- end)
- end
-
-- Delete old interface
uci:delete_all("olsrd", "Interface", {interface=device})
olsrbase.interface = device
olsrbase.ignore = "0"
uci:section("olsrd", "Interface", nil, olsrbase)
- uci:save("olsrd")
+
+ -- Delete old watchdog settings
+ uci:delete_all("olsrd", "LoadPlugin", {library="olsrd_watchdog.so.0.1"})
+
+ -- Write new watchdog settings
+ uci:section("olsrd", "LoadPlugin", nil, {
+ library = "olsrd_watchdog.so.0.1",
+ file = "/var/run/olsrd.watchdog",
+ interval = "30"
+ })
-- Import hosts
uci:foreach("dhcp", "dnsmasq", function(s)
uci:set("dhcp", s[".name"], "addnhosts", "/var/etc/hosts.olsr")
end)
+
+ uci:save("olsrd")
uci:save("dhcp")
end
function share.write(self, section, value)
uci:delete_all("firewall", "forwarding", {src="freifunk", dest="wan"})
+ uci:delete_all("olsrd", "LoadPlugin", {library="olsrd_dyn_gw_plain.so.0.4"})
if value == "1" then
uci:section("firewall", "forwarding", nil, {src="freifunk", dest="wan"})
+ uci:section("olsrd", "LoadPlugin", nil, {library="olsrd_dyn_gw_plain.so.0.4"})
end
uci:save("firewall")
+ uci:save("olsrd")
end
dhcpbase.interface = device .. "dhcp"
dhcpbase.start = dhcpbeg
dhcpbase.limit = limit
+ dhcpbase.force = 1
uci:section("dhcp", "dhcp", device .. "dhcp", dhcpbase)
uci:save("dhcp")
uci:delete_all("firewall", "rule", {
src="freifunk",
proto="udp",
+ dest_port="53"
+ })
+ uci:section("firewall", "rule", nil, {
+ src="freifunk",
+ proto="udp",
+ dest_port="53",
+ target="ACCEPT"
+ })
+ uci:delete_all("firewall", "rule", {
+ src="freifunk",
+ proto="udp",
src_port="68",
dest_port="67"
})
target="ACCEPT"
})
-
+ uci:save("firewall")
-- Delete old splash
- uci:delete_all("luci_splash", "iface", {net=device, zone="freifunk"})
+ uci:delete_all("luci_splash", "iface", {network=device.."dhcp", zone="freifunk"})
-- Register splash
- uci:section("luci_splash", "iface", nil, {net=device, zone="freifunk"})
+ uci:section("luci_splash", "iface", nil, {network=device.."dhcp", zone="freifunk"})
uci:save("luci_splash")
end