diff options
author | Steven Barth <steven@midlink.org> | 2008-07-16 18:54:10 +0000 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2008-07-16 18:54:10 +0000 |
commit | 8d1aff78b17d6f7437d776bdf53a6aa2112f31db (patch) | |
tree | 48784a8d48cc782ec63a5cc705f3779a7fae8a3d /modules/admin-mini/luasrc/model/cbi/mini | |
parent | ea69b8dccc80c0b6c16225f2328834a7fd3be062 (diff) |
modules/admin-mini: Added Wifi configuration
several smaller bugfixes and enhancements
Diffstat (limited to 'modules/admin-mini/luasrc/model/cbi/mini')
-rw-r--r-- | modules/admin-mini/luasrc/model/cbi/mini/dhcp.lua | 65 | ||||
-rw-r--r-- | modules/admin-mini/luasrc/model/cbi/mini/network.lua | 73 | ||||
-rw-r--r-- | modules/admin-mini/luasrc/model/cbi/mini/wifi.lua | 103 |
3 files changed, 241 insertions, 0 deletions
diff --git a/modules/admin-mini/luasrc/model/cbi/mini/dhcp.lua b/modules/admin-mini/luasrc/model/cbi/mini/dhcp.lua new file mode 100644 index 0000000000..5a27f1e68b --- /dev/null +++ b/modules/admin-mini/luasrc/model/cbi/mini/dhcp.lua @@ -0,0 +1,65 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2008 Steven Barth <steven@midlink.org> +Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ +]]-- +require("luci.model.uci") +require("luci.sys") + +m = Map("dhcp", "DHCP") + +s = m:section(TypedSection, "dhcp", "DHCP-Server") +s.anonymous = true +s:depends("interface", "lan") + +enable = s:option(ListValue, "ignore", "", "") +enable:value(0, "enabled") +enable:value(1, "disabled") + +start = s:option(Value, "start", "First address") +start.rmempty = true +start:depends("ignore", "0") + + +limit = s:option(Value, "limit", "Number of leases", "") +limit:depends("ignore", "0") + +function limit.cfgvalue(self, section) + local value = Value.cfgvalue(self, section) + + if value then + return tonumber(value) + 1 + end +end + +function limit.write(self, section, value) + value = tonumber(value) - 1 + return Value.write(self, section, value) +end + +limit.rmempty = true + +time = s:option(Value, "leasetime") +time:depends("ignore", "0") +time.rmempty = true + +m2 = Map("luci_ethers", translate("luci_ethers")) + +s = m2:section(TypedSection, "static_lease", "") +s.addremove = true +s.anonymous = true +s.template = "cbi/tblsection" + +s:option(Value, "macaddr", translate("macaddress")) +s:option(Value, "ipaddr", translate("ipaddress")) + +return m, m2
\ No newline at end of file diff --git a/modules/admin-mini/luasrc/model/cbi/mini/network.lua b/modules/admin-mini/luasrc/model/cbi/mini/network.lua new file mode 100644 index 0000000000..dcd93a3079 --- /dev/null +++ b/modules/admin-mini/luasrc/model/cbi/mini/network.lua @@ -0,0 +1,73 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2008 Steven Barth <steven@midlink.org> +Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ +]]-- +m = Map("network", "Network") + +s = m:section(NamedSection, "lan", "interface", translate("m_n_local")) +s:option(Value, "ipaddr", translate("ipaddress")) +s:option(Value, "netmask", translate("netmask")) +gw = s:option(Value, "gateway", translate("gateway") .. translate("cbi_optional")) +gw.rmempty = true +dns = s:option(Value, "dns", translate("dnsserver") .. translate("cbi_optional")) +dns.rmempty = true + + +s = m:section(NamedSection, "wan", "interface", translate("m_n_inet")) +p = s:option(ListValue, "proto", translate("protocol")) +p:value("none", "disabled") +p:value("static", translate("manual", "manual")) +p:value("dhcp", translate("automatic", "automatic")) +p:value("pppoe", "PPPoE") +p:value("pptp", "PPTP") + +ip = s:option(Value, "ipaddr", translate("ipaddress")) +ip:depends("proto", "static") + +nm = s:option(Value, "netmask", translate("netmask")) +nm:depends("proto", "static") + +gw = s:option(Value, "gateway", translate("gateway")) +gw:depends("proto", "static") +gw.rmempty = true + +dns = s:option(Value, "dns", translate("dnsserver")) +dns:depends("proto", "static") +dns.rmempty = true + +usr = s:option(Value, "username", translate("username")) +usr:depends("proto", "pppoe") +usr:depends("proto", "pptp") + +pwd = s:option(Value, "password", translate("password")) +pwd:depends("proto", "pppoe") +pwd:depends("proto", "pptp") + +kea = s:option(Value, "keepalive", "Keep-Alive" .. translate("cbi_optional")) +kea:depends("proto", "pppoe") +kea:depends("proto", "pptp") +kea.rmempty = true + + +cod = s:option(Value, "demand", "Dial on Demand" .. translate("cbi_optional")) +cod:depends("proto", "pppoe") +cod:depends("proto", "pptp") +cod.rmempty = true + +srv = s:option(Value, "server", "PPTP-Server") +srv:depends("proto", "pptp") +srv.rmempty = true + + + +return m
\ No newline at end of file diff --git a/modules/admin-mini/luasrc/model/cbi/mini/wifi.lua b/modules/admin-mini/luasrc/model/cbi/mini/wifi.lua new file mode 100644 index 0000000000..d75ead282a --- /dev/null +++ b/modules/admin-mini/luasrc/model/cbi/mini/wifi.lua @@ -0,0 +1,103 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2008 Steven Barth <steven@midlink.org> +Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net> + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ +]]-- +m = Map("wireless", translate("wifi"), translate("a_w_devices1")) + +s = m:section(TypedSection, "wifi-device", translate("devices")) + +en = s:option(Flag, "disabled", translate("enable")) +en.enabled = "0" +en.disabled = "1" + +mode = s:option(ListValue, "mode", translate("mode")) +mode:value("", "standard") +mode:value("11b", "802.11b") +mode:value("11g", "802.11g") +mode:value("11a", "802.11a") +mode:value("11bg", "802.11b+g") +mode.rmempty = true + +s:option(Value, "channel", translate("a_w_channel")) + + + +s = m:section(TypedSection, "wifi-iface", translate("m_n_local")) +s.anonymous = true + +s:option(Value, "ssid", translate("a_w_netid")).maxlength = 32 + +local devs = {} +luci.model.uci.foreach("wireless", "wifi-device", + function (section) + table.insert(devs, section[".name"]) + end) + +if #devs > 1 then + device = s:option(DummyValue, "device", translate("device")) +else + s.defaults.device = devs[1] +end + +mode = s:option(ListValue, "mode", translate("mode")) +mode:value("ap", "Access Point") +mode:value("adhoc", "Ad-Hoc") +mode:value("sta", "Client") + +function mode.write(self, section, value) + if value == "sta" then + luci.model.uci.set("network", "wan", "type", "bridge") + luci.model.uci.set("wireless", section, "network", "wan") + else + luci.model.uci.delete("network", "wan", "type") + luci.model.uci.set("wireless", section, "network", "lan") + end + luci.model.uci.save("network") + return ListValue.write(self, section, value) +end + +encr = s:option(ListValue, "encryption", translate("encryption")) +encr:value("none", "keine") +encr:value("wep", "WEP") +encr:value("psk", "WPA-PSK") +encr:value("wpa", "WPA-Radius") +encr:value("psk2", "WPA2-PSK") +encr:value("wpa2", "WPA2-Radius") + +key = s:option(Value, "key", translate("key")) +key:depends("encryption", "wep") +key:depends("encryption", "psk") +key:depends("encryption", "wpa") +key:depends("encryption", "psk2") +key:depends("encryption", "wpa2") +key.rmempty = true + +server = s:option(Value, "server", translate("a_w_radiussrv")) +server:depends("encryption", "wpa") +server:depends("encryption", "wpa2") +server.rmempty = true + +port = s:option(Value, "port", translate("a_w_radiusport")) +port:depends("encryption", "wpa") +port:depends("encryption", "wpa2") +port.rmempty = true + +iso = s:option(Flag, "isolate", translate("a_w_apisolation"), translate("a_w_apisolation1")) +iso.rmempty = true +iso:depends("mode", "ap") + +hide = s:option(Flag, "hidden", translate("a_w_hideessid")) +hide.rmempty = true +hide:depends("mode", "ap") + +return m
\ No newline at end of file |