Rework the regexp pattern to allow both IP addresses without mask
and IPv6 addresses with netmask instead of CIDR notation.
Fixes: #2495, #2530
Fixes: f6bfac211 ("luci-mod-status: rework iptables status page")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Drop the "secret" value from RPC session objects in order to make them
compatible with ordinary web sessions used by the LuCI web interface.
That secret value was never used for anything and is the only difference
compared to normal LuCI login sessions.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The get_all() function has changed and how it was used before no
longer works properly. These changes not only change to individual
get() calls, but actually adds to the readability of the code and reduces
file size.
Signed-off-by: pmelange <isprotejesvalkata@gmail.com>
In cbi.js there is an error which causes ipaddrport validation to always fail.
JS match() return the entire match as ret[0] and individual matches (for multiple ()) as the
subsequent list members. So we fix it by just fixing the index in the calls that want the
individual parts.
Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
Update timezone data to 2018i
http://mm.icann.org/pipermail/tz-announce/2018-December/000053.htmlhttp://mm.icann.org/pipermail/tz-announce/2018-December/000054.html
2018h:
* Qyzylorda, Kazakhstan moved from +06 to +05 on 2018-12-21.
* New zone Asia/Qostanay because Qostanay, Kazakhstan didn't move.
* Metlakatla, Alaska observes PST this winter only.
* Guess Morocco will continue to adjust clocks around Ramadan.
* Add predictions for Iran from 2038 through 2090.
2018i:
* São Tomé and Príncipe switches from +01 to +00 on 2019-01-01.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Do not call cbi_init() from the browser field template but lazily initialize
the field, like it is being done for all other widgets as well.
Fixes: #2398
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Replace all XHR poll time number with -1 so they will use the default
poll interval time value from "/etc/config/luci". If this is not set then
5 seconds as default is used.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Make poll interval configurable. Use option from
----
config core 'main'
option pollinterval '5'
---
This will only be used if the interval option is less or equal zero.
If the poll interval is not configured then a default value of 5 seconds
is used.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
When an interface configuration specifies both "option ipaddr 1.2.3.4/24"
and "option netmask", then netifd will ignore the netmask in favor to the
prefix encoded in the cidr string.
Support this variant as well by treating a sole cidr string value as
singöe-item cidr list.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
- Instantiate tab menus on the client side
- Simplify server side markup generation
- Show error indicators in cbi tabs
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The new `tooltip-open` and `tooltip-close` events allow other code to hook
into the tooltip div rendering, e.g. to populate it with custom markup.
Also ignore tooltip events originating from descendant elements while
we're at it.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Not every user knows which trigger does what. To make this clear, the
triggers are now translated with a short help text.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
The showTooltip() and hideTooltip() functions have been moved to luci.js
Reported-by: brv phoenix <feixuekaka1@gmail.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Multiple iptables listing commands might be triggered in parallel due
to the XHR polling, so use the -w flag to wait for the lock to become
free.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Use the same ordering logic for building the dispatch tree and for
querying the children of a given node.
Fixes#2338.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This feature was never used, is hardly documented and appears to be
designed to fiddle with the internal dispatch tree state.
Given that, simply drop the related code to simplify the dispatcher
class somewhat.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The default for 802.11r option ft_psk_generate_local
was changed a few months ago by openwrt/openwrt@3cc56a5
That change was a bit awkward, as it made hostapd to
overlook the possibly existing r0kh values by default
unless the user explicitly disables the new default.
Adapt LuCI by changing the default for ft_psk_generate_local
into 'enabled'.
But ensure that LuCI does not delete the existing key values
by not making the r0kh and r1kh fields to depend on this.
Note that this is just a quick fix for the wrong default value
causing problems, but not yet a complete fix for all the options.
In the long run it might be better to make the detail options
to depend on local generation.
Reference also to LuCI PR #2102
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Introduce a new luci.dom class which groups the DOM manipulation helpers
such as E(), findParent(), matchesElem() etc.
Provide wrappers for the old functions to ease the transition to the new
functions.
Also add a new widget helper function L.itemlist() which consolidates
the item enumeration formatting code found on various pages.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Introduce a new script file luci.js which is included by default and
intended to be the common location of functions currently scattered
in cbi.js and xhr.js.
The luci.js file provides a LuCI() class which - among other things -
implements helpers to construct URL paths and making HTTP requests.
A singleton instance of the class is instantiated as window.L upon
load and preset with the necessary environment information.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Commit 94d8c9a7a accidentally overwrite the rewording of strings made in
an earlier commit.
Fixes: 94d8c9a7a ("luci-base: simplify apply widget code")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Split password, dropbear and SSH key configuration into separate pages in
order to improve the form layout and to simplify the code.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
- cbi.js: make sure to treat single bytes as signed char when
handling end cases
- template_lmo.c: make sure to treat single bytes as signed
char when handling end cases, avoids hash miscalculations
on ARM
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Replace a sign-propagating right shift by a zero-filling right shift to avoid
calculating a wrong hash code in the three-trailing-bytes case.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The C side implementation of the hash operates on bytes while the JS variant
operated on UTF-16 codepoints, leading to miscalculations on input strings
containing multibyte sequences.
Recode the given string to an internal UTF-8 byte representation and
calculate the hash over that.
Fixes client side mapping of translation strings containing non-ASCII
characters.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Drop very old IE compat code, restructure class, align code style with
other files and properly handle JSON mimetypes with charset trailer.
Also detect session related 403 errors and show a modal prompting
to re-login.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Send a custom LuCI X-Header to indicate that a login is required to access
the requested resource. This is mainly intended for xhr.js to be able to
intercept such responses and popup an authentication dialog.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This provides a more accurate description for the theme selection.
Signed-off-by: Angus Ding <angus.ding@gmail.com>
[reword commit message]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>