Commit graph

21 commits

Author SHA1 Message Date
Hannu Nyman
c2cf5d1855 Fix embedded links: github instead of luci.subsignal.org
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>
2016-02-02 12:07:16 +02:00
Jo-Philipp Wich
81e80c4b87 luci-base: properly handle ubus connections for non-root (#570, #571)
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>
2016-01-11 15:21:46 +01: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
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
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
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
8d46c20327 luci-base: protect CBI forms with CSRF tokens
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-06 18:54:35 +02:00
Jo-Philipp Wich
5a6382171d luci-base: add support for POST-only actions with CSRF token check
Add the dispatcher infrastructure to restrict certain routes to POST
requests only in conjunction with verification of CSRF tokens.

This is the first step to get rid of the CSRF token in the url in favor
to tokens embedded in forms.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-10-06 15:56:35 +02:00
Jo-Philipp Wich
ec1a86977b Avoid setting duplicate cookies
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-02-09 16:30:11 +01:00
Jo-Philipp Wich
ec90cd69ed luci-base: pass session timeout as integer
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-02-09 13:03:44 +01:00
Jo-Philipp Wich
993cf12229 luci-base: establish ubus connection before dropping privileges (#310)
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-02-09 12:14:20 +01:00
Jo-Philipp Wich
84346cd178 Move inline documentation into separate files.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-29 16:26:46 +01:00
Jo-Philipp Wich
83d520ab07 luci-base: improve login/logout handling
Redirect to the canonical url after login and redirect to an url without
security token if the session expired. Also make sure that the login page
is served with status code 403, not 200 to give ajax calls a chance to
detect expired sessions.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-26 17:31:21 +01:00
Jo-Philipp Wich
7a3493b1f7 Globally reduce copyright headers
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-16 23:38:38 +01:00
Jo-Philipp Wich
9980114624 luci-base: remove luci.init
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-16 21:40:49 +01:00
Jo-Philipp Wich
2ebc394347 luci-base: use local sys module table in luci.dispatcher
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-16 21:40:49 +01:00
Jo-Philipp Wich
7aa838988f luci-base: remove old fastindex support code, use cached module tables
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-15 16:32:03 +01:00
Jo-Philipp Wich
199c8cbc4c luci-base: switch to ubus sessions
Remove luci.sauth session storage implementation and offload the session
management to the rpcd ubus backend. Also depend on rpcd due to this.
2015-01-15 11:09:05 +01:00
Jo-Philipp Wich
1bb4822dca Rework LuCI build system
* Rename subdirectories to their repective OpenWrt package names
 * Make each LuCI module its own standalone package
 * Deploy a shared luci.mk which is used by each module Makefile

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-08 16:26:20 +01:00
Renamed from modules/base/luasrc/dispatcher.lua (Browse further)