diff options
11 files changed, 155 insertions, 205 deletions
diff --git a/applications/luci-ddns/CHANGELOG b/applications/luci-ddns/CHANGELOG index 56c1cf9236..34c2c8d227 100644 --- a/applications/luci-ddns/CHANGELOG +++ b/applications/luci-ddns/CHANGELOG @@ -1,3 +1,16 @@ +Version: 2.1.0-3 +Date: 2014-12-07 +ddns-scripts: 2.1.0-2 or greater needed + +- 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 + +-------------------------------------------------------------------------------- Version: 2.1.0-2 Date: 2014-11-15 ddns-scripts: 2.1.0-2 or greater needed diff --git a/applications/luci-ddns/ipkg/postinst b/applications/luci-ddns/ipkg/postinst index 938f746f70..a2c13fa34c 100644 --- a/applications/luci-ddns/ipkg/postinst +++ b/applications/luci-ddns/ipkg/postinst @@ -1,10 +1,5 @@ #!/bin/sh [ -n "${IPKG_INSTROOT}" ] || { - # luci updates are not in sync with ddns-script updates !!! - # needed because luci update might delete helper script - # copy dynamic_dns_helper.tmp.sh from ddns-scripts - cp -f /usr/lib/ddns/dynamic_dns_lucihelper.tmp.sh /usr/lib/ddns/dynamic_dns_lucihelper.sh - ( . /etc/uci-defaults/luci-ddns ) && rm -f /etc/uci-defaults/luci-ddns exit 0 } diff --git a/applications/luci-ddns/ipkg/postinst-pkg b/applications/luci-ddns/ipkg/postinst-pkg index 938f746f70..a2c13fa34c 100644 --- a/applications/luci-ddns/ipkg/postinst-pkg +++ b/applications/luci-ddns/ipkg/postinst-pkg @@ -1,10 +1,5 @@ #!/bin/sh [ -n "${IPKG_INSTROOT}" ] || { - # luci updates are not in sync with ddns-script updates !!! - # needed because luci update might delete helper script - # copy dynamic_dns_helper.tmp.sh from ddns-scripts - cp -f /usr/lib/ddns/dynamic_dns_lucihelper.tmp.sh /usr/lib/ddns/dynamic_dns_lucihelper.sh - ( . /etc/uci-defaults/luci-ddns ) && rm -f /etc/uci-defaults/luci-ddns exit 0 } diff --git a/applications/luci-ddns/luasrc/controller/ddns.lua b/applications/luci-ddns/luasrc/controller/ddns.lua index 4559cd2ed1..b11388c30c 100644 --- a/applications/luci-ddns/luasrc/controller/ddns.lua +++ b/applications/luci-ddns/luasrc/controller/ddns.lua @@ -25,35 +25,28 @@ local SYS = require "luci.sys" local DDNS = require "luci.tools.ddns" -- ddns multiused functions local UTIL = require "luci.util" -local luci_ddns_version = "2.1.0-2" -- luci-app-ddns / openwrt Makefile compatible version +local luci_ddns_version = "2.1.0-3" -- luci-app-ddns / openwrt Makefile compatible version local ddns_scripts_min = "2.1.0-2" -- minimum version of ddns-scripts required function index() - -- above 'require "mod"' definitions are not recognized - -- inside index() during initialisation - - -- no configuration file, don't start - if not nixio.fs.access("/etc/config/ddns") then + -- no services_ipv6 file or no dynamic_dns_lucihelper.sh + -- do NOT start + if not nixio.fs.access("/usr/lib/ddns/services_ipv6") + or not nixio.fs.access("/usr/lib/ddns/dynamic_dns_lucihelper.sh") then return end - -- ddns-scripts 1.0.0 installed, run old luci app - if not nixio.fs.access("/usr/lib/ddns/services_ipv6") - or nixio.fs.access("/usr/lib/ddns/url_escape.sed") then - local page - page = entry({"admin", "services", "ddns"}, cbi("ddns/ddns"), _("Dynamic DNS"), 60) - page.dependent = true - page = entry({"mini", "network", "ddns"}, cbi("ddns/ddns", {autoapply=true}), _("Dynamic DNS"), 60) - page.dependent = true - -- it looks like ddns-scripts 2.x.x are installed - else - entry( {"admin", "services", "ddns"}, cbi("ddns/overview"), _("Dynamic DNS"), 59) - entry( {"admin", "services", "ddns", "detail"}, cbi("ddns/detail"), nil ).leaf = true - entry( {"admin", "services", "ddns", "hints"}, cbi("ddns/hints", - {hideapplybtn=true, hidesavebtn=true, hideresetbtn=true}), nil ).leaf = true - entry( {"admin", "services", "ddns", "logview"}, call("logread") ).leaf = true - entry( {"admin", "services", "ddns", "startstop"}, call("startstop") ).leaf = true - entry( {"admin", "services", "ddns", "status"}, call("status") ).leaf = true + -- no config create an empty one + if not nixio.fs.access("/etc/config/ddns") then + nixio.fs.writefile("/etc/config/ddns", "") end + + entry( {"admin", "services", "ddns"}, cbi("ddns/overview"), _("Dynamic DNS"), 59) + entry( {"admin", "services", "ddns", "detail"}, cbi("ddns/detail"), nil ).leaf = true + entry( {"admin", "services", "ddns", "hints"}, cbi("ddns/hints", + {hideapplybtn=true, hidesavebtn=true, hideresetbtn=true}), nil ).leaf = true + entry( {"admin", "services", "ddns", "logview"}, call("logread") ).leaf = true + entry( {"admin", "services", "ddns", "startstop"}, call("startstop") ).leaf = true + entry( {"admin", "services", "ddns", "status"}, call("status") ).leaf = true end -- function to read all sections status and return data array 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 diff --git a/applications/luci-ddns/luasrc/view/ddns/detail_logview.htm b/applications/luci-ddns/luasrc/view/ddns/detail_logview.htm index 7811e7e704..494b7435cd 100644 --- a/applications/luci-ddns/luasrc/view/ddns/detail_logview.htm +++ b/applications/luci-ddns/luasrc/view/ddns/detail_logview.htm @@ -28,8 +28,8 @@ -- one button on top, one at the buttom %> <input class="cbi-button cbi-input-button" style="align: center; width: 100%" type="button" onclick="onclick_logview(this.name, false)" -<%= -attr("name", section) .. attr("id", cbid .. ".btn1") .. attr("value", self.inputtitle) +<%= +attr("name", section) .. attr("id", cbid .. ".btn1") .. attr("value", self.inputtitle) %> /> <br /><br /> @@ -39,15 +39,15 @@ attr("name", section) .. attr("id", cbid .. ".btn1") .. attr("value", self.input -- in openwrt theme there are problems with a width of 100 so we check for theme and set to lower value %> <textarea style="width: <%if media == "/luci-static/openwrt.org" then%>98.7%<%else%>100%<%end%> ; min-height: 500px; border: 3px solid #cccccc; padding: 5px; font-family: monospace; resize: none;" wrap="off" readonly="readonly" -<%= -attr("name", cbid .. ".txt") .. attr("id", cbid .. ".txt") .. ifattr(self.rows, "rows") +<%= +attr("name", cbid .. ".txt") .. attr("id", cbid .. ".txt") .. ifattr(self.rows, "rows") %> > <%-=pcdata(self:cfgvalue(section))-%> </textarea> <br /><br /> -<% --- one button on top, one at the buttom +<% +-- one button on top, one at the buttom %> <input class="cbi-button cbi-input-button" style="align: center; width: 100%" type="button" onclick="onclick_logview(this.name, true)" <%= attr("name", section) .. attr("id", cbid .. ".btn2") .. attr("value", self.inputtitle) %> /> diff --git a/applications/luci-ddns/luasrc/view/ddns/overview_startstop.htm b/applications/luci-ddns/luasrc/view/ddns/overview_startstop.htm index 39c5152b73..8255aa63f3 100644 --- a/applications/luci-ddns/luasrc/view/ddns/overview_startstop.htm +++ b/applications/luci-ddns/luasrc/view/ddns/overview_startstop.htm @@ -3,13 +3,13 @@ <%+cbi/valueheader%> <% if self:cfgvalue(section) ~= false then --- We need to garantie that function cfgvalue run first to set missing parameters +-- We need to garantie that function cfgvalue run first to set missing parameters %> <!-- style="font-size: 100%;" needed for openwrt theme to fix font size --> <!-- type="button" onclick="..." enable standard onclick functionalty --> <input class="cbi-button cbi-input-<%=self.inputstyle or "button" %>" style="font-size: 100%;" type="button" onclick="onclick_startstop(this.id)" - <%= - attr("name", section) .. attr("id", cbid) .. attr("value", self.inputtitle) .. ifattr(self.disabled, "disabled") + <%= + attr("name", section) .. attr("id", cbid) .. attr("value", self.inputtitle) .. ifattr(self.disabled, "disabled") %> /> <% end %> diff --git a/applications/luci-freifunk-diagnostics/luasrc/view/freifunk/diagnostics.htm b/applications/luci-freifunk-diagnostics/luasrc/view/freifunk/diagnostics.htm index f35811f648..24f9bae61b 100644 --- a/applications/luci-freifunk-diagnostics/luasrc/view/freifunk/diagnostics.htm +++ b/applications/luci-freifunk-diagnostics/luasrc/view/freifunk/diagnostics.htm @@ -72,7 +72,7 @@ local has_traceroute6 = fs.access("/usr/bin/traceroute6") <br /> <div style="width:30%; float:left"> - <input style="margin: 5px 0" type="text" value="openwrt.org" name="ping" /><br /> + <input style="margin: 5px 0" type="text" value="dev.openwrt.org" name="ping" /><br /> <% if has_ping6 then %> <select name="ping_proto" style="width:auto"> <option value="" selected="selected"><%:IPv4%></option> @@ -85,7 +85,7 @@ local has_traceroute6 = fs.access("/usr/bin/traceroute6") </div> <div style="width:33%; float:left"> - <input style="margin: 5px 0" type="text" value="openwrt.org" name="traceroute" /><br /> + <input style="margin: 5px 0" type="text" value="dev.openwrt.org" name="traceroute" /><br /> <% if has_traceroute6 then %> <select name="traceroute_proto" style="width:auto"> <option value="" selected="selected"><%:IPv4%></option> diff --git a/contrib/package/community-profiles/files/etc/config/profile_31c3 b/contrib/package/community-profiles/files/etc/config/profile_31c3 new file mode 100644 index 0000000000..469e0b599e --- /dev/null +++ b/contrib/package/community-profiles/files/etc/config/profile_31c3 @@ -0,0 +1,45 @@ +config 'community' 'profile' + option 'name' 'Freifunk 31c3' + option 'homepage' 'http://31c3.freifunk.net' + option 'ssid' '02:CA:FF:EE:BA:BE' + option 'mesh_network' '10.197.0.0/16' + option 'latitude' '53.56176' + option 'longitude' '9.9833' + option 'suffix' 'olsr.31c3.freifunk.net' + option 'vap' '0' + option 'adhoc_dhcp_when_vap' '0' + +config 'defaults' 'interface' + option 'netmask' '255.255.255.255' + +config 'defaults' 'bssidscheme' + option '1' '02:CA:FF:EE:BA:BE' + option '36' '02:36:CA:FF:EE:EE' + +config 'defaults' 'wifi_device' + option 'country' 'DE' + +config 'defaults' 'wifi_iface' + option 'mcast_rate' '12000' + +config 'defaults' 'olsrd' + option 'LinkQualityAlgorithm' 'etx_ff' + +config widget 'customindex' + option enabled '1' + option width '50%' + option paddingright '5%' + option template 'html' + +config widget 'rssbundesweit' + option cache '3600' + option width '50%' + option title 'bundesweiter Freifunk Blog' + option template 'rssfeed' + option enabled '1' + option max '10' + option url 'http://blog.freifunk.net/rss.xml' + +config widget 'clear1' + option template 'clear' + option enabled '1' diff --git a/contrib/package/community-profiles/files/etc/config/profile_freiburg b/contrib/package/community-profiles/files/etc/config/profile_freiburg new file mode 100644 index 0000000000..eee3d6ad0d --- /dev/null +++ b/contrib/package/community-profiles/files/etc/config/profile_freiburg @@ -0,0 +1,45 @@ +config 'community' 'profile' + option 'name' 'Freifunk Freiburg' + option 'homepage' 'http://freiburg.freifunk.net' + option 'ssid' '02:CA:FF:EE:BA:BE' + option 'mesh_network' '10.60.0.0/16' + option 'latitude' '47.994841' + option 'longitude' '7.849772' + option 'suffix' 'olsr.freiburg.freifunk.net' + option 'vap' '1' + option 'adhoc_dhcp_when_vap' '0' + +config 'defaults' 'interface' + option 'netmask' '255.255.255.255' + +config 'defaults' 'bssidscheme' + option '1' '02:CA:FF:EE:BA:BE' + option '40' '02:40:CA:FF:EE:EE' + +config 'defaults' 'wifi_device' + option 'country' 'DE' + +config 'defaults' 'wifi_iface' + option 'mcast_rate' '6000' + +config 'defaults' 'olsrd' + option 'LinkQualityAlgorithm' 'etx_ff' + +config widget 'customindex' + option enabled '1' + option width '50%' + option paddingright '5%' + option template 'html' + +config widget 'rssbundesweit' + option cache '3600' + option width '50%' + option title 'bundesweiter Freifunk Blog' + option template 'rssfeed' + option enabled '1' + option max '10' + option url 'http://blog.freifunk.net/rss.xml' + +config widget 'clear1' + option template 'clear' + option enabled '1' |