diff options
author | Christian Schoenebeck <christian.schoenebeck@gmail.com> | 2014-12-07 21:31:57 +0100 |
---|---|---|
committer | Christian Schoenebeck <christian.schoenebeck@gmail.com> | 2014-12-07 21:31:57 +0100 |
commit | 61c6c67ae684b8ea9642dc5d6bdca4fead58d0c1 (patch) | |
tree | d48254cf54075e2ea89e3b21319ecbc13c53b704 /applications/luci-ddns/luasrc/model/cbi | |
parent | 91532de6179704e4c69f1580274123f5956baf03 (diff) |
luci-app-ddns: Update to support ddns-scripts 2.1.0-3
- modified controller
-- remove support for ddns-scripts Version 1.x
-- ddns-scripts not correctly installed do not start
-- no config file create an empty one
- moved log settings to advanced tab
- set default syslog level "Notice"
- removed special handling for dynamic_dns_helper.sh in postinst
Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
Diffstat (limited to 'applications/luci-ddns/luasrc/model/cbi')
-rw-r--r-- | applications/luci-ddns/luasrc/model/cbi/ddns/ddns.lua | 135 | ||||
-rw-r--r-- | applications/luci-ddns/luasrc/model/cbi/ddns/detail.lua | 51 |
2 files changed, 25 insertions, 161 deletions
diff --git a/applications/luci-ddns/luasrc/model/cbi/ddns/ddns.lua b/applications/luci-ddns/luasrc/model/cbi/ddns/ddns.lua deleted file mode 100644 index 9ce0c13eb5..0000000000 --- a/applications/luci-ddns/luasrc/model/cbi/ddns/ddns.lua +++ /dev/null @@ -1,135 +0,0 @@ ---[[ -LuCI - Lua Configuration Interface - -Copyright 2008 Steven Barth <steven@midlink.org> -Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net> -Copyright 2013 Manuel Munz <freifunk at somakoma dot de> - -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 - -]]-- - -require("luci.tools.webadmin") - -m = Map("ddns", translate("Dynamic DNS"), - translate("Dynamic DNS allows that your router can be reached with " .. - "a fixed hostname while having a dynamically changing " .. - "IP address.")) - -s = m:section(TypedSection, "service", "") -s.addremove = true -s.anonymous = false - -s:option(Flag, "enabled", translate("Enable")) - -interface = s:option(ListValue, "interface", translate("Event interface"), translate("Network on which the ddns-updater scripts will be started")) -luci.tools.webadmin.cbi_add_networks(interface) -interface.default = "wan" - -svc = s:option(ListValue, "service_name", translate("Service")) -svc.rmempty = false -svc.default = "dyndns.org" - -local services = { } -local fd = io.open("/usr/lib/ddns/services", "r") -if fd then - local ln - repeat - ln = fd:read("*l") - local s = ln and ln:match('^%s*"([^"]+)"') - if s then services[#services+1] = s end - until not ln - fd:close() -end - -local v -for _, v in luci.util.vspairs(services) do - svc:value(v) -end - -function svc.cfgvalue(...) - local v = Value.cfgvalue(...) - if not v or #v == 0 then - return "-" - else - return v - end -end - -function svc.write(self, section, value) - if value == "-" then - m.uci:delete("ddns", section, self.option) - else - Value.write(self, section, value) - end -end - -svc:value("-", "-- "..translate("custom").." --") - -local url = s:option(Value, "update_url", translate("Custom update-URL")) -url:depends("service_name", "-") -url.rmempty = true - -local hostname = s:option(Value, "domain", translate("Hostname")) -hostname.rmempty = true -hostname.default = "mypersonaldomain.dyndns.org" -hostname.datatype = "host" - -local username = s:option(Value, "username", translate("Username")) -username.rmempty = true - -local pw = s:option(Value, "password", translate("Password")) -pw.rmempty = true -pw.password = true - -require("luci.tools.webadmin") - -local src = s:option(ListValue, "ip_source", - translate("Source of IP address")) -src.default = "network" -src:value("network", translate("network")) -src:value("interface", translate("interface")) -src:value("web", translate("URL")) - -local iface = s:option(ListValue, "ip_network", translate("Network")) -iface:depends("ip_source", "network") -iface.rmempty = true -iface.default = "wan" -luci.tools.webadmin.cbi_add_networks(iface) -iface = s:option(ListValue, "ip_interface", translate("Interface")) -iface:depends("ip_source", "interface") -iface.rmempty = true -for k, v in pairs(luci.sys.net.devices()) do - iface:value(v) -end - -local web = s:option(Value, "ip_url", translate("URL")) -web:depends("ip_source", "web") -web.default = "http://checkip.dyndns.com/" -web.rmempty = true - - -local ci = s:option(Value, "check_interval", translate("Check for changed IP every")) -ci.datatype = "and(uinteger,min(1))" -ci.default = 10 - -local unit = s:option(ListValue, "check_unit", translate("Check-time unit")) -unit.default = "minutes" -unit:value("minutes", translate("min")) -unit:value("hours", translate("h")) - -fi = s:option(Value, "force_interval", translate("Force update every")) -fi.datatype = "and(uinteger,min(1))" -fi.default = 72 - -local unit = s:option(ListValue, "force_unit", translate("Force-time unit")) -unit.default = "hours" -unit:value("minutes", translate("min")) -unit:value("hours", translate("h")) - - -return m diff --git a/applications/luci-ddns/luasrc/model/cbi/ddns/detail.lua b/applications/luci-ddns/luasrc/model/cbi/ddns/detail.lua index d7a15a83d0..748586cdf6 100644 --- a/applications/luci-ddns/luasrc/model/cbi/ddns/detail.lua +++ b/applications/luci-ddns/luasrc/model/cbi/ddns/detail.lua @@ -468,29 +468,6 @@ if has_ssl then end end --- use_syslog -- ############################################################### -slog = ns:taboption("basic", ListValue, "use_syslog", - translate("Log to syslog"), - translate("Writes log messages to syslog. Critical Errors will always be written to syslog.") ) -slog.default = "0" -slog:value("0", translate("No logging")) -slog:value("1", translate("Info")) -slog:value("2", translate("Notice")) -slog:value("3", translate("Warning")) -slog:value("4", translate("Error")) - --- use_logfile (NEW) -- ######################################################## -logf = ns:taboption("basic", Flag, "use_logfile", - translate("Log to file"), - translate("Writes detailed messages to log file. File will be truncated automatically.") .. "<br />" .. - translate("File") .. [[: "]] .. log_dir .. [[/]] .. section .. [[.log"]] ) -logf.orientation = "horizontal" -logf.rmempty = false -- we want to save in /etc/config/ddns file on "0" because -logf.default = "1" -- if not defined write to log by default -function logf.parse(self, section) - DDNS.flag_parse(self, section) -end - -- TAB: Advanced ################################################################################## -- IPv4 - ip_source -- ######################################################### src4 = ns:taboption("advanced", ListValue, "ipv4_source", @@ -1027,6 +1004,29 @@ if has_proxy or ( ( m:get(section, "proxy") or "" ) ~= "" ) then end end +-- use_syslog -- ############################################################### +slog = ns:taboption("advanced", ListValue, "use_syslog", + translate("Log to syslog"), + translate("Writes log messages to syslog. Critical Errors will always be written to syslog.") ) +slog.default = "2" +slog:value("0", translate("No logging")) +slog:value("1", translate("Info")) +slog:value("2", translate("Notice")) +slog:value("3", translate("Warning")) +slog:value("4", translate("Error")) + +-- use_logfile (NEW) -- ######################################################## +logf = ns:taboption("advanced", Flag, "use_logfile", + translate("Log to file"), + translate("Writes detailed messages to log file. File will be truncated automatically.") .. "<br />" .. + translate("File") .. [[: "]] .. log_dir .. [[/]] .. section .. [[.log"]] ) +logf.orientation = "horizontal" +logf.rmempty = false -- we want to save in /etc/config/ddns file on "0" because +logf.default = "1" -- if not defined write to log by default +function logf.parse(self, section) + DDNS.flag_parse(self, section) +end + -- TAB: Timer ##################################################################################### -- check_interval -- ########################################################### ci = ns:taboption("timer", Value, "check_interval", @@ -1148,9 +1148,8 @@ rc = ns:taboption("timer", Value, "retry_count", rc.default = 5 rc.rmempty = false -- validate ourselves for translatable error messages function rc.validate(self, value) - if not DTYP.uinteger(value) - or tonumber(value) < 1 then - return nil, err_tab_timer(self) .. translate("minimum value '1'") + if not DTYP.uinteger(value) then + return nil, err_tab_timer(self) .. translate("minimum value '0'") else return value end |