Commit graph

1286 commits

Author SHA1 Message Date
Daniel Dickinson
829467b627 luci-base: Add function for shell single-quote parameter escaping
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
2015-12-02 02:19:02 -05:00
Daniel Dickinson
1d5cab4ced luci-mod-admin-full: fstab: Add ability to redo the detection of block devices
Adds a button that does block detect and write the new configuration
to /etc/config/fstab.
2015-12-02 02:17:20 -05:00
Daniel Dickinson
89f74f77da luci-mod-admin-full: fstab: Add ability to set global options like anonymous mounts
Previously the global configuration options were missing the the LuCI configuration,
however these options are useful, so make them available to the UI.
2015-12-02 02:16:35 -05:00
Daniel Dickinson
031cab418c luci-mod-admin-full: Don't show jail bind mounts
The user is unlikely to care about the plethora of jail bind mounts
when using jails, so don't display them in this app.
2015-12-02 02:16:22 -05:00
Daniel Dickinson
b8c2d340f3 luci-mod-admin-full: fstab: Add ability to unmount non-system mounts
Add an unmount button for non-system mounts which will unmount
the corresponding file system.
2015-12-02 02:16:13 -05:00
Jo-Philipp Wich
c123fa86b0 Merge pull request #534 from yousong/add-luci-proto-pppossh
Add luci proto pppossh
2015-11-26 23:23:15 +01:00
Jo-Philipp Wich
ce04adb383 luci-mod-admin-full: limit SSID to 32 characters (#558)
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-11-26 12:30:53 +01:00
Jo-Philipp Wich
c478101ca4 luci-mod-admin-full: fix script regression after 152ba9ab22
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-11-21 13:53:43 +01:00
Jo-Philipp Wich
55f458326d luci-base: use board.json to infer switch netdev
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-11-21 00:31:06 +01:00
Jo-Philipp Wich
fbfa62627f luci-base: switch to luci-lib-jsonc
Add dependency on luci-lib-jsonc and use it to
reimplement luci.util.serialize_json().

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-11-21 00:29:55 +01:00
Jo-Philipp Wich
9b5046259f luci-mod-admin-full: make mirror port settings depend on mirror enable
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-11-20 23:44:55 +01:00
Jo-Philipp Wich
f16405df91 luci-mod-admin-full: revert accidential button type change in 20fdac1ac4
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-11-19 10:02:41 +01:00
Jo-Philipp Wich
20fdac1ac4 luci-mod-admin-full: allow empty mac in interface status
Also adjust for changed IP address format emitted by iface_status call.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-11-17 17:42:22 +01:00
Jo-Philipp Wich
152ba9ab22 luci-mod-admin-full: use :ipaddrs() and :ip6addrs() helper for iface_status
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-11-17 17:36:00 +01:00
Jo-Philipp Wich
e626599c26 luci-base: eliminate use of uci state vars in luci.model.network
Also implement :ipaddrs() and :ip6addrs() helper for network instances.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-11-17 17:35:02 +01:00
Jo-Philipp Wich
9b176c8d7b luci-mod-admin-full: prevent submit with interface delete button (#549)
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-11-16 14:30:13 +01:00
Jo-Philipp Wich
092d2143bd luci-base: fix uci documentation issue (#538)
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-11-16 12:37:23 +01:00
Jo-Philipp Wich
2258d3de25 Merge pull request #535 from saik0/redirect-root-if-empty-signed
Redirect to root on empty path (signed off)
2015-11-11 10:14:34 +01:00
Ran Bao
38b7c6cef4 fix a typo error in command script shown to users
Signed-off-by: Ran Bao <worksev@gmail.com>
2015-11-06 12:50:05 +13:00
Hannu Nyman
b1217c88c3 luci-mod-admin-full: limit interface name length to 15 chars
Limit the name of a new interface to 15 characters.
Add a note about the maximum length and the automatic protocol/bridge
prefixes (br-, 6in4-, pppoe- etc.).

Reference to:
https://dev.openwrt.org/ticket/20380
https://github.com/openwrt/luci/issues/507

There is a 15 character limit to the "real" interface name,
enforced both in the firewall and dnsmasq. The real interface name
includes the possible prefix "br-", "6in4-" etc. Example of an error:
  interface name `br-lan_protected' must be shorter than IFNAMSIZ (15)

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-11-05 11:00:41 +02:00
Joel Pedraza
5541065793 Redirect to root on empty path
* Prevents an empty Location header
* Useful in environments where build_url() could return an empty string (such as http server rewrites requests to /cgi-bin/luci)

Signed-off-by: Joel Pedraza <github@saik0.net>
2015-11-03 09:53:39 -05:00
Yousong Zhou
a28da6a88a luci-base: add support for DynamicList with FileBrowser
Two new arguments url, defpath were added to cbi_dynlist_init() for
initializing the brower button.

An example of usage

    identity = section:taboption("general", DynamicList, "identity",
	    translate("List of SSH key files for auth"))
    identity.datatype = "file"

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2015-11-03 17:07:45 +08:00
Yousong Zhou
20ccc90350 luci-base: urlencode: encode all except unreserved characters.
As per http://tools.ietf.org/html/rfc3986#section-2.3

   Characters that are allowed in a URI but do not have a reserved
   purpose are called unreserved.  These include uppercase and lowercase
   letters, decimal digits, hyphen, period, underscore, and tilde.

      unreserved  = ALPHA / DIGIT / "-" / "." / "_" / "~"

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2015-11-03 17:07:45 +08:00
Christian Schoenebeck
3dbc93bf91 template cbi/value.htm implement documented property maxlength
template cbi/value.htm implement already documented property maxlength

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2015-11-01 16:36:29 +01:00
Christian Schoenebeck
162548a879 cbi.lua: Implement "readonly" property for "Value"
cbi.lua: Implement "readonly" property for "Value"

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2015-10-31 23:09:40 +01:00
Christian Schoenebeck
c7d3619b0c template cbi/value.htm: add "readonly" property
template cbi/value.htm: add "readonly" property

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2015-10-31 22:54:25 +01:00
Christian Schoenebeck
84a57ec36f cbi.lua: Implement Flag.validate function
cbi.lua
- Implement Flag.validate function to be overwritable
- rewritten if clause for easier reading ;-)

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2015-10-30 18:42:38 +01:00
Hannu Nyman
ff9e34e47c Merge pull request #509 from neheb/master
resources/icons: Use gifsicle to save a few bytes.
2015-10-27 17:30:24 +02:00
Jo-Philipp Wich
927dc1aff9 luci-base: eliminiate use of uci state vars in luci.sys
Rewrite `luci.sys.wifi.getiwinfo()` to use the ubus wireless state instead of
depreacated uci state vars in order to map abstract network notation to
wireless ifnames.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-27 14:13:05 +01:00
Jo-Philipp Wich
6d368a4033 Move libubus-lua dependency to luci-base
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-27 13:09:21 +01:00
Jo-Philipp Wich
6c4341ee01 luci-mod-admin-full: fix invalid markup in packages.htm (#518)
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-22 12:20:20 +02:00
Jo-Philipp Wich
94ab57f48c luci-mod-admin-full: restructure and fix backup, restore and sysuprade (#517)
Do not use standard post security checking for actions that require file upload
since reading the token value will trigger parsing of the http message body
before the file upload handler has been set, which causes LuCI to buffer the
entire request body in memory.

In order to simplify the code and logic flow, split action_flashops() into
separate handlers for reset, backup, restore and sysupgrade.

Let the backup restore and sysupgrade handlers use the new test_post_security()
method in luci.dispatcher to perform token checking *after* setting the upload
handler.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-22 08:48:06 +02:00
Jo-Philipp Wich
d32c685039 luci-base: dispatcher expose test_post_security()
Allows external code to perform POST and token checking manually.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-22 08:30:29 +02:00
Jo-Philipp Wich
79383f5a74 luci-base: ensure that base url is emitted with trailing slash
Now that we don't have an url token anymore, '/cgi-bin/luci' becomes a valid
url while cookies are restricted to only '/cgi-bin/luci/' and below.

In order to ensure that the first request after login refers to a path
covered by the authentication cookie, change build_url() to always append
a trailing slash if we're referring to the base url.

This should fix the login problems mentioned in #516.

While we're touching the dispatcher, also remove remaining url token code.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-21 16:48:25 +02:00
Jo-Philipp Wich
b4d62d3fd7 luci-mod-admin-full: do not access dispatcher.context.urltoken in logout
The urltoken table is going to be removed.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-21 16:43:07 +02:00
Jo-Philipp Wich
86326e0def luci-base: remove security token from urls
Now that sensitive urls require post requests and only accept them if a valid
security token is sent along the request, we can drop the global random url
token to improve LuCI usability.

The main improvement is the ability to use multiple tabs with the same login
session, but also deep linking to specific urls without the need for another
login becomes feasible, e.g. for documentation purposes.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-21 00:31:27 +02:00
Jo-Philipp Wich
d4666757b7 luci-mod-admin-full: protect iptables counter reset and restart with token
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-20 22:27:39 +02:00
Jo-Philipp Wich
8bb749ecc3 luci-mod-admin-full: protect network post actions with csrf tokens
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-20 22:17:23 +02:00
Jo-Philipp Wich
6b3f804956 luci-base: filter invalid opkg status lines
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-20 21:04:46 +02:00
Jo-Philipp Wich
b5826f1ffb luci-mod-admin-full: protect clock, flash and opkg ops with submit token
* Use post_on() target to require csrf token verification for modifying actions
* Ensure that package and flash operation handlers guard modifying operations
  with parameter check

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-20 21:04:46 +02:00
Jo-Philipp Wich
562c47e5fd luci-base: generalize post security token handling
* Add a generic helper function to check need for post / csrf token validation
* Remove custom token verification in cbi targets
* Support requiring post security depending on specific submit parameters,
  usable through post_on() action

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-20 21:04:46 +02:00
Hannu Nyman
7b00a4a765 i18n: Sync translations
Sync translations to the current strings.

Changes in luci-app-ddns, luci-app-mjpg-streamer, luci-app-qos,
luci-app-shadowsocks-libev, luci-app-statistics and luci-base

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-10-13 12:35:57 +03:00
Hannu Nyman
c8392ba970 luci-base: update i18n base template
Update i18n base template to match the current strings.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-10-13 12:25:58 +03:00
Hannu Nyman
2cfd11b272 Timezone information: update to 2015g
Changes in 2015g:
http://mm.icann.org/pipermail/tz-announce/2015-October/000034.html

     Norfolk moves from +1130 to +1100 on 2015-10-04 at 02:00 local time.

     Fiji's 2016 fall-back transition is scheduled for January 17, not 24.

     Fort Nelson, British Columbia will not fall back on 2015-11-01. It has
     effectively been on MST (-0700) since it advanced its clocks on 2015-03-08.
     New zone America/Fort_Nelson.

Note: the Turkey-related one-time rule change is not apparently catched by
the zoneinfo2lua script, so that change is not included in this commit.
(Turkey's 2015 fall-back transition is scheduled for Nov. 8, not Oct. 25.)

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2015-10-12 11:09:28 +03:00
Mangix
a2ebf87145 resources/icons: Use gifsicle to save a few bytes.
Signed-off by: Rosen Penev <rosenp@gmail.com>
2015-10-09 16:00:57 -07:00
Jo-Philipp Wich
bd504f552d luci-base: prevent UCI changes in CBI if form is not in submit state
Only process submitted data if the "cbi.submit" parameter is present as the
dispatcher will verify the integrity of the CSRF token in this case.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-08 00:30:14 +02:00
Jo-Philipp Wich
281d2f6178 Globally replace luci.dispatcher.build_url(...) with url(...) invocations
Also concat multiple string arguments into one while we're at it.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-07 19:07:36 +02:00
Jo-Philipp Wich
49a2cb5ad1 luci-base: expose luci.dispatcher.build_url() as url() in templates
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-07 13:03:42 +02:00
Jo-Philipp Wich
3f29078fb9 luci-base: protect simpleforms with CSRF tokens
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-07 12:24:58 +02:00
Jo-Philipp Wich
38a9993bd1 luci-mod-admin-full: switch to POST action for reboot
Also rework the reboot tmeplate a little bit.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-07 01:54:56 +02:00