Fix the JavaScript String.format() to not trigger an exception if the argument
for an escaped format like %h or %q is undefined.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Wireless monitor interfaces usually have no SSID set in their config and
various network model utility functions did not handle this case properly,
mainly while trying to incorperate the SSID string into various description
labels.
Fall back to the internal network id (radioX.networkY) in cases where neither
the SSID nor the BSSID are available.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
In mod metamethod, execute string format under pcall() and rethrow error in
caller context to report caller of function in errors and not the meta
method itself.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Gracefully handle a missing diag section in /etc/config/luci when rendering
the network diagnostics tool page.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
When a wireless network is disabled it can't be removed. From
wifi_overview.htm the delete call is generated as wlan0, wlan1 or
whatever. This wlan is not working because it is disabled, then LuCI
deletes the virtual radio which really is named as wlan0.
This PR fixes an Internal Server Error when requesting the Wireless Informations in luci-mod-freifunk.
It checks an unindexed value "net.iwdata".
```
/usr/lib/lua/luci/dispatcher.lua:460: Failed to execute template dispatcher target for entry '/freifunk/status'. The called action terminated with an exception: /usr/lib/lua/luci/template.lua:97: Failed to execute template 'freifunk/public_status'.
A runtime error occured: [string "/usr/lib/lua/luci/view/freifunk/public_stat..."]:116: attempt to index field 'iwdata' (a nil value) stack traceback: [C]: in function 'assert' /usr/lib/lua/luci/dispatcher.lua:460: in function 'dispatch' /usr/lib/lua/luci/dispatcher.lua:141: in function...
```
signed-off.by: Guido Lipke <lipkegu@gmail.com>
Replace the menu item "Wifi" by "Wireless",
which is already used for page and section headings
This closes#695
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
An lua interpreter is required on the building host to run the
luasrcdiet lua script. Due to a build change, the interpreter was not
being installed to the correct location.
Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
Cleanup /etc/config/ucitrack by removing '6relayd' item,
as the whole 6relayd package was removed in 2014.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
This pull request adds a condition, which checks whether the file "/etc/config/fstab" exists before it allows access to "mount points".
Signed-off-by: Guido Lipke <lipkegu@gmail.com>
Otherwize the distrevision may be displayed twice if it contains some special matching patterns.(For example I am using "git-$hash" in my own OpenWrt branch.)
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
Add support for dnsmasq uci options 'quietdhcp' and 'sequential_ip'
(disable logging, allocate ip addresses sequentially)
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
restore the lookup of the freifunk community-name stored in
uci "freifunk.community.name".
In 9780ee382e
the value changed to the complete path of the community-profile, e.g.
"/etc/config/profile_berlin". This causes lookup problems on other
pages, like "mod-freifunk -> overview -> index" (view/freifunk/index.htm line37, line 54).
And as the option suggests it's the community-name not the community-profile path.
Signed-off-by: Sven Roederer devel-sven@geroedel.de
Fix the underlying _iface_ignore() function to not ignore virtual interfaces,
in order to let ignore_interface() return true for PPP and similar devices.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This patch fixes the wrong visualization of Noise Margin (SNR) and Signal Attenuation (SATN) stats
Signed-off-by: Luca Debernardi <luca.debernardi@gmail.com>
Check the location of the odhcpd leasefile from /etc/config/dhcp
via uci. Fallback to the default location.
This fixes#702
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Using tristate is counter-intuitive and probably doesn't provide a lot
of benefit so we use a boolean and treat "don't know" as false (because
it is safer than showing options that are not actually available).
Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
Fix display of WAN status when WAN is provided by using WWAN device or similar with other similar similar methods.
Explanation:
Before this, protocol was fetched from /etc/config/network for interface which often is wan_4 - but protocol is configured in file as wan, and therefore protocol is always none, since configuration is made for wan and then setup as wan_4 and possibly wan_6 if ipv6 is being used. This commit uses ubus to get used active protocol. For example, in case of qmi, it displays protocol as dhcp since even if I configured wan to use qmi, dhcp was used as a protocol for getting IP address.
Update timezone data to 2016c.
2016b: http://mm.icann.org/pipermail/tz-announce/2016-March/000036.html
Changes affecting future time stamps
New zones Europe/Astrakhan and Europe/Ulyanovsk for Astrakhan and
Ulyanovsk Oblasts, Russia, both of which will switch from +03 to +04
on 2016-03-27 at 02:00 local time. They need distinct zones since
their post-1970 histories disagree. New zone Asia/Barnaul for Altai
Krai and Altai Republic, Russia, which will switch from +06 to +07
on the same date and local time. Also, Asia/Sakhalin moves from +10
to +11 on 2016-03-27 at 02:00.
As a trial of a new system that needs less information to be made up,
the new zones use numeric time zone abbreviations like "+04"
instead of invented abbreviations like "ASTT".
Haiti will not observe DST in 2016.
Palestine's spring-forward transition on 2016-03-26 is at 01:00,
not 00:00. Guess future transitions will be March's last Saturday
at 01:00, not March's last Friday at 24:00.
2016c: http://mm.icann.org/pipermail/tz-announce/2016-March/000037.html
Changes affecting future time stamps
Azerbaijan no longer observes DST.
Chile reverts from permanent to seasonal DST.
Guess that future transitions are August's and May's second
Saturdays at 24:00 mainland time. Also, call the period from
2014-09-07 through 2016-05-14 daylight saving time instead of
standard time, as that seems more appropriate now.
Note for Openwrt usage:
Either musl or busybox does not like the new timezone format.
Although the rule looks ok in /etc/TZ, timezone is interpreted wrongly
by date, uptime etc. "Old timezones" are handle correctly, but these
new "<+04>-4" style zones do not work. Example below:
Europe/Helsinki
root@OpenWrt:~# cat /etc/TZ
EET-2EEST,M3.5.0/3,M10.5.0/4
root@OpenWrt:~# uptime
11:00:52 up 18:17, load average: 0.43, 0.13, 0.11
root@OpenWrt:~# date
Wed Mar 30 11:00:55 EEST 2016
Europe/Astrakhan
( Time is showed as GMT instead of the correct zone and
zone name is parsed wrongly )
root@OpenWrt:~# cat /etc/TZ
<+04>-4
root@OpenWrt:~# uptime
08:02:52 up 18:19, load average: 0.17, 0.18, 0.13
root@OpenWrt:~# date
Wed Mar 30 08:02:59 +04>-4 2016
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Some packages have different variants that have different
capabilities depending on which libraries against which
they are linked. Add a function to check which library a
binary links against in order to determine available
functionality.
Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
Fix a bug introduced by #561
Function 'shellsqescape' calls 'gsub' with the empty result string 'res'
instead of the actual parameter 'value'. This leads into error:
.../util.lua:160: bad argument #1 to 'gsub' (string expected, got nil)
Fix error by passing the correct parameter to the function.
After the fix, the unmount button introduced by #561 finally works.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Fix dhcpv6 ra_management option's handling of "stateless" value.
Default value for the option is 1, so trying to store ""
instead of "0" for stateless is not working.
This fixes#676
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
- Under some conditions the system will shutdown
uhttpd before the page will be delivered to
the client. Waiting one second should eleminate
this behaviour.
Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
When kmod-nf-nat6 and kmod-ipt-nat6 are installed, the firewall has also
the 'nat' table for ipv6, and packages like 'adblock' utilize that table.
Currently that table is not shown on the Luci firewall status page,
although it is visible by 'ip6tables -L -v -t nat' from console.
Detect 'nat' table's presence from /proc/net/ip6_tables_names
Show 'nat' table in Status->Firewall->IPv6 if that table is present.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
The version string displayed in the footer and the overview page contains
both LuCI and Openwrt versions. But due to differences in the contents
of /etc/openwrt_release the exact Openwrt revision r..... may be missing:
* In trunk that revision is included in the DISTRIB_DESCRIPTION field that
is displayed in Luci as the Openwrt version.
* In release branches, that field contains the release number like 15.05.
Revision number is always present in DISTRIB_REVISION field, so add the
revision from that field in case the revision is not already present
in the string.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Adjust luci.mk and luci-base to find out correctly if Luci is built
from master or from a branch. Display that value in the footer and
the overview page.
* Evaluate the git branch in luci.mk and pass that to LuCI submodules
as a make variable. Use branch name, ignore tags.
* Deprecate svn detection in luci-base's mkversion.sh that generates
version.lua. Simply use the value passed by make.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
This adds a lot of new status information about the dsl line.
It now looks like this on a Telekom line:
Status: UP
Line State: showtime_tc_sync [0x801]
Line Mode: G.993.2 (VDSL2)
Annex: B
Profile: 17a
Data Rate: 51.391 Mb/s / 10.046 Mb/s
Max. Attainable Data Rate (ATTNDR): 63.817 Mb/s / 23.908 Mb/s
Latency: 4.0 ms / 8.0 ms
Line Attenuation (LATN): 10.5 dB / 9.9 dB
Signal Attenuation (SATN): 8.2 dB / 14.4 dB
Noise Margin (SNR): 10.5 dB / 9.7 dB
Aggregate Transmit Power(ACTATP): -14 dB / 12.4 dB
Forward Error Correction Seconds (FECS): 1 / 1723485
Errored seconds (ES): 0 / 2477
Severely Errored Seconds (SES): 0 / 50
Loss of Signal Seconds (LOSS): 0 / 0
Unavailable Seconds (UAS): 31 / 31
Header Error Code Errors (HEC): 0 / 0
Non Pre-emtive CRC errors (CRC_P): 0 / 0
Pre-emtive CRC errors (CRCP_P): 0 / 0
Line Uptime: 2m 3s
ATU-C System Vendor ID: Broadcom 176.15
Power Management Mode: L0 - Synchronized
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Add an empty, normally invisible label after checkboxes and radio buttons
with cbi-input-{checkbox,radio} classes to allow CSS styling them as
suggested on http://www.paulund.co.uk/style-checkboxes-with-css
Signed-off-by: Nils Schneider <nils@nilsschneider.net>
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Fall back to default language if "auto" is configured, but none provided by
the browser matches.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Enable setting a host-specific lease time for static hosts.
Format is similar as for the default lease time: e.g. 2m, 12h, 3d, infinite
Default lease time is used for all hosts without host-specific definition.
Support for the option was added to Openwrt trunk by r48801:
https://dev.openwrt.org/changeset/48801
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* Fix left and right justify/padding in formats
* Do not emit decimal numbers for small values in %m format
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Eliminate more inline scripts in favor to global initialization, use a global
object for sharing fixed strings instead of passing them to each invocation.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
* fixed tabbed map when using NamedSection of same sectiontype
* add error message on which tab(s) the invalid/required fields are located
Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
Update timezone data to 2016a.
http://mm.icann.org/pipermail/tz-announce/2016-January/000035.html
Changes affecting future time stamps
America/Cayman will not observe daylight saving this year after all.
Revert our guess that it would. (Thanks to Matt Johnson.)
Asia/Chita switches from +0800 to +0900 on 2016-03-27 at 02:00.
(Thanks to Alexander Krivenyshev.)
Asia/Tehran now has DST predictions for the year 2038 and later,
to be March 21 00:00 to September 21 00:00. This is likely better
than predicting no DST, albeit off by a day every now and then.
Changes affecting past and future time stamps
America/Metlakatla switched from PST all year to AKST/AKDT on
2015-11-01 at 02:00. (Thanks to Steffen Thorsen.)
America/Santa_Isabel has been removed, and replaced with a
backward compatibility link to America/Tijuana. Its contents were
apparently based on a misreading of Mexican legislation.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Fix links to point into Github repo instead of luci.subsignal.org
- the hint to file a bug in dispatcher
- footers of Bootstrap and Firefunk themes
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Map DUIDs to their corresponding MAC addresses in order to correlate them with
IPv4 information. This is useful to e.g. identify IPv6 hosts which do not send
a name.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
* add more WPA-EAP phase2 authentication methods.
* client cert, client key and key password are only relevant for
WPA EAP-TLS, change dependency accordingly.
* add support for certificates and key for EAP-TLS phase2 auth.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
When fields got removed and readded due to unsatisfied dependencies, they
got inserted in reverse order into the dom.
Fix this issue by properly passing the element index.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Instead of relying on the connect-before-setuid hack, ship a proper
acl definition file whitelisting the procedures that LuCI requires
on its non-root pages.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
Copy the changes made by f8d0ba00b2
also to the interface details pages in order to clarify display of
multiple addresses.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Some applications only support ipv4 so add ipv4only option
to host and hostport datatypes so that for thos applications
that when an IP address is specified only and ipv4 ip address
gets accepted.
The previous versiono of ipaddrport validator only worked for ipv4
due to disallowing colons (:) in ip address which obvious fails for
ipv6. We now instead allow either ipv4 address or an ipv6 address of
the form [<ipv6address>]:port
Some files and pointers to files are not safe to remove without a replacement
file and config pointing to the file. For instance for uhttpd application in
the works, removing the certificate or key config or files without having the
replacements in places renders the WeUI inaccessible.
The only other place where FileUpload is currently used is for wifi certificates
for which the 'safe' handling is also preferred. Therefore make the default for
the FileUpload widget the safe handling and add a property self.unsafeupload that
allows for the old unsafe handling should it prove useful in some case.
Also allow to specify a file already on router instead of uploading a file.
Signed-off By: Daniel Dickinson <openwrt@daniel.thecshore.com>
The call to http.formvalue in order to read the csrf token causes
_parse_input to be triggered *before* controllers and cbi maps have
been built. This results in the failure of file uploads because
the file handler is not yet in place when _parse_input gets called,
and it is in _parse_input that POST data is parsed (including files).
To fix this we add the ability to write file fields to temporary
files (using mkstemp and unlink in nixio.file) and use this to
store file data until the filehandler is registered, with a
fallback to reading the file data into memory.
Once the filehandler callback gets registered we iterate
though all previously parsed (saved) files and copy the
data to the file handler, and then close the temporary
file (which finally removes because we unlinked after
creating the file, but didn't close the file so unlink
was deferred).
Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
Some applications only support ipv4 so add ipv4only option
to host and hostport datatypes so that for thos applications
that when an IP address is specified only and ipv4 ip address
gets accepted.
The previous versiono of ipaddrport validator only worked for ipv4
due to disallowing colons (:) in ip address which obvious fails for
ipv6. We now instead allow either ipv4 address or an ipv6 address of
the form [<ipv6address>]:port
Some files and pointers to files are not safe to remove without a replacement
file and config pointing to the file. For instance for uhttpd application in
the works, removing the certificate or key config or files without having the
replacements in places renders the WeUI inaccessible.
The only other place where FileUpload is currently used is for wifi certificates
for which the 'safe' handling is also preferred. Therefore make the default for
the FileUpload widget the safe handling and add a property self.unsafeupload that
allows for the old unsafe handling should it prove useful in some case.
Also allow to specify a file already on router instead of uploading a file.
Signed-off By: Daniel Dickinson <openwrt@daniel.thecshore.com>
/lib/uci/upload is a rather odd place for configuration files
Also the files were not saved across sysupgrade, which is somewhat
counter-productive for configuration files.
Signed-off By: Daniel Dickinson <openwrt@daniel.thecshore.com>
The new function is twice as fast as the old implementation and properly
summarizes outgoing and incoming byte and packet counters.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
For better view of 'Interface Overview' IPv4/IPv6 addresses for
interfaces should be displayed as lists, but not as comma separated
strings.
Signed-off-by: Alexander Logger <intagger@gmail.com>
Add two new types 'hostport' and 'ipaddrport' to validate strings in the form
'sub.example.org:1234' and '0.0.0.0:80'. The 'hostport' accepts hostnames or
IP addresses followed by a colon and a port number while the 'ipaddrport' type
accepts numeric IP addresses only, followed by a colon and a port.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
When using os.execute or luci.sys.call the shell is called with the
command line which means that standard shell interpretation of strings
occurs. To allow to use these commands more easily we add functions
for properly escaping single-quoted strings used on the command line
Previously the global configuration options were missing the the LuCI configuration,
however these options are useful, so make them available to the UI.