module("luci.controller.olsr", package.seeall)
function index()
+ if not luci.fs.isfile("/etc/config/olsr") then
+ return
+ end
+
local page = node("admin", "status", "olsr")
page.target = call("action_index")
page.title = "OLSR"
--- /dev/null
+include ../../build/config.mk
+include ../../build/module.mk
\ No newline at end of file
--- /dev/null
+--[[
+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.qos", package.seeall)
+
+function index()
+ if not luci.fs.isfile("/etc/config/qos") then
+ return
+ end
+
+ entry({"admin", "network", "qos"}, cbi("qos/qos"), "Quality of Service")
+end
\ No newline at end of file
--- /dev/null
+--[[
+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$
+]]--
+m = Map("qos", "Quality of Service", [[Mit Hilfe von QoS kann einzelnen Rechnern oder Netzwerkdiensten
+eine höhere oder niedrigere Priorität zugewiesen werden.]])
+
+s = m:section(TypedSection, "interface", "Schnittstellen")
+s.addremove = true
+
+s:option(Flag, "enabled", "aktiviert")
+
+c = s:option(ListValue, "classgroup", "Klassifizierung")
+c:value("Default", "standard")
+c.default = "Default"
+
+s:option(Flag, "overhead", "Overheadberechnung")
+
+s:option(Value, "download", "Downlink", "kb/s")
+
+s:option(Value, "upload", "Uplink", "kb/s")
+
+s = m:section(TypedSection, "classify", "Klassifizierung")
+
+s.anonymous = true
+s.addremove = true
+
+t = s:option(ListValue, "target", "Klasse")
+t:value("Priority")
+t:value("Express")
+t:value("Normal")
+t:value("Bulk")
+t.default = "Normal"
+
+s:option(Value, "srchost", "Quelladresse", "Quellhost / Quellnetz").optional = true
+s:option(Value, "dsthost", "Zieladresse", "Zielhost / Zielnetz").optional = true
+s:option(Value, "layer7", "Layer 7").optional = true
+
+p2p = s:option(ListValue, "ipp2p", "P2P")
+p2p:value("")
+p2p:value("all", "Alle")
+p2p:value("bit", "Bittorrent")
+p2p:value("dc", "DirectConnect")
+p2p:value("edk", "eDonkey")
+p2p:value("gnu", "Gnutella")
+p2p:value("kazaa", "Kazaa")
+p2p.optional = true
+
+p = s:option(ListValue, "proto", "Protokoll")
+p:value("")
+p:value("tcp", "TCP")
+p:value("udp", "UDP")
+p:value("icmp", "ICMP")
+p.optional = true
+
+s:option(Value, "ports", "Port").optional = true
+s:option(Value, "portrange", "Portbereich").optional = true
+
+return m
\ No newline at end of file
endef
+define Package/luci-app-qos
+ $(call Package/luci/webtemplate)
+ DEPENDS+=+luci-mod-admin-core +qos-scripts
+ TITLE:=Quality of Service configuration module
+endef
+
+define Package/luci-app-qos/install
+ $(call Package/luci/install/template,$(1),applications/luci-qos)
+endef
+
+
define Package/luci-app-splash
$(call Package/luci/fftemplate)
DEPENDS+=+luci-sgi-haserl +iptables-mod-nat +iptables-mod-ipopt
ifneq ($(CONFIG_PACKAGE_luci-app-olsr),)
PKG_SELECTED_MODULES+=applications/luci-olsr
endif
+ifneq ($(CONFIG_PACKAGE_luci-app-qos),)
+ PKG_SELECTED_MODULES+=applications/luci-qos
+endif
ifneq ($(CONFIG_PACKAGE_luci-app-splash),)
PKG_SELECTED_MODULES+=applications/luci-splash
endif
$(eval $(call BuildPackage,luci-app-ffwizard-leipzig))
$(eval $(call BuildPackage,luci-app-firewall))
$(eval $(call BuildPackage,luci-app-olsr))
+$(eval $(call BuildPackage,luci-app-qos))
$(eval $(call BuildPackage,luci-app-splash))
$(eval $(call BuildPackage,luci-app-statistics))
a_w_apisolation = "AP-Isolation"
a_w_apisolation1 = "Prevents Client to Client communication"
a_w_hideessid = "Hide ESSID"
+
+dhcp_desc = "Dnsmasq is a combined DHCP-Server and DNS-Forwarder for NAT firewalls"
+dhcp_dnsmasq_domainneeded = "Domain required"
+dhcp_dnsmasq_domainneeded_desc = "Don't forward DNS-Requests without DNS-Name"
+dhcp_dnsmasq_authoritative = "Authoritative"
+dhcp_dnsmasq_authoritative_desc = "This is the only DHCP in the local network"
+dhcp_dnsmasq_boguspriv = "Filter private"
+dhcp_dnsmasq_boguspriv_desc = "Don't forward reverse lookups for local networks"
+dhcp_dnsmasq_filterwin2k = "Filter useless"
+dhcp_dnsmasq_filterwin2k_desc = "filter useless DNS-queries of Windows-systems"
+dhcp_dnsmasq_localisequeries = "Localise queries"
+dhcp_dnsmasq_localisequeries_desc = "localises the hostname depending on its subnet"
+dhcp_dnsmasq_local = "Local Server"
+dhcp_dnsmasq_domain = "Local Domain"
+dhcp_dnsmasq_expandhosts = "Expand Hosts"
+dhcp_dnsmasq_expandhosts_desc = "adds domain names to hostentries in the resolv file"
+dhcp_dnsmasq_nonegcache = "don't cache unknown"
+dhcp_dnsmasq_nonegcache_desc = "prevents caching of negative DNS-replies"
+dhcp_dnsmasq_readethers = "Use /etc/ethers"
+dhcp_dnsmasq_readethers_desc = "Read /etc/ethers to configure the DHCP-Server"
+dhcp_dnsmasq_leasefile = "Leasefile"
+dhcp_dnsmasq_leasefile_desc = "file where given DHCP-leases will be stored"
+dhcp_dnsmasq_resolvfile = "Resolvfile"
+dhcp_dnsmasq_resolvfile_desc = "local DNS file"
+dhcp_dnsmasq_nohosts = "Ignore /etc/hosts"
+dhcp_dnsmasq_strictorder = "Strict order"
+dhcp_dnsmasq_strictorder_desc = "DNS-Server will be queried in the order of the resolvfile"
+dhcp_dnsmasq_logqueries = "Log queries"
+dhcp_dnsmasq_noresolv = "Ignore resolve file"
+dhcp_dnsmasq_dnsforwardmax = "concurrent queries"
+dhcp_dnsmasq_port = "DNS-Port"
+dhcp_dnsmasq_ednspacket_max = "max. EDNS.0 paket size"
+dhcp_dnsmasq_dhcpleasemax = "max. DHCP-Leases"
+dhcp_dnsmasq_addnhosts = "additional hostfile"
+dhcp_dnsmasq_queryport = "query port"
+
save = "Save"
services = "Services"
+settings = "Settings"
statistics = "Statistics"
syslog = "System Log"
system = "System"
--- /dev/null
+dhcp_desc = "Dnsmasq ist ein kombinierter DHCP-Server und DNS-Forwarder für NAT-Firewalls."
+dhcp_dnsmasq_domainneeded = "Anfragen nur mit Domain"
+dhcp_dnsmasq_domainneeded_desc = "Anfragen ohne Domainnamen nicht weiterleiten"
+dhcp_dnsmasq_authoritative = "Authoritativ"
+dhcp_dnsmasq_authoritative_desc = "Dies ist der einzige DHCP im lokalen Netz"
+dhcp_dnsmasq_boguspriv = "Private Anfragen filtern"
+dhcp_dnsmasq_boguspriv_desc = "Reverse DNS-Anfragen für lokale Netze nicht weiterleiten"
+dhcp_dnsmasq_filterwin2k = "Windowsanfragen filtern"
+dhcp_dnsmasq_filterwin2k_desc = "nutzlose DNS-Anfragen aktueller Windowssysteme filtern"
+dhcp_dnsmasq_localisequeries = "Lokalisiere Anfragen"
+dhcp_dnsmasq_localisequeries_desc = "Gibt die Adresse eines Hostnamen entsprechend seines Subnetzes zurück"
+dhcp_dnsmasq_local = "Lokale Server"
+dhcp_dnsmasq_domain = "Lokale Domain"
+dhcp_dnsmasq_expandhosts = "Erweitere Hosts"
+dhcp_dnsmasq_expandhosts_desc = "Fügt Domainnamen zu einfachen Hosteinträgen in der Resolvdatei hinzu"
+dhcp_dnsmasq_nonegcache = "Unbekannte nicht cachen"
+dhcp_dnsmasq_nonegcache_desc = "Negative DNS-Antworten nicht zwischenspeichern"
+dhcp_dnsmasq_readethers = "Verwende /etc/ethers"
+dhcp_dnsmasq_readethers_desc = "Lese Informationen aus /etc/ethers um den DHCP-Server zu konfigurieren"
+dhcp_dnsmasq_leasefile = "Leasedatei"
+dhcp_dnsmasq_leasefile_desc = "Speicherort für vergebenen DHCP-Adressen"
+dhcp_dnsmasq_resolvfile = "Resolvdatei"
+dhcp_dnsmasq_resolvfile_desc = "Lokale DNS-Datei"
+dhcp_dnsmasq_nohosts = "Ignoriere /etc/hosts"
+dhcp_dnsmasq_strictorder = "Strikte Reihenfolge"
+dhcp_dnsmasq_strictorder_desc = "DNS-Server werden strikt der Reihenfolge in der Resolvdatei nach abgefragt"
+dhcp_dnsmasq_logqueries = "Schreibe Abfragelog"
+dhcp_dnsmasq_noresolv = "Ignoriere Resolvdatei"
+dhcp_dnsmasq_dnsforwardmax = "gleichzeitige Abfragen"
+dhcp_dnsmasq_port = "DNS-Port"
+dhcp_dnsmasq_ednspacket_max = "max. EDNS.0 Paketgröße"
+dhcp_dnsmasq_dhcpleasemax = "max. DHCP-Leases"
+dhcp_dnsmasq_addnhosts = "Zusätzliche Hostdatei"
+dhcp_dnsmasq_queryport = "Abfrageport"
--[[
Value - A one-line value
maxlength: The maximum length
- isnumber: The value must be a valid (floating point) number
- isinteger: The value must be a valid integer
- ispositive: The value must be positive (and a number)
]]--
Value = class(AbstractValue)
self.template = "cbi/value"
self.maxlength = nil
- self.isnumber = false
- self.isinteger = false
end
-- This validation is a bit more complex
val = nil
end
- return luci.util.validate(val, self.isnumber, self.isinteger)
+ return val
end
end
--- Validates a variable
-function validate(value, cast_number, cast_int)
- if cast_number or cast_int then
- value = tonumber(value)
- end
-
- if cast_int and value and not(value % 1 == 0) then
- value = nil
- end
-
- return value
-end
-
-
-- Parse units from a string and return integer value
function parse_units(ustr)
--[[
-LuCI - SGI-Module for Haserl
+LuCI - SGI-Module for Webuci
Description:
-Server Gateway Interface for Haserl
+Server Gateway Interface for Webuci
FileId:
$Id: webuci.lua 2027 2008-05-07 21:16:35Z Cyrus $
local tpl = require("luci.template")
tpl.viewns.translate = function(...) return require("luci.i18n").translate(...) end
tpl.viewns.controller = luci.http.dispatcher()
- tpl.viewns.uploadctrl = luci.http.dispatcher_upload()
+ tpl.viewns.uploadctrl = luci.http.dispatcher_upload() -- DEPRECATED
tpl.viewns.media = luci.config.main.mediaurlbase
tpl.viewns.resource = luci.config.main.resourcebase
- tpl.viewns.uci = require("luci.model.uci").config
tpl.viewns.REQUEST_URI = luci.http.env.SCRIPT_NAME .. (luci.http.env.PATH_INFO or "")
+--[[
+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.admin.index", package.seeall)
function index()
+--[[
+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.admin.network", package.seeall)
function index()
page.target = cbi("admin_network/routes")
page.title = "Statische Routen"
page.order = 50
-
- if luci.fs.isfile("/etc/config/qos") then
- local page = node("admin", "network", "qos")
- page.target = cbi("admin_network/qos")
- page.title = "Quality of Service"
- end
end
\ No newline at end of file
+--[[
+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.admin.services", package.seeall)
function index()
+--[[
+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.admin.status", package.seeall)
function index()
+--[[
+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.admin.system", package.seeall)
function index()
+--[[
+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.admin.uci", package.seeall)
function index()
+--[[
+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.admin.wifi", package.seeall)
function index()
+--[[
+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$
+]]--
require("luci.config")
m = Map("luci", translate("webui", "Oberfläche"), translate("a_i_luci1",
"Hier können Eigenschaften und die Funktionalität der Oberfläche angepasst werden."))
--- ToDo: Translate, Add descriptions and help texts
+--[[
+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$
+]]--
require("luci.model.uci")
require("luci.sys")
--- ToDo: Translate, Add descriptions and help texts
+--[[
+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$
+]]--
m = Map("network", "Schnittstellen", [[An dieser Stelle können die einzelnen Schnittstellen
des Netzwerkes konfiguriert werden. Es können mehrere Schnittstellen zu einer Brücke zusammengefasst werden,
indem diese durch Leerzeichen getrennt aufgezählt werden und ein entsprechender Haken im Feld Netzwerkbrücke
--- ToDo: Translate, Add descriptions and help texts
+--[[
+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$
+]]--
m = Map("network", "Punkt-zu-Punkt Verbindungen", [[Punkt-zu-Punkt Verbindungen
über PPPoE oder PPTP werden häufig dazu verwendet, um über DSL o.ä. Techniken eine
Verbindung zum Internetgateway eines Internetzugangsanbieters aufzubauen.]])
+++ /dev/null
--- ToDo: Translate, Add descriptions and help texts
-m = Map("qos", "Quality of Service", [[Mit Hilfe von QoS kann einzelnen Rechnern oder Netzwerkdiensten
-eine höhere oder niedrigere Priorität zugewiesen werden.]])
-
-s = m:section(TypedSection, "interface", "Schnittstellen")
-s.addremove = true
-
-s:option(Flag, "enabled", "aktiviert")
-
-c = s:option(ListValue, "classgroup", "Klassifizierung")
-c:value("Default", "standard")
-c.default = "Default"
-
-s:option(Flag, "overhead", "Overheadberechnung")
-
-s:option(Value, "download", "Downlink", "kb/s")
-
-s:option(Value, "upload", "Uplink", "kb/s")
-
-s = m:section(TypedSection, "classify", "Klassifizierung")
-
-s.anonymous = true
-s.addremove = true
-
-t = s:option(ListValue, "target", "Klasse")
-t:value("Priority")
-t:value("Express")
-t:value("Normal")
-t:value("Bulk")
-t.default = "Normal"
-
-s:option(Value, "srchost", "Quelladresse", "Quellhost / Quellnetz").optional = true
-s:option(Value, "dsthost", "Zieladresse", "Zielhost / Zielnetz").optional = true
-s:option(Value, "layer7", "Layer 7").optional = true
-
-p2p = s:option(ListValue, "ipp2p", "P2P")
-p2p:value("")
-p2p:value("all", "Alle")
-p2p:value("bit", "Bittorrent")
-p2p:value("dc", "DirectConnect")
-p2p:value("edk", "eDonkey")
-p2p:value("gnu", "Gnutella")
-p2p:value("kazaa", "Kazaa")
-p2p.optional = true
-
-p = s:option(ListValue, "proto", "Protokoll")
-p:value("")
-p:value("tcp", "TCP")
-p:value("udp", "UDP")
-p:value("icmp", "ICMP")
-p.optional = true
-
-s:option(Value, "ports", "Port").optional = true
-s:option(Value, "portrange", "Portbereich").optional = true
-
-return m
\ No newline at end of file
--- ToDo: Translate, Add descriptions and help texts
+--[[
+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$
+]]--
m = Map("network", "Statische Routen", [[Statische Routen geben an,
über welche Schnittstelle und welches Gateway ein bestimmter Host
oder ein bestimmtes Netzwerk erreicht werden kann.]])
--- ToDo: Autodetect things, maybe use MultiValue instead, Translate, Add descriptions
+--[[
+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$
+]]--
m = Map("network", "VLAN", [[Die Netzwerkschnittstellen am Router
können zu verschienden VLANs zusammengefasst werden, in denen Geräte miteinander direkt
kommunizieren können. VLANs werden auch häufig dazu genutzt, um Netzwerke voneiander zu trennen.
-m = Map("dhcp", "Dnsmasq", "Dnsmasq ist ein kombinierter DHCP-Server und DNS-Forwarder für NAT-Firewalls.")
+--[[
+LuCI - Lua Configuration Interface
-s = m:section(TypedSection, "dnsmasq", "Einstellungen")
+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$
+]]--
+m = Map("dhcp", "Dnsmasq")
+
+s = m:section(TypedSection, "dnsmasq", translate("settings", "Einstellungen"))
s.anonymous = true
-s:option(Flag, "domainneeded", "Anfragen nur mit Domain", "Anfragen ohne Domainnamen nicht weiterleiten")
-s:option(Flag, "authoritative", "Authoritativ", "Dies ist der einzige DHCP im lokalen Netz")
-s:option(Flag, "boguspriv", "Private Anfragen filtern", "Reverse DNS-Anfragen für lokalen Netze nicht weiterleiten")
-s:option(Flag, "filterwin2k", "Windowsanfragen filtern", "nutzlose DNS-Anfragen aktueller Windowssysteme filtern")
-s:option(Flag, "localise_queries", "Lokalisiere Anfragen", "Gibt die Adresse eines Hostnamen entsprechend seines Subnetzes zurück")
-s:option(Value, "local", "Lokale Server")
-s:option(Value, "domain", "Lokale Domain")
-s:option(Flag, "expandhosts", "Erweitere Hosts", "Fügt Domainnamen zu einfachen Hosteinträgen in der Resolvdatei hinzu")
-s:option(Flag, "nonegcache", "Unbekannte nicht cachen", "Negative DNS-Antworten nicht zwischenspeichern")
-s:option(Flag, "readethers", "Verwende /etc/ethers", "Lese Informationen aus /etc/ethers um den DHCP-Server zu konfigurieren")
-s:option(Value, "leasefile", "Leasedatei", "Speicherort für vergebenen DHCP-Adressen")
-s:option(Value, "resolvfile", "Resolvdatei", "Lokale DNS-Datei")
-s:option(Flag, "nohosts", "Ignoriere /etc/hosts").optional = true
-s:option(Flag, "strictorder", "Strikte Reihenfolge", "DNS-Server werden strikt der Reihenfolge in der Resolvdatei nach abgefragt").optional = true
-s:option(Flag, "logqueries", "Schreibe Abfragelog").optional = true
-s:option(Flag, "noresolv", "Ignoriere Resolvdatei").optional = true
-s:option(Value, "dnsforwardmax", "gleichzeitige Abfragen").optional = true
-s:option(Value, "port", "DNS-Port").optional = true
-s:option(Value, "ednspacket_max", "max. EDNS.0 Paketgröße").optional = true
-s:option(Value, "dhcpleasemax", "max. DHCP-Leases").optional = true
-s:option(Value, "addnhosts", "Zusätzliche Hostdatei").optional = true
-s:option(Value, "queryport", "Abfrageport").optional = true
+s:option(Flag, "domainneeded")
+s:option(Flag, "authoritative")
+s:option(Flag, "boguspriv")
+s:option(Flag, "filterwin2k")
+s:option(Flag, "localise_queries")
+s:option(Value, "local")
+s:option(Value, "domain")
+s:option(Flag, "expandhosts")
+s:option(Flag, "nonegcache")
+s:option(Flag, "readethers")
+s:option(Value, "leasefile")
+s:option(Value, "resolvfile")
+s:option(Flag, "nohosts").optional = true
+s:option(Flag, "strictorder").optional = true
+s:option(Flag, "logqueries").optional = true
+s:option(Flag, "noresolv").optional = true
+s:option(Value, "dnsforwardmax").optional = true
+s:option(Value, "port").optional = true
+s:option(Value, "ednspacket_max").optional = true
+s:option(Value, "dhcpleasemax").optional = true
+s:option(Value, "addnhosts").optional = true
+s:option(Value, "queryport").optional = true
return m
\ No newline at end of file
+--[[
+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$
+]]--
m = Map("dropbear", "Dropbear SSHd", translate("a_srv_dropbear1", [[Der SSH-Server ermöglicht Shell-Zugriff
über das Netzwerk und bietet einen integrierten SCP-Dienst.]]))
+--[[
+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$
+]]--
m = Map("httpd", "Busybox HTTPd", translate("a_srv_http1", "Ein kleiner Webserver, der für die Bereitstellung von LuCI genutzt werden kann."))
s = m:section(TypedSection, "httpd", "")
+--[[
+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$
+]]--
m = Map("fstab", translate("a_s_fstab", "Einhängepunkte"))
mount = m:section(TypedSection, "mount", translate("a_s_fstab_mountpoints", "Einhängepunkte"), translate("a_s_fstab_mountpoints1", [[Einhängepunkte bestimmen, an welcher Stelle des Dateisystems
+--[[
+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$
+]]--
m = Map("system", translate("hostname", "Hostname"), translate("a_s_hostname1", [[Definiert den Hostnamen des Routers.
Der Hostname ist eine im Netzwerk eindeutige Kennung, die dieses Gerät identifiziert.]]))
--- ToDo: Translate, Add descriptions and help texts
+--[[
+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$
+]]--
m = Map("wireless", translate("devices", "Geräte"), translate("a_w_devices1",
"An dieser Stelle können eingebaute WLAN-Geräte konfiguriert werden."))
--- ToDo: Translate, Add descriptions and help texts
+--[[
+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$
+]]--
m = Map("wireless", translate("networks", "Netze"), translate("a_w_networks1", [[Pro WLAN-Gerät können mehrere Netze bereitgestellt werden.
Es sollte beachtet werden, dass es hardware- / treiberspezifische Einschränkungen gibt.
So kann pro WLAN-Gerät in der Regel entweder 1 Ad-Hoc-Zugang ODER bis zu 3 Access-Point und 1 Client-Zugang
+--[[
+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.freifunk.freifunk", package.seeall)
function index()
+--[[
+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.freifunk.luciinfo", package.seeall)
function index()
--- Todo: Translate
+--[[
+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$
+]]--
m = Map("freifunk", translate("contact", "Kontakt"), translate("contact1", [[Diese Daten sind
auf der öffentlichen Kontaktseite sichtbar. Bitte gib an, wie man dich am besten kontaktieren kann.
Diese Informationen sollten nach der Picopeering Vereinbarung mindestens deine E-Mail-Adresse enthalten.
--- Todo: Translate
+--[[
+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$
+]]--
m = Map("freifunk", "Freifunk")
c = m:section(NamedSection, "community", "public", "Gemeinschaft", [[Dies sind die Grundeinstellungen