Dirk Brenken [Fri, 11 May 2018 18:26:11 +0000 (20:26 +0200)]
Merge pull request #1787 from TDT-AG/pr/
20180509-net-mwan3-fixes
luci-app-mwan3: fixes
Dirk Brenken [Fri, 11 May 2018 18:15:20 +0000 (20:15 +0200)]
Merge pull request #1791 from dibdot/travelmate
luci-app-travelmate: fix Interface Wizard
Dirk Brenken [Fri, 11 May 2018 09:00:16 +0000 (11:00 +0200)]
luci-app-travelmate: fix Interface Wizard
* make sure to update the nw & fw entries only once
Signed-off-by: Dirk Brenken <dev@brenken.org>
Hannu Nyman [Wed, 9 May 2018 19:11:48 +0000 (22:11 +0300)]
Merge pull request #1789 from ldir-EDB0/miniupdpdtweak
luci-app-upnp: change leasefile location hint
Kevin Darbyshire-Bryant [Wed, 9 May 2018 12:50:35 +0000 (13:50 +0100)]
luci-app-upnp: change leasefile location hint
Change default leasefile hint from /var/log/upnp.leases to
/var/run/miniupnpd.leases
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Florian Eckert [Wed, 9 May 2018 11:48:27 +0000 (13:48 +0200)]
luci-app-mwan3: pin diag ping command to interface device
If the physical device is not set in the diag_command then the ping will
always use the route with the lowest metric from the default routing
table.
To fix this add the physical device of the logical interface to the ping
command.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Florian Eckert [Wed, 9 May 2018 11:13:20 +0000 (13:13 +0200)]
luci-app-mwan3: honor dynamic interface to get gateway ip
If a logical interface setup and adds in the protocol handler a dynamic
interface then the gateway is configured in the dynamic interface and the
setting up logical interface does not have a gateway specified.
To fix this check first if a dynamic interface is present and use this
gateway ip if found and if no dynamich interface is set then check for a
gateway in the logical interface.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Dirk Brenken [Wed, 9 May 2018 11:38:09 +0000 (13:38 +0200)]
Merge pull request #1780 from dibdot/adblock
luci-app-adblock: support new workflow
Dirk Brenken [Sat, 5 May 2018 06:16:40 +0000 (08:16 +0200)]
luci-app-adblock: support new workflow
* adapt Adblock to support the new cbi apply workflow
* tested successfully with old & new workflow
Signed-off-by: Dirk Brenken <dev@brenken.org>
Dirk Brenken [Wed, 9 May 2018 11:19:14 +0000 (13:19 +0200)]
Merge pull request #1777 from dibdot/travelmate
luci-app-travelmate: support new workflow
Dirk Brenken [Wed, 9 May 2018 11:18:13 +0000 (13:18 +0200)]
Merge pull request #1785 from EricLuehrsen/unbound_luci
luci-app-unbound: clean up tab presentation
Dirk Brenken [Thu, 3 May 2018 05:53:48 +0000 (07:53 +0200)]
luci-app-travelmate: support new workflow & re-ordering fix
* Remove SimpleForm stuff from Interface Wizard
* adapt Travelmate to support new cbi apply workflow
* fix station re-odering
* tested successfully with old & new workflow
Signed-off-by: Dirk Brenken <dev@brenken.org>
Eric Luehrsen [Tue, 8 May 2018 05:48:44 +0000 (01:48 -0400)]
luci-app-unbound: clean up tab presentation
Some of the options in the tabs were not placed in
optimal groups. Add tabs for DHCP and start triggers.
Signed-off-by: Eric Luehrsen <ericluehrsen@hotmail.com>
Yousong Zhou [Mon, 7 May 2018 14:07:15 +0000 (22:07 +0800)]
luci-app-commands: fix link generation
Fixes openwrt/luci##824
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Yousong Zhou [Mon, 7 May 2018 14:20:18 +0000 (22:20 +0800)]
luci-mod-freifunk: fix redirect url
location.hostname lacks port info
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Florian Eckert [Tue, 20 Dec 2016 13:06:34 +0000 (14:06 +0100)]
luci-app-firewall: redirect to overview page on zone details save
This fixes an inconsistency because on the interface configuration if
you press Save&Apply it will go back to overview page. It is also the
case with "Firewall - Traffic Rules" details. On firewall zone it only
goes back to firewall zone-detail. Same behaviour on all pages is a good
user experience.
Signed-off-by: Florian Eckert <Eckert.Florian@googlemail.com>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Yousong Zhou [Mon, 7 May 2018 13:17:42 +0000 (21:17 +0800)]
luci-mod-admin-full: use fs.glob instead nixio.fs.glob
It's how the module was named when "require"d and used by other code in
the same function
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Florian Eckert [Sun, 4 Jun 2017 16:49:27 +0000 (18:49 +0200)]
luci-mod-admin-full: no menu entry for leds if "/sys/class/leds" is empty
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Florian Eckert [Wed, 29 Nov 2017 15:51:08 +0000 (16:51 +0100)]
luci-mod-admin-full: change supports_reset() test for factory reset
The check "supports_reset" only covers /proc/mtd partitions. If we have
this the commands checks for names like ubi or rootfs_data. If this is
found the system is possible for a factory reset. But on x86 the
situation is different. We have no /proc/mtd partitions because this
system do not use a bare metall flash.
To solve this issue check if we have an overlay and if so we could do a
factory reset. This could be applied for system which uses bare metal
flash and system which uses FTL or harddisks.
Jffs2reset is the current command used for factory reset. It will try
to find volume "rootfs_data" and if it's mounted will delete all files
under directory /overlay
luci-mod-admin-mini also has check for reset available, but we leave it
alone for now as it uses "mtd -r erase rootfs_data"
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Florian Eckert [Sun, 15 Jan 2017 08:28:04 +0000 (09:28 +0100)]
luci-app-openvpn: add license tag
Add missing license tag. File headers of the application indicate so
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
Florian Eckert [Wed, 22 Nov 2017 11:09:45 +0000 (12:09 +0100)]
luci-base: reload log on uci system change
If log configuration get changed in uci system no new values are applied
until reboot. Add /etc/init.d/log reload to exec option will solve this
issue.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Florian Eckert [Wed, 4 Apr 2018 12:04:17 +0000 (14:04 +0200)]
luci-proto-ppp: add translation to ipv6 handling
If there is no translation set, then on material theme the dropdown
selection displaced. To fix this add an translation to this dropdown.
The commit also changes source code whitespace shifting.
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Florian Eckert [Mon, 7 May 2018 05:47:17 +0000 (07:47 +0200)]
luci-base: fix i18n de typo for rc.local
Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Jo-Philipp Wich [Sat, 5 May 2018 20:56:30 +0000 (22:56 +0200)]
luci-mod-rpc: more auth/login fixes, expose further libraries
The previous attempt to fix authentication broke login functionality so
rework the code once again, this time with referencing helper functions
directly via the controller scope.
Furthermore, properly expose luci.sys.wifi.getiwinfo() and luci.ip.
For getiwinfo(), the RPC wrapped function accepts one further optional
parameter specifying the operation to invoke on the iwinfo instance.
If no operation is specified, a summary object containing all info
without country and scan list is returned.
Example to obtain iwinfo summary object:
curl --cookie sysauth=... \
--data '{"method": "wifi.getiwinfo", "params": ["wlan0"]}' \
"http://192.168.1.1/cgi-bin/luci/rpc/sys"
Example to obtain iwinfo scan list:
curl --cookie sysauth=... \
--data '{"method": "wifi.getiwinfo", "params": ["wlan0", "scanlist"]}' \
"http://192.168.1.1/cgi-bin/luci/rpc/sys"
The exposed luci.ip class uses a similar approach to allow invoking
instance methods on cidr objects. The new(), IPv4(), IPv6() and MAC()
constructors accept two further optional arguments, with the first
specifying the instance method to invoke and the second the value to
pass to the instance method.
Example to get list of IPv4 neighbours (ARP entries):
curl --cookie sysauth=... \
--data '{"method": "neighbors", "params": [{"family": 4}]}' \
"http://192.168.1.1/cgi-bin/luci/rpc/ip"
Example to add 100 hosts to a network address:
curl --cookie sysauth=... \
--data '{"method": "IPv4", "params": ["192.168.0.1", "255.255.255.0", "add", 1000]}' \
"http://192.168.1.1/cgi-bin/luci/rpc/ip"
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Hannu Nyman [Sat, 5 May 2018 20:16:05 +0000 (23:16 +0300)]
luci-app-upnp: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Jo-Philipp Wich [Sat, 28 Apr 2018 20:55:08 +0000 (22:55 +0200)]
luci-base: xhr.js: fix timeout setting with IE 11
Internet Explorer 11 requires the timeout to be applied after the open()
call, otherwise an invlaid state exception will be raised
Fixes
aa6c97154 ("luci-base: extend xhr.js")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Sat, 5 May 2018 17:51:20 +0000 (19:51 +0200)]
luci-mod-rpc: fix authentication via query string parameter
Localize the `authenticatior()` and `session_retrieve()` functions into the
`index()` function scope so that they're retained when extracting the
function into the dispatcher bytecode cache.
Also allow access to the global scope since upvalues do not work reliably
due to the out-of-context byte code caching of index functions.
Fixes https://github.com/openwrt/luci/issues/1300#issuecomment-
381352765
Fixes
feefc600e ("luci-mod-rpc: rework authentication and session handling")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Sat, 5 May 2018 17:41:22 +0000 (19:41 +0200)]
Merge pull request #1778 from ldir-EDB0/igdv2
luci-app-upnp: support igdv1 run time flag
Jo-Philipp Wich [Thu, 3 May 2018 06:22:16 +0000 (08:22 +0200)]
luci-base: support hiding the "Back to Overview" button in cbi maps
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 3 May 2018 06:24:15 +0000 (08:24 +0200)]
Revert "luci-base: support hiding the "Back to Overview" button in cbi maps"
This reverts commit
52cf265c9d12537d5f37043350328d30ca11bab4.
I accidentally committed unrelated changes.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 3 May 2018 06:22:16 +0000 (08:22 +0200)]
luci-base: support hiding the "Back to Overview" button in cbi maps
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Kevin Darbyshire-Bryant [Sun, 29 Apr 2018 18:28:54 +0000 (19:28 +0100)]
luci-app-upnp: support igdv1 run time flag
Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
Hannu Nyman [Wed, 2 May 2018 20:26:45 +0000 (23:26 +0300)]
Merge pull request #1776 from lamego/fix-indentifies-typo
Fixing small typo
Ricardo Lamego [Wed, 2 May 2018 20:01:53 +0000 (21:01 +0100)]
Fixing small typo
indentifies > identifies
Hannu Nyman [Wed, 2 May 2018 15:40:08 +0000 (18:40 +0300)]
Merge pull request #1775 from musashino205/l10n/base-upd-ja
luci-base: update Japanese translation
INAGAKI Hiroshi [Wed, 2 May 2018 15:25:41 +0000 (00:25 +0900)]
luci-base: update Japanese translation
Updated Japanese translations.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Jo-Philipp Wich [Wed, 2 May 2018 14:52:37 +0000 (16:52 +0200)]
luci-mod-admin-full: canonicalize configured static lease MAC
When reading the configured mac address of the static lease, filter it
through luci.ip.checkmac() to canonicalize and uppercase the value for
mapping it against the combo box host hints.
Fixes #1772.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
INAGAKI Hiroshi [Wed, 2 May 2018 14:53:48 +0000 (23:53 +0900)]
luci-base: sync translations
Synchronized translations with sources.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Jo-Philipp Wich [Wed, 2 May 2018 14:31:27 +0000 (16:31 +0200)]
Merge pull request #1705 from Mushoz/add-igmp-snooping
luci-mod-admin-full: add igmp snooping option
Jo-Philipp Wich [Wed, 2 May 2018 05:13:34 +0000 (07:13 +0200)]
luci-app-statistics: convert init script to procd
Convert init script to procd format in order to register reload triggers
on /etc/config/luci_statistics.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Hannu Nyman [Tue, 1 May 2018 07:01:50 +0000 (10:01 +0300)]
Merge pull request #1690 from karlp/pagekite
luci-app-pagekitec: new package
Jo-Philipp Wich [Mon, 30 Apr 2018 12:45:25 +0000 (14:45 +0200)]
documentation: regenerate documents from current code base
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
fy1128 [Sat, 28 Apr 2018 05:54:08 +0000 (08:54 +0300)]
luci-app-ddns: fix typo: CRTL should be CTRL
Reference to https://github.com/openwrt/luci/pull/1756
cherry picked from commit
d9cd43fee1d9e0b01c91e569820ba83120d8840b
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Hannu Nyman [Sat, 28 Apr 2018 05:48:09 +0000 (08:48 +0300)]
Merge pull request #1767 from SvenRoederer/patch-2
luci-mod-freifunk: align spacing
Jo-Philipp Wich [Thu, 26 Apr 2018 07:39:22 +0000 (09:39 +0200)]
luci-base: extend xhr.js
Add timeout options to get() and post() and introduce XHR.stop() to support
stopping a poll operation.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 26 Apr 2018 07:28:53 +0000 (09:28 +0200)]
themes: fix CSS class of uci change indicator
The previous commit incorrectly added a new class attribute without
considering existing ones.
Fixes
736d8fee4 ("themes: add common class to uci change indicator")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 26 Apr 2018 06:21:59 +0000 (08:21 +0200)]
themes: add common class to uci change indicator
Add a common CSS class name to the change indicator and modify the openwrt.org
theme to hide it when no changes are present, similar to all other themes.
This is needed for upcoming uci apply handling changes to be able to auto-hide
the indicator without page reload after an apply.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 24 Apr 2018 18:32:47 +0000 (20:32 +0200)]
luci-base: add simple CORS handling to luci.dispatcher
Support a new boolean property `cors` which - if set to true - causes the
dispatcher to positively answer CORS OPTIONS requests after authentication
without actually running the dispatching target.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 24 Apr 2018 18:29:59 +0000 (20:29 +0200)]
luci-base: handle bodies of non-POST requests as well
Decode the HTTP message bodies of any request carrying a Content-Length
header, not just those in POST requests.
This allows handling parameters in other methods, OPTIONS in particular.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Sven Roederer [Wed, 25 Apr 2018 19:13:00 +0000 (21:13 +0200)]
luci-mod-freifunk: align spacing
remove some tailing tabs and an empty line in OSMLatLon.htm
Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
Hannu Nyman [Wed, 25 Apr 2018 15:32:54 +0000 (18:32 +0300)]
Merge pull request #1766 from musashino205/l10n/dcp-upd-ja
luci-app-dnscrypt-proxy: update Japanese translation
Hannu Nyman [Wed, 25 Apr 2018 15:32:23 +0000 (18:32 +0300)]
Merge pull request #1765 from musashino205/l10n/base-upd-ja
luci-base: update japanese translation
INAGAKI Hiroshi [Wed, 25 Apr 2018 15:25:16 +0000 (00:25 +0900)]
luci-base: update japanese translation
Updated japanese translations.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
INAGAKI Hiroshi [Wed, 25 Apr 2018 14:13:28 +0000 (23:13 +0900)]
luci-app-dnscrypt-proxy: update Japanese translation
Updated Japanese translations.
Signed-off-by: INAGAKI Hiroshi <musashino.open@gmail.com>
Jo-Philipp Wich [Tue, 24 Apr 2018 17:22:55 +0000 (19:22 +0200)]
luci-base: additionally return error code strings in luci.util.ubus()
Add a 3rd return value to luci.util.ubus() containing the string value
of the error return value.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 24 Apr 2018 11:37:33 +0000 (13:37 +0200)]
luci-base: ensure that file upload values have length
Ensure that the (table) length of a file upload value has nonzero length
by initializing the first table index with the file name.
This fixes tests in the form
x = luci.http.formvalue(...)
if x and #x > 0 then ... end
Fixes #1763.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Hannu Nyman [Mon, 23 Apr 2018 14:42:05 +0000 (17:42 +0300)]
Merge pull request #1759 from pmelange/feature_remove_nameserver_213_73_91_35
Removed retired nameserver 213.73.91.35 from the Freifunk profiles
pmelange [Mon, 23 Apr 2018 14:27:08 +0000 (16:27 +0200)]
Removed retired nameserver 213.73.91.35 from the Freifunk profiles
See issue openwrt/luci#1757
Signed-off-by: Perry Melange <isprotejesvalkata@gmail.com>
Jo-Philipp Wich [Sun, 22 Apr 2018 10:03:23 +0000 (12:03 +0200)]
luci-base: decode plus signs in x-www-form-urlencoded POST data
Depends on
5ef51b2ab ("lucihttp: update to latest HEAD").
Fixes #1755.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Sun, 22 Apr 2018 09:59:47 +0000 (11:59 +0200)]
lucihttp: update to latest HEAD
ccc685e lua: expose LH_URLDECODE_PLUS flag in Lua library
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Sat, 21 Apr 2018 12:59:41 +0000 (14:59 +0200)]
luci-base: ship rpcd uci access ACL
Ship an ACL definition for granting full read/write access to uci
configuration files via ubus rpc. This is a precondition for enabling
uci session isolation later on.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Sat, 21 Apr 2018 12:37:08 +0000 (14:37 +0200)]
luci-app-lxc: fix syntax error in previous commit
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Admin Localnet [Mon, 30 Oct 2017 20:12:25 +0000 (21:12 +0100)]
luci-app-lxc: various changes
1) Modify dependencies
Add dependencies required for to be able use containers created from
"images.linuxcontainers.org". Several of them require "lxc-attach" for set
password so to be able login. None of them has SSH preinstalled so
"lxc-console" is required to be able login and install SSH, for example.
Remove dependency "xz", it seems incompatible with LXC_BUSYBOX_OPTIONS when
both are enabled happens a build crash.
2) Change container image repository
The repository "virtualwrt.org/containers/" seems to not work, I have change
it by the official LXC container image repository.
3) Translate the arch
Translate the local uname architecture to a valid "images.linuxcontainers.org"
arch. Only tested with the platform "mvebu" (armv7l -> armhf).
4) Other minor fixes
Use same server to list images and download the image.
Disable GPG check when listing images.
Reported-by: "Admin Localnet <localnet@users.noreply.github.com>"
[Squashed commits, cleaned up whitespace, refactor arch mapping, escape url
setting, use system wide ubus helper, use uci model library]
Closes: #1422
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Fri, 20 Apr 2018 09:23:27 +0000 (11:23 +0200)]
lucihttp: update to latest HEAD
c7c9c66 src: extend multipart parser test program
5071efb testcases: add multipart parsing edge cases
689e3d0 lib: multipart-parser: fix various edge cases
Fixes #1754.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 19 Apr 2018 09:56:44 +0000 (11:56 +0200)]
luci-base: properly handle repeated POST parameters
Restore the old luci.http behaviour of converting repeated POST params into
single tables holding all values instead of letting each repeated parameter
overwrite the value of the preceeding one.
Fixes, among other things, the handling of CBI dynamic list values.
Fixes #1752
Fixes
59dea0230 ("luci-base: switch to lucihttp based POST data processing")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Thu, 19 Apr 2018 09:42:12 +0000 (11:42 +0200)]
luci-base: implement session handling in luci.model.uci
Introduce luci.model.uci.set_session_id() and luci.model.uci.get_session_id()
to set and get the effective session ID respectively.
When a session ID is set, it is sent as `ubus_rpc_session` attribute to rpcd,
causing it to use per-session change directories, isolating LuCI changes from
the global system uci state.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 18 Apr 2018 14:54:53 +0000 (16:54 +0200)]
luci-base: drop dependency on libuci-lua
LuCI itself now uses ubus calls to interact with uci configuration while
the remaining direct libuci-lua users have been updated to either depend
on the binding library or to use luci.model.uci.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 18 Apr 2018 14:54:11 +0000 (16:54 +0200)]
freifunk-common: explicitely depend on libuci-lua
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 18 Apr 2018 14:38:28 +0000 (16:38 +0200)]
lucihttp: update to latest HEAD
8617997 lib: cast size_t values in printf() to prevent compielr warnings
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 18 Apr 2018 13:49:26 +0000 (15:49 +0200)]
libs: move http.protocol.{date,mime,conditionals} to luci-lib-httpprotoutils
Also adjust the dependencies of components depending on these classes and
flatten the namespace from luci.http.protocol.* to luci.http.*
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 18 Apr 2018 14:11:42 +0000 (16:11 +0200)]
luci-base: fold luci.http.protocol into luci.http
With only the decoder routines remaining in luci.http.protocol, it makes no
sense to keep the low level protocol class around, so fold the remaining code
into the central luci.http class.
Also adjust the few direct users of luci.http.protocol accordingly.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 18 Apr 2018 12:05:41 +0000 (14:05 +0200)]
luci-base: refactor luci.http
- Rewrite getcookie() to use liblucihttp header value parsing
- Rewrite setfilehandler() to use local variables and have cleaner code
- Fix build_querystring() to actually *en*code the given params
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 18 Apr 2018 11:20:42 +0000 (13:20 +0200)]
luci-base: drop luci.util.dtable()
The dtable() function has no user in the entire LuCI repo, so drop it.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 17 Apr 2018 13:38:28 +0000 (15:38 +0200)]
Revert "luci-base: add urldecode() and urlencode() C implementations"
This reverts commit
ad7dc4a4928e77ae142d0fe040f9e9e64b530e82.
Since we're using liblucihttp now, that library is the appropriate place to
add such decoding helper functions.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 18 Apr 2018 09:36:53 +0000 (11:36 +0200)]
luci-base: switch to lucihttp based POST data processing
Use the liblucihttp provided multipart and x-www-urlencoded body parsers
and drop the old Lua parsing code.
The C based data parsers are way faster than their old Lua counterparts
while producing less string garbage and more correct results.
While refactoring the luci.http.protocol code, also drop unused functions
and dead code, heavily reducing the module size.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Wed, 18 Apr 2018 08:46:04 +0000 (10:46 +0200)]
luci-base: switch to lucihttp.urldecode() and lucihttp.urlencode()
Drop the Lua implementation in luci.http.protocol and use the optimized C
variants of liblucihttp instead.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 17 Apr 2018 12:56:22 +0000 (14:56 +0200)]
lucihttp: update to latest HEAD
b7470d1 lua: back out early when instantiating parser with bad boundary
e1b1b1f testcases: remove stray .swp file
b46a6ca utils: introduce new LH_URLDECODE_PLUS flag
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Hannu Nyman [Wed, 18 Apr 2018 05:04:23 +0000 (08:04 +0300)]
Merge pull request #1750 from sotux/i18n_zh_cn
luci-base: zh_CN: update Simplified Chinese translation
Qian Zheng [Thu, 12 Apr 2018 01:31:18 +0000 (09:31 +0800)]
luci-base: zh_CN: update Simplified Chinese translation
Signed-off-by: Zheng Qian <sotux82@gmail.com>
Jo-Philipp Wich [Sat, 14 Apr 2018 16:47:51 +0000 (18:47 +0200)]
contrib: package liblucihttp
Package liblucihttp, a utility library providing HTTP parsing and data
decoding helpers.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Fri, 13 Apr 2018 12:45:02 +0000 (14:45 +0200)]
luci-app-openvpn: properly parse low PIDs
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Hannu Nyman [Wed, 11 Apr 2018 05:53:16 +0000 (08:53 +0300)]
Merge pull request #1744 from dibdot/mwan-fix
luci-app-mwan3: bugfix
Dirk Brenken [Tue, 10 Apr 2018 19:38:07 +0000 (21:38 +0200)]
luci-app-mwan3: bugfix
* two more luci.model.uci fixes for #1743
Signed-off-by: Dirk Brenken <dev@brenken.org>
Hannu Nyman [Tue, 10 Apr 2018 15:21:09 +0000 (18:21 +0300)]
i18n: sync translations, cleanup
* sync translations
* clean-up old strings from adblock
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Hannu Nyman [Tue, 10 Apr 2018 14:36:29 +0000 (17:36 +0300)]
Merge pull request #1742 from fantom-x/dhcp_cachesize_max
luci-mod-admin-full: limit dns cachesize to 10000
Jo-Philipp Wich [Tue, 10 Apr 2018 10:03:15 +0000 (12:03 +0200)]
luci-base: fix rendering of 404 HTML error template
This 404 error template rendering has been broken for a long time due to bad
function environment level in luci.template when invoking the rendering from
the toplevel dispatcher context.
Fix this issue by adding a local function indirection, essentially adding an
additional stack frame.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 10 Apr 2018 10:01:39 +0000 (12:01 +0200)]
luci-base: error404: do not access request env directly
Instead of attempting to access the request environment directly (which does
not work anyway using the CGI SGI), use the already sanitized
dispatcher.context.request property to print out the not found url.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Tue, 10 Apr 2018 09:38:29 +0000 (11:38 +0200)]
luci-base: don't propagate null bytes in path information
It is possible to inject unescaped markup using a double encoded null byte
via PATH_INFO on certain leaf nodes.
Since there is no legitimate reason to handle null bytes in any part of the
requested url, simply skip over such bytes when parsing the PATH_INFO value.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Mon, 9 Apr 2018 07:47:40 +0000 (09:47 +0200)]
luci-base: add urldecode() and urlencode() C implementations
The C implementations of urlencode and urldecode are considerably faster
than their current Lua counterparts.
On an AMD Geode system, the C variant is up to ten times faster when
decoding strings and up to four times faster when encoding them.
The functions are also designed to only allocate new strings when any
actual changes are required, otherwise they reuse the existing input
strings, reducing the overal memory usage somewhat.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Marc Benoit [Tue, 10 Apr 2018 00:47:32 +0000 (20:47 -0400)]
luci-mod-admin-full: limit dns cachesize to 10000
The value of cachesize is hardcoded to 10000 in
dnsmasq-2.79/src/option.c to 10000 max
case 'c': /* --cache-size */
{
int size;
if (!atoi_check(arg, &size))
ret_err(gen_err);
else
{
/* zero is OK, and means no caching. */
if (size < 0)
size = 0;
else if (size > 10000)
size = 10000;
daemon->cachesize = size;
}
break;
}
Tested on Netgear R7800
Signed-off-by: Marc Benoit <marcb62185@gmail.com>
Hannu Nyman [Mon, 9 Apr 2018 14:33:21 +0000 (17:33 +0300)]
Merge pull request #1741 from dibdot/mwan-fix
luci-app-mwan3: bugfix
Marc Benoit [Mon, 9 Apr 2018 14:17:02 +0000 (17:17 +0300)]
luci-mod-admin-full: allow setting dns cachesize
In the case of more powerful routers the default
cachesize value == 150 is too small and can easily
be extended to 1,000's and 10,000's of entries.
It makes sense to make it easy configurable.
Tested on Netgear R7800
Signed-off-by: Marc Benoit <marcb62185@gmail.com>
Fix whitespace, edit the proposed help text.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Dirk Brenken [Mon, 9 Apr 2018 13:50:21 +0000 (15:50 +0200)]
luci-app-mwan3: bugfix
* make use of luci.model.uci to fix #1740
Signed-off-by: Dirk Brenken <dev@brenken.org>
Jo-Philipp Wich [Mon, 9 Apr 2018 05:04:38 +0000 (07:04 +0200)]
luci-base: consider empty parameters as well when testing POST requirement
The cbi class will react on an empty "cbi.submit" parameter as well so we
must intercept GET requests using that too.
Fixes
186e690c0 ("luci-base: dispatcher: reject non-POST requests with any cbi.submit value")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Hannu Nyman [Sun, 8 Apr 2018 17:38:30 +0000 (20:38 +0300)]
i18n: sync translations
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Hannu Nyman [Sat, 7 Apr 2018 20:21:19 +0000 (23:21 +0300)]
timezone data: update to 2018d
Update timezone data to 2018d
http://mm.icann.org/pipermail/tz-announce/2018-March/000049.html
In 2018, Palestine starts DST on March 24, not March 31.
Adjust future predictions accordingly.
Casey Station in Antarctica changed from +11 to +08
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Jo-Philipp Wich [Sat, 7 Apr 2018 12:42:29 +0000 (14:42 +0200)]
luci-app-advanced-reboot: remove explicit libuci requirement
Rewrite affected code to use luci.model.uci in order to avoid the need for
using libuci-lua directly.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Sat, 7 Apr 2018 12:40:44 +0000 (14:40 +0200)]
luci-app-vpnbypass: remove explicit libuci requirement
There is no direct user of the libuci-lua api, just some commented out code.
Rewrite the commented code to use the Map's uci cursor and remove the
explicit require.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Jo-Philipp Wich [Sat, 7 Apr 2018 12:09:18 +0000 (14:09 +0200)]
luci-base: fix luci.model.uci.get_first()
Properly propagate the config parameter to the foreach iterator in order
to fix get_first() lookups.
Fixes #1734.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Hannu Nyman [Sat, 7 Apr 2018 11:25:07 +0000 (14:25 +0300)]
Merge pull request #1733 from stangri/master
luci-app-advanced-reboot & luci-app-vpnbypass: fix uci require for ma…