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", "UAM and Radius Configuration"), 20)
- entry( { "admin", "services", "chillispot", "macauth" }, cbi("chillispot_macauth"), i18n("chillispot_macauth", "MAC Authentication"), 30)
+ 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
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")
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
+
+s:option( Value, "localusers" ).optional = true
+s:option( Value, "postauthproxy" ).optional = true
+s:option( Value, "postauthproxyport" ).optional = true
+s:option( Value, "locationname" ).optional = true
+
-- mac authentication
s = m:section(TypedSection, "macauth")
s.anonymous = true
s:option( Flag, "macauth" )
+s:option( Flag, "macallowlocal" )
s:option( DynamicList, "macallowed" )
-s:option( Value, "macpasswd" ).optional = true
-s:option( Value, "macsuffix" ).optional = true
+pw = s:option( Value, "macpasswd" )
+pw.optional = true
+pw.password = true
+
+s:option( Value, "macsuffix" ).optional = true
return m
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
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
m = Map("chillispot")
-
--- uam config
-s1 = m:section(TypedSection, "uam")
+-- radius server
+s1 = m:section(TypedSection, "radius")
s1.anonymous = true
-s1:option( Value, "uamserver" )
-s1:option( Value, "uamsecret" ).password = true
-s1:option( Flag, "uamanydns" )
-s1:option( Value, "uamhomepage" ).optional = true
-s1:option( Value, "uamlisten" ).optional = true
-s1:option( Value, "uamport" ).optional = true
-s1:option( DynamicList, "uamallowed" ).optional = 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
--- radius server
-s2 = m:section(TypedSection, "radius")
-s2.anonymous = true
+s1:option( Value, "radiusnasid" ).optional = true
+s1:option( Value, "radiusnasip" ).optional = true
-s2:option( Value, "radiusserver1" )
-s2:option( Value, "radiusserver2" )
-s2:option( Value, "radiussecret" ).password = true
+s1:option( Value, "radiuscalled" ).optional = true
+s1:option( Value, "radiuslocationid" ).optional = true
+s1:option( Value, "radiuslocationname" ).optional = true
-s2:option( Value, "radiuslisten" ).optional = true
-s2:option( Value, "radiusauthport" ).optional = true
-s2:option( Value, "radiusacctport" ).optional = true
+s1:option( Value, "radiusnasporttype" ).optional = true
-s2:option( Value, "radiusnasid" ).optional = true
-s2:option( Value, "radiusnasip" ).optional = true
+s1:option( Flag, "radiusoriginalurl" )
-s2:option( Value, "radiuscalled" ).optional = true
-s2:option( Value, "radiuslocationid" ).optional = true
-s2:option( Value, "radiuslocationname" ).optional = true
+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
-s3 = m:section(TypedSection, "proxy")
-s3.anonymous = true
+s2 = m:section(TypedSection, "proxy")
+s2.anonymous = true
-s3:option( Value, "proxylisten" ).optional = true
-s3:option( Value, "proxyport" ).optional = true
-s3:option( Value, "proxyclient" ).optional = true
-ps = s3:option( Value, "proxysecret" )
+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