summaryrefslogtreecommitdiffhomepage
path: root/applications/luci-coovachilli
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2008-09-24 23:02:41 +0000
committerJo-Philipp Wich <jow@openwrt.org>2008-09-24 23:02:41 +0000
commit1e96ac87909699dea36448962985db2e66bb661b (patch)
tree6f78c774763ce67723781a66ef86e7e209d89db8 /applications/luci-coovachilli
parent7d628393a95bec519bfc3c5643fb7f00bac77e38 (diff)
* luci/app/chillispot: rename to coovachilli
Diffstat (limited to 'applications/luci-coovachilli')
-rw-r--r--applications/luci-coovachilli/Makefile2
-rw-r--r--applications/luci-coovachilli/luasrc/controller/chillispot.lua26
-rw-r--r--applications/luci-coovachilli/luasrc/model/cbi/chillispot.lua38
-rw-r--r--applications/luci-coovachilli/luasrc/model/cbi/chillispot_auth.lua76
-rw-r--r--applications/luci-coovachilli/luasrc/model/cbi/chillispot_network.lua71
-rw-r--r--applications/luci-coovachilli/luasrc/model/cbi/chillispot_radius.lua69
-rw-r--r--applications/luci-coovachilli/root/etc/config/chillispot259
-rw-r--r--applications/luci-coovachilli/root/lib/uci/schema/default/chillispot330
8 files changed, 871 insertions, 0 deletions
diff --git a/applications/luci-coovachilli/Makefile b/applications/luci-coovachilli/Makefile
new file mode 100644
index 000000000..81a96f6a8
--- /dev/null
+++ b/applications/luci-coovachilli/Makefile
@@ -0,0 +1,2 @@
+include ../../build/config.mk
+include ../../build/module.mk \ No newline at end of file
diff --git a/applications/luci-coovachilli/luasrc/controller/chillispot.lua b/applications/luci-coovachilli/luasrc/controller/chillispot.lua
new file mode 100644
index 000000000..4cb9797b2
--- /dev/null
+++ b/applications/luci-coovachilli/luasrc/controller/chillispot.lua
@@ -0,0 +1,26 @@
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2008 Steven Barth <steven@midlink.org>
+
+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$
+]]--
+module("luci.controller.chillispot", package.seeall)
+
+function index()
+
+ require("luci.i18n")
+ local i18n = luci.i18n.translate
+
+ entry( { "admin", "services", "chillispot" }, cbi("chillispot"), i18n("chillispot", "ChilliSpot"), 90)
+ entry( { "admin", "services", "chillispot", "network" }, cbi("chillispot_network"), i18n("chillispot_network", "Network Configuration"), 10)
+ entry( { "admin", "services", "chillispot", "radius" }, cbi("chillispot_radius"), i18n("chillispot_radius", "Radius Configuration"), 20)
+ entry( { "admin", "services", "chillispot", "auth" }, cbi("chillispot_auth"), i18n("chillispot_auth", "UAM and MAC Authentication"), 30)
+
+end
diff --git a/applications/luci-coovachilli/luasrc/model/cbi/chillispot.lua b/applications/luci-coovachilli/luasrc/model/cbi/chillispot.lua
new file mode 100644
index 000000000..48ec797f1
--- /dev/null
+++ b/applications/luci-coovachilli/luasrc/model/cbi/chillispot.lua
@@ -0,0 +1,38 @@
+--[[
+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("chillispot")
+
+-- general
+s1 = m:section(TypedSection, "general")
+s1.anonymous = true
+
+s1:option( Flag, "debug" )
+s1:option( Value, "interval" )
+s1:option( Value, "pidfile" ).optional = true
+s1:option( Value, "statedir" ).optional = true
+s1:option( Value, "cmdsock" ).optional = true
+s1:option( Value, "logfacility" ).optional = true
+
+-- remote config management
+s2 = m:section(TypedSection, "remoteconfig")
+s2.anonymous = true
+
+s2:option( Value, "confusername" )
+s2:option( Value, "confpassword" )
+
+
+return m
diff --git a/applications/luci-coovachilli/luasrc/model/cbi/chillispot_auth.lua b/applications/luci-coovachilli/luasrc/model/cbi/chillispot_auth.lua
new file mode 100644
index 000000000..8f033f070
--- /dev/null
+++ b/applications/luci-coovachilli/luasrc/model/cbi/chillispot_auth.lua
@@ -0,0 +1,76 @@
+--[[
+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("chillispot")
+
+-- uam config
+s1 = m:section(TypedSection, "uam")
+s1.anonymous = true
+
+s1:option( Value, "uamserver" )
+s1:option( Value, "uamsecret" ).password = true
+
+s1:option( Flag, "uamanyip" )
+s1:option( Flag, "uamanydns" )
+s1:option( Flag, "dnsparanoia" )
+s1:option( Flag, "nouamsuccess" )
+s1:option( Flag, "nouamwispr" )
+s1:option( Flag, "usestatusfile" )
+s1:option( Flag, "chillixml" )
+
+s1:option( Value, "uamhomepage" ).optional = true
+s1:option( Value, "uamlisten" ).optional = true
+s1:option( Value, "uamport" ).optional = true
+s1:option( Value, "uamiport" ).optional = true
+s1:option( Value, "uamdomain" ).optional = true
+s1:option( Value, "uamlogoutip" ).optional = true
+s1:option( DynamicList, "uamallowed" ).optional = true
+s1:option( Value, "uamui" ).optional = true
+
+s1:option( Value, "wisprlogin" ).optional = true
+
+s1:option( Value, "defsessiontimeout" ).optional = true
+s1:option( Value, "defidletimeout" ).optional = true
+s1:option( Value, "definteriminterval" ).optional = true
+
+s1:option( Value, "ssid" ).optional = true
+s1:option( Value, "vlan" ).optional = true
+s1:option( Value, "nasip" ).optional = true
+s1:option( Value, "nasmac" ).optional = true
+s1:option( Value, "wwwdir" ).optional = true
+s1:option( Value, "wwwbin" ).optional = true
+
+s1:option( Value, "localusers" ).optional = true
+s1:option( Value, "postauthproxy" ).optional = true
+s1:option( Value, "postauthproxyport" ).optional = true
+s1:option( Value, "locationname" ).optional = true
+
+
+-- mac authentication
+s2 = m:section(TypedSection, "macauth")
+s2.anonymous = true
+
+s2:option( Flag, "macauth" )
+s2:option( Flag, "macallowlocal" )
+s2:option( DynamicList, "macallowed" )
+
+pw = s2:option( Value, "macpasswd" )
+pw.optional = true
+pw.password = true
+
+s2:option( Value, "macsuffix" ).optional = true
+
+return m
diff --git a/applications/luci-coovachilli/luasrc/model/cbi/chillispot_network.lua b/applications/luci-coovachilli/luasrc/model/cbi/chillispot_network.lua
new file mode 100644
index 000000000..e26f32e1a
--- /dev/null
+++ b/applications/luci-coovachilli/luasrc/model/cbi/chillispot_network.lua
@@ -0,0 +1,71 @@
+--[[
+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.sys")
+require("luci.ip")
+
+m = Map("chillispot")
+
+-- tun
+s1 = m:section(TypedSection, "tun")
+s1.anonymous = true
+
+s1:option( Flag, "usetap" )
+s1:option( Value, "tundev" ).optional = true
+s1:option( Value, "txqlen" ).optional = true
+
+net = s1:option( Value, "net" )
+for _, route in ipairs(luci.sys.net.routes()) do
+ if route.Iface ~= "lo" and route.Mask ~= "FFFFFFFF" then
+ local netmask = luci.ip.IPv4(route.Mask)
+ if netmask then
+ local netaddr = luci.ip.IPv4(route.Destination, netmask)
+ if netaddr then
+ net:value( netaddr:string() )
+ end
+ end
+ end
+end
+
+s1:option( Value, "dynip" ).optional = true
+s1:option( Value, "statip" ).optional = true
+
+s1:option( Value, "dns1" ).optional = true
+s1:option( Value, "dns2" ).optional = true
+s1:option( Value, "domain" ).optional = true
+
+s1:option( Value, "ipup" ).optional = true
+s1:option( Value, "ipdown" ).optional = true
+
+s1:option( Value, "conup" ).optional = true
+s1:option( Value, "condown" ).optional = true
+
+
+-- dhcp config
+s2 = m:section(TypedSection, "dhcp")
+s2.anonymous = true
+
+dif = s2:option( Value, "dhcpif" )
+for _, nif in ipairs(luci.sys.net.devices()) do
+ if nif ~= "lo" then dif:value(nif) end
+end
+
+s2:option( Value, "dhcpmac" ).optional = true
+s2:option( Value, "lease" ).optional = true
+s2:option( Value, "dhcpstart" ).optional = true
+s2:option( Value, "dhcpend" ).optional = true
+
+
+return m
diff --git a/applications/luci-coovachilli/luasrc/model/cbi/chillispot_radius.lua b/applications/luci-coovachilli/luasrc/model/cbi/chillispot_radius.lua
new file mode 100644
index 000000000..568c92f83
--- /dev/null
+++ b/applications/luci-coovachilli/luasrc/model/cbi/chillispot_radius.lua
@@ -0,0 +1,69 @@
+--[[
+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("chillispot")
+
+-- radius server
+s1 = m:section(TypedSection, "radius")
+s1.anonymous = true
+
+s1:option( Value, "radiusserver1" )
+s1:option( Value, "radiusserver2" )
+s1:option( Value, "radiussecret" ).password = true
+
+s1:option( Value, "radiuslisten" ).optional = true
+s1:option( Value, "radiusauthport" ).optional = true
+s1:option( Value, "radiusacctport" ).optional = true
+
+s1:option( Value, "radiusnasid" ).optional = true
+s1:option( Value, "radiusnasip" ).optional = true
+
+s1:option( Value, "radiuscalled" ).optional = true
+s1:option( Value, "radiuslocationid" ).optional = true
+s1:option( Value, "radiuslocationname" ).optional = true
+
+s1:option( Value, "radiusnasporttype" ).optional = true
+
+s1:option( Flag, "radiusoriginalurl" )
+
+s1:option( Value, "adminuser" ).optional = true
+rs = s1:option( Value, "adminpassword" )
+rs.optional = true
+rs.password = true
+
+s1:option( Flag, "swapoctets" )
+s1:option( Flag, "openidauth" )
+s1:option( Flag, "wpaguests" )
+s1:option( Flag, "acctupdate" )
+
+s1:option( Value, "coaport" ).optional = true
+s1:option( Flag, "coanoipcheck" )
+
+s1:option( Flag, "eapolenable" ).optional = true
+
+
+-- radius proxy
+s2 = m:section(TypedSection, "proxy")
+s2.anonymous = true
+
+s2:option( Value, "proxylisten" ).optional = true
+s2:option( Value, "proxyport" ).optional = true
+s2:option( Value, "proxyclient" ).optional = true
+ps = s2:option( Value, "proxysecret" )
+ps.optional = true
+ps.password = true
+
+return m
diff --git a/applications/luci-coovachilli/root/etc/config/chillispot b/applications/luci-coovachilli/root/etc/config/chillispot
new file mode 100644
index 000000000..fbbe22bc6
--- /dev/null
+++ b/applications/luci-coovachilli/root/etc/config/chillispot
@@ -0,0 +1,259 @@
+##############################################################################
+#
+# Sample ChilliSpot configuration file
+#
+##############################################################################
+
+# General settings
+config general
+
+ # Enable this flag to include debug information.
+ option debug 0
+
+ # Re-read configuration file at this interval. Will also cause new domain
+ # name lookups to be performed. Value is given in seconds.
+ option interval 3600
+
+ # File to store information about the process id of the program.
+ # The program must have write access to this file/directory.
+ option pidfile /var/run/chilli.pid
+
+ # Directory to use for nonvolatile storage.
+ # The program must have write access to this directory.
+ # This tag is currently ignored
+ #option statedir ./
+
+
+# Remote configuration management
+config remoteconfig
+
+ # If confusername is specified together with confpassword chillispot
+ # will at regular intervals specified by the interval option query the
+ # radius server for configuration information.
+ # Normally you do not need to uncomment this tag.
+ option confusername ""
+
+ # If confusername is specified together with confpassword chillispot
+ # will at regular intervals specified by the interval option query the
+ # radius server for configuration information.
+ # Normally you do not need to uncomment this tag.
+ option confpassword ""
+
+
+# TUN parameters
+config tun
+
+ # IP network address of external packet data network
+ # Used to allocate dynamic IP addresses and set up routing.
+ # Normally you do not need to uncomment this tag.
+ option net 192.168.182.0/24
+
+ # Dynamic IP address pool
+ # Used to allocate dynamic IP addresses to clients.
+ # If not set it defaults to the net tag.
+ # Do not uncomment this tag unless you are an experienced user!
+ #option dynip 192.168.182.0/24
+
+ # Static IP address pool
+ # Used to allocate static IP addresses to clients.
+ # Do not uncomment this tag unless you are an experienced user!
+ #option statip 192.168.182.0/24
+
+ # Primary DNS server.
+ # Will be suggested to the client.
+ # If omitted the system default will be used.
+ # Normally you do not need to uncomment this tag.
+ #option dns1 172.16.0.5
+
+ # Secondary DNS server.
+ # Will be suggested to the client.
+ # If omitted the system default will be used.
+ # Normally you do not need to uncomment this tag.
+ #option dns2 172.16.0.6
+
+ # Domain name
+ # Will be suggested to the client.
+ # Normally you do not need to uncomment this tag.
+ option domain key.chillispot.org
+
+ # Script executed after network interface has been brought up.
+ # Executed with the following parameters: <devicename> <ip address> <mask>
+ # Normally you do not need to uncomment this tag.
+ #option ipup /etc/chilli.ipup
+
+ # Script executed after network interface has been taken down.
+ # Executed with the following parameters: <devicename> <ip address> <mask>
+ # Normally you do not need to uncomment this tag.
+ #option ipdown /etc/chilli.ipdown
+
+ # Script executed after a user has been authenticated.
+ # Executed with the following parameters: <devicename> <ip address>
+ # <mask> <user ip address> <user mac address> <filter ID>
+ # Normally you do not need to uncomment this tag.
+ #option conup /etc/chilli.conup
+
+ # Script executed after a user has disconnected.
+ # Executed with the following parameters: <devicename> <ip address>
+ # <mask> <user ip address> <user mac address> <filter ID>
+ # Normally you do not need to uncomment this tag.
+ #option condown /etc/chilli.condown
+
+
+# DHCP Parameters
+config dhcp
+
+ # Ethernet interface to listen to.
+ # This is the network interface which is connected to the access points.
+ # In a typical configuration this tag should be set to eth1.
+ option dhcpif eth1
+
+ # Use specified MAC address.
+ # An address in the range 00:00:5E:00:02:00 - 00:00:5E:FF:FF:FF falls
+ # within the IANA range of addresses and is not allocated for other
+ # purposes.
+ # Normally you do not need to uncomment this tag.
+ #option dhcpmac 00:00:5E:00:02:00
+
+ # Time before DHCP lease expires
+ # Normally you do not need to uncomment this tag.
+ #option lease 600
+
+
+# Radius parameters
+config radius
+
+ # IP address to listen to
+ # Normally you do not need to uncomment this tag.
+ #option radiuslisten 127.0.0.1
+
+ # IP address of radius server 1
+ # For most installations you need to modify this tag.
+ option radiusserver1 rad01.chillispot.org
+
+ # IP address of radius server 2
+ # If you have only one radius server you should set radiusserver2 to the
+ # same value as radiusserver1.
+ # For most installations you need to modify this tag.
+ option radiusserver2 rad02.chillispot.org
+
+ # Radius authentication port
+ # The UDP port number to use for radius authentication requests.
+ # The same port number is used for both radiusserver1 and radiusserver2.
+ # Normally you do not need to uncomment this tag.
+ #option radiusauthport 1812
+
+ # Radius accounting port
+ # The UDP port number to use for radius accounting requests.
+ # The same port number is used for both radiusserver1 and radiusserver2.
+ # Normally you do not need to uncomment this tag.
+ #option radiusacctport 1813
+
+ # Radius shared secret for both servers
+ # For all installations you should modify this tag.
+ #option radiussecret testing123
+
+ # Radius NAS-Identifier
+ # Normally you do not need to uncomment this tag.
+ #option radiusnasid nas01
+
+ # Radius NAS-IP-Address
+ # Normally you do not need to uncomment this tag.
+ #option radiusnasip 127.0.0.1
+
+ # Radius Called-Station-ID
+ # Normally you do not need to uncomment this tag.
+ #option radiuscalled 00133300
+
+ # WISPr Location ID. Should be in the format: isocc=<ISO_Country_Code>,
+ # cc=<E.164_Country_Code>,ac=<E.164_Area_Code>,network=<ssid/ZONE>
+ # Normally you do not need to uncomment this tag.
+ #option radiuslocationid isocc=us,cc=1,ac=408,network=ACMEWISP_NewarkAirport
+
+ # WISPr Location Name. Should be in the format:
+ # <HOTSPOT_OPERATOR_NAME>,<LOCATION>
+ # Normally you do not need to uncomment this tag.
+ #option radiuslocationname ACMEWISP,Gate_14_Terminal_C_of_Newark_Airport
+
+
+# Radius proxy parameters
+config proxy
+
+ # IP address to listen to
+ # Normally you do not need to uncomment this tag.
+ #option proxylisten 10.0.0.1
+
+ # UDP port to listen to.
+ # If not specified a port will be selected by the system
+ # Normally you do not need to uncomment this tag.
+ #option proxyport 1645
+
+ # Client(s) from which we accept radius requests
+ # Normally you do not need to uncomment this tag.
+ #option proxyclient 10.0.0.1/24
+
+ # Radius proxy shared secret for all clients
+ # If not specified defaults to radiussecret
+ # Normally you do not need to uncomment this tag.
+ #option proxysecret testing123
+
+
+# Universal access method (UAM) parameters
+config uam
+
+ # URL of web server handling authentication.
+ option uamserver https://radius.chillispot.org/hotspotlogin
+
+ # URL of welcome homepage.
+ # Unauthenticated users will be redirected to this URL. If not specified
+ # users will be redirected to the uamserver instead.
+ # Normally you do not need to uncomment this tag.
+ #option uamhomepage http://192.168.182.1/welcome.html
+
+ # Shared between chilli and authentication web server
+ #option uamsecret ht2eb8ej6s4et3rg1ulp
+
+ # IP address to listen to for authentication requests
+ # Do not uncomment this tag unless you are an experienced user!
+ #option uamlisten 192.168.182.1
+
+ # TCP port to listen to for authentication requests
+ # Do not uncomment this tag unless you are an experienced user!
+ #option uamport 3990
+
+ # Comma separated list of domain names, IP addresses or network segments
+ # the client can access without first authenticating.
+ # It is possible to specify this tag multiple times.
+ # Normally you do not need to uncomment this tag.
+ #list uamallowed www.chillispot.org
+ #list uamallowed 10.11.12.0/24
+
+ # If this flag is given unauthenticated users are allowed to use
+ # any DNS server.
+ # Normally you do not need to uncomment this tag.
+ #uamanydns
+
+
+# MAC authentication
+config macauth
+
+ # If this flag is given users will be authenticated only on their MAC
+ # address.
+ # Normally you do not need to enable this flag.
+ option macauth 0
+
+ # List of MAC addresses.
+ # The MAC addresses specified in this list will be authenticated only on
+ # their MAC address.
+ # This tag is ignored if the macauth tag is given.
+ # It is possible to specify this tag multiple times.
+ # Normally you do not need to uncomment this tag.
+ #list macallowed 00-0A-5E-AC-BE-51
+ #list macallowed 00-30-1B-3C-32-E9
+
+ # Password to use for MAC authentication.
+ # Normally you do not need to uncomment this tag.
+ #option macpasswd password
+
+ # Suffix to add to MAC address in order to form the username.
+ # Normally you do not need to uncomment this tag.
+ #option macsuffix suffix
diff --git a/applications/luci-coovachilli/root/lib/uci/schema/default/chillispot b/applications/luci-coovachilli/root/lib/uci/schema/default/chillispot
new file mode 100644
index 000000000..a3c613bc8
--- /dev/null
+++ b/applications/luci-coovachilli/root/lib/uci/schema/default/chillispot
@@ -0,0 +1,330 @@
+package chillispot
+
+config section
+ option name 'general'
+ option title 'Section general'
+ option package 'chillispot'
+ option unique true
+ option required true
+
+config variable
+ option name 'debug'
+ option title 'Option debug'
+ option section 'chillispot.general'
+ option datatype 'boolean'
+
+config variable
+ option name 'interval'
+ option title 'Option interval'
+ option section 'chillispot.general'
+ option datatype 'uint'
+
+config variable
+ option name 'pidfile'
+ option title 'Option pidfile'
+ option section 'chillispot.general'
+ option datatype 'string'
+
+config variable
+ option name 'statedir'
+ option title 'Option statedir'
+ option section 'chillispot.general'
+ option datatype 'directory'
+
+
+config section
+ option name 'tun'
+ option title 'Section tun'
+ option package 'chillispot'
+ option unique true
+ option required true
+
+config variable
+ option name 'net'
+ option title 'Option net'
+ option section 'chillispot.tun'
+ option datatype 'ip4addr'
+
+config variable
+ option name 'statip'
+ option title 'Option statip'
+ option section 'chillispot.tun'
+ option datatype 'ip4addr'
+
+config variable
+ option name 'dynip'
+ option title 'Option dynip'
+ option section 'chillispot.tun'
+ option datatype 'ip4addr'
+
+config variable
+ option name 'dns1'
+ option title 'Option dns1'
+ option section 'chillispot.tun'
+ option datatype 'ip4addr'
+
+config variable
+ option name 'dns2'
+ option title 'Option dns2'
+ option section 'chillispot.tun'
+ option datatype 'ip4addr'
+
+config variable
+ option name 'domain'
+ option title 'Option domain'
+ option section 'chillispot.tun'
+ option datatype 'string'
+
+config variable
+ option name 'ipdown'
+ option title 'Option ipdown'
+ option section 'chillispot.tun'
+ option datatype 'file'
+
+config variable
+ option name 'ipup'
+ option title 'Option ipup'
+ option section 'chillispot.tun'
+ option datatype 'file'
+
+config variable
+ option name 'condown'
+ option title 'Option condown'
+ option section 'chillispot.tun'
+ option datatype 'file'
+
+config variable
+ option name 'conup'
+ option title 'Option conup'
+ option section 'chillispot.tun'
+ option datatype 'file'
+
+
+config section
+ option name 'dhcp'
+ option title 'Section dhcp'
+ option package 'chillispot'
+ option unique true
+ option required true
+
+config variable
+ option name 'dhcpif'
+ option title 'Option dhcpif'
+ option section 'chillispot.dhcp'
+ option datatype 'string'
+
+config variable
+ option name 'dhcpmac'
+ option title 'Option dhcpmac'
+ option section 'chillispot.dhcp'
+ option datatype 'macaddr'
+
+config variable
+ option name 'lease'
+ option title 'Option lease'
+ option section 'chillispot.dhcp'
+ option datatype 'uint'
+
+
+config section
+ option name 'macauth'
+ option title 'Section macauth'
+ option package 'chillispot'
+ option unique true
+ option required true
+
+config variable
+ option name 'macauth'
+ option title 'Option macauth'
+ option section 'chillispot.macauth'
+ option datatype 'boolean'
+
+config variable
+ option name 'macallowed'
+ option title 'Option macallowed'
+ option section 'chillispot.macauth'
+ option datatype 'string'
+ option type 'lazylist'
+
+config variable
+ option name 'macpasswd'
+ option title 'Option macpasswd'
+ option section 'chillispot.macauth'
+ option datatype 'string'
+
+config variable
+ option name 'macsuffix'
+ option title 'Option macsuffix'
+ option section 'chillispot.macauth'
+ option datatype 'string'
+
+
+config section
+ option name 'radius'
+ option title 'Section radius'
+ option package 'chillispot'
+ option unique true
+ option required true
+
+config variable
+ option name 'radiusacctport'
+ option title 'Option radiusacctport'
+ option section 'chillispot.radius'
+ option datatype 'port'
+
+config variable
+ option name 'radiusauthport'
+ option title 'Option radiusauthport'
+ option section 'chillispot.radius'
+ option datatype 'port'
+
+config variable
+ option name 'radiuscalled'
+ option title 'Option radiuscalled'
+ option section 'chillispot.radius'
+ option datatype 'string'
+
+config variable
+ option name 'radiuslisten'
+ option title 'Option radiuslisten'
+ option section 'chillispot.radius'
+ option datatype 'ip4addr'
+
+config variable
+ option name 'radiuslocationid'
+ option title 'Option radiuslocationid'
+ option section 'chillispot.radius'
+ option datatype 'string'
+
+config variable
+ option name 'radiuslocationname'
+ option title 'Option radiuslocationname'
+ option section 'chillispot.radius'
+ option datatype 'string'
+
+config variable
+ option name 'radiusnasid'
+ option title 'Option radiusnasid'
+ option section 'chillispot.radius'
+ option datatype 'string'
+
+config variable
+ option name 'radiusnasip'
+ option title 'Option radiusnasip'
+ option section 'chillispot.radius'
+ option datatype 'ip4addr'
+
+config variable
+ option name 'radiussecret'
+ option title 'Option radiussecret'
+ option section 'chillispot.radius'
+ option datatype 'string'
+
+config variable
+ option name 'radiusserver1'
+ option title 'Option radiusserver1'
+ option section 'chillispot.radius'
+ option datatype 'host'
+
+config variable
+ option name 'radiusserver2'
+ option title 'Option radiusserver2'
+ option section 'chillispot.radius'
+ option datatype 'host'
+
+
+config section
+ option name 'proxy'
+ option title 'Section proxy'
+ option package 'chillispot'
+ option unique true
+ option required true
+
+config variable
+ option name 'proxyclient'
+ option title 'Option proxyclient'
+ option section 'chillispot.proxy'
+ option datatype 'ip4addr'
+
+config variable
+ option name 'proxylisten'
+ option title 'Option proxylisten'
+ option section 'chillispot.proxy'
+ option datatype 'ip4addr'
+
+config variable
+ option name 'proxyport'
+ option title 'Option proxyport'
+ option section 'chillispot.proxy'
+ option datatype 'port'
+
+config variable
+ option name 'proxysecret'
+ option title 'Option proxysecret'
+ option section 'chillispot.proxy'
+ option datatype 'string'
+
+
+config section
+ option name 'remoteconfig'
+ option title 'Section remoteconfig'
+ option package 'chillispot'
+ option unique true
+ option required true
+
+config variable
+ option name 'confpassword'
+ option title 'Option confpassword'
+ option section 'chillispot.remoteconfig'
+ option datatype 'string'
+
+config variable
+ option name 'confusername'
+ option title 'Option confusername'
+ option section 'chillispot.remoteconfig'
+ option datatype 'string'
+
+
+config section
+ option name 'uam'
+ option title 'Section uam'
+ option package 'chillispot'
+ option unique true
+ option required true
+
+config variable
+ option name 'uamallowed'
+ option title 'Option uamallowed'
+ option section 'chillispot.uam'
+ option datatype 'host'
+ option type 'list'
+
+config variable
+ option name 'uamhomepage'
+ option title 'Option uamhomepage'
+ option section 'chillispot.uam'
+ option datatype 'string'
+
+config variable
+ option name 'uamlisten'
+ option title 'Option uamlisten'
+ option section 'chillispot.uam'
+ option datatype 'ip4addr'
+
+config variable
+ option name 'uamport'
+ option title 'Option uamport'
+ option section 'chillispot.uam'
+ option datatype 'port'
+
+config variable
+ option name 'uamsecret'
+ option title 'Option uamsecret'
+ option section 'chillispot.uam'
+ option datatype 'string'
+
+config variable
+ option name 'uamserver'
+ option title 'Option uamserver'
+ option section 'chillispot.uam'
+ option datatype 'string'