From 8d1aff78b17d6f7437d776bdf53a6aa2112f31db Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Wed, 16 Jul 2008 18:54:10 +0000 Subject: modules/admin-mini: Added Wifi configuration several smaller bugfixes and enhancements --- .../luasrc/model/cbi/mini-network/basic.lua | 80 ---------------- .../luasrc/model/cbi/mini-network/dhcp.lua | 65 ------------- modules/admin-mini/luasrc/model/cbi/mini/dhcp.lua | 65 +++++++++++++ .../admin-mini/luasrc/model/cbi/mini/network.lua | 73 +++++++++++++++ modules/admin-mini/luasrc/model/cbi/mini/wifi.lua | 103 +++++++++++++++++++++ 5 files changed, 241 insertions(+), 145 deletions(-) delete mode 100644 modules/admin-mini/luasrc/model/cbi/mini-network/basic.lua delete mode 100644 modules/admin-mini/luasrc/model/cbi/mini-network/dhcp.lua create mode 100644 modules/admin-mini/luasrc/model/cbi/mini/dhcp.lua create mode 100644 modules/admin-mini/luasrc/model/cbi/mini/network.lua create mode 100644 modules/admin-mini/luasrc/model/cbi/mini/wifi.lua (limited to 'modules/admin-mini/luasrc/model/cbi') diff --git a/modules/admin-mini/luasrc/model/cbi/mini-network/basic.lua b/modules/admin-mini/luasrc/model/cbi/mini-network/basic.lua deleted file mode 100644 index d7c1ce84b1..0000000000 --- a/modules/admin-mini/luasrc/model/cbi/mini-network/basic.lua +++ /dev/null @@ -1,80 +0,0 @@ ---[[ -LuCI - Lua Configuration Interface - -Copyright 2008 Steven Barth -Copyright 2008 Jo-Philipp Wich - -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", "Local Network") -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", "Internet Connection") -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 - -mtu = s:option(Value, "mtu", "MTU" .. translate("cbi_optional")) -mtu:depends("proto", "static") -mtu:depends("proto", "dhcp") -mtu:depends("proto", "pppoe") -mtu:depends("proto", "pptp") -mtu.rmempty = true - - - -return m \ No newline at end of file diff --git a/modules/admin-mini/luasrc/model/cbi/mini-network/dhcp.lua b/modules/admin-mini/luasrc/model/cbi/mini-network/dhcp.lua deleted file mode 100644 index 5a27f1e68b..0000000000 --- a/modules/admin-mini/luasrc/model/cbi/mini-network/dhcp.lua +++ /dev/null @@ -1,65 +0,0 @@ ---[[ -LuCI - Lua Configuration Interface - -Copyright 2008 Steven Barth -Copyright 2008 Jo-Philipp Wich - -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/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 +Copyright 2008 Jo-Philipp Wich + +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 +Copyright 2008 Jo-Philipp Wich + +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 +Copyright 2008 Jo-Philipp Wich + +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 -- cgit v1.2.3