Commit graph

1525 commits

Author SHA1 Message Date
Jo-Philipp Wich
4fec63df9e libs/core: remove now obsolete uint() wrapper in network model 2013-01-13 21:03:28 +00:00
Jo-Philipp Wich
237aa91089 libs/web: include limits.h to fix compilation on OS X (#531) 2013-01-13 18:33:21 +00:00
Jo-Philipp Wich
a52a6a4f22 libs/sys: fix luci.sys.processes.list() for entries with spaces i nthe STAT column (#528) 2013-01-11 18:16:26 +00:00
Jo-Philipp Wich
018cbe69a9 libs/web: fix missing escapes in network_ifacelist widget 2012-12-25 02:43:03 +00:00
Jo-Philipp Wich
33fba71fc9 libs/core: make luci.util.spairs(), kspairs() and vspairs() return the sequential index as 3rd variable 2012-12-25 02:28:20 +00:00
Jo-Philipp Wich
8cfa5cc7c5 don't use symlink to /lib/functions.sh
Signed-off-by: Luka Perkov <luka@openwrt.org>
2012-12-20 15:01:04 +00:00
Jo-Philipp Wich
d4987d7863 ccache not loading or storing cache files
I've noticed that there is nothing in my /tmp/luci-modulecache
directory. Digging into it it looks like because both the expected uid
and mode of the files doesn't match, so for security reasons they're
long being loaded or saved by ccache.lua (from the luci-lib-core
package). I'm not sure how far back this has been broken but I it
appears to have been quite some time, possibly years?

I've included a patch which updates the checks to use the right newer
function name / structure name. It decreases page load times by about
10-15% on my bcm2708 (raspberrypi). I can create a ticket if you'd
prefer. The patch is against the luci-0.11 branch but should apply to
trunk as well.

Signed-off-by: Bryan Mayland <bmayland@leoninedev.com>
2012-12-19 00:35:30 +00:00
Jo-Philipp Wich
564ca0accd libs/web: make JS String.format() and String.serialize() available as prototype options, introduce String.nobr() 2012-12-02 14:20:36 +00:00
Jo-Philipp Wich
7c3c6b013b libs/web: let luci.i18n.setlanguage() return the lang that was actually loaded 2012-12-02 13:30:46 +00:00
Jo-Philipp Wich
ce8a22d1b4 libs/core: remove unused luci.util.escape(), map luci.util.striptags() to luci.template.parser.striptags() 2012-11-26 14:26:46 +00:00
Jo-Philipp Wich
f7b4fd2979 libs/web: various changes in template library
- rename sanitize_pcdata() and sanitize_utf8() to pcdata() and utf8()
	- implement striptags()
2012-11-26 14:26:43 +00:00
Manuel Munz
e2f3b8923d libs/web: Allow to disable buttons in cbi models from the controller 2012-11-26 13:11:41 +00:00
Jo-Philipp Wich
848e43a5b4 remove .i18n annotations from controller files 2012-11-26 12:53:43 +00:00
Daniel Golle
d07036b59c "Waiting for router..." is misleading on non-router devices. Use "Waiting for changes to be applied..." instead. 2012-11-26 11:07:11 +00:00
Jo-Philipp Wich
68e9458ae0 libs/web: remove unneeded include 2012-11-25 19:22:38 +00:00
Jo-Philipp Wich
cd0bb63394 libs/web: remove leftover debugging code in template_parser.c 2012-11-25 19:18:15 +00:00
Jo-Philipp Wich
bb276a7c7b libs/core: use luci.template.parser.hash() instead of lmo.hash() 2012-11-25 19:18:10 +00:00
Jo-Philipp Wich
0e50aa690a libs/web: rewrite template engine, merge lmo library
- template parser: merge lmo library
	- template parser: rewrite to operate on memory mapped files
	- template parser: implement proper line number reporting on syntax errors
	- template parser: process translate tags directly and bypass Lua
	- template lmo: introduce load_catalog(), change_catalog() and close_catalog()
	- template lmo: rewrite index processing to operate directly on the memory mapped file
	- template lmo: implement binary search keys, reducing the lookup complexity to O(log n)
	- po2lmo: write sorted indixes when generating *.lmo archives
	- i18n: use the template parser for translations
	- i18n: stub load(), loadc() and clear()
	- i18n: map setlanguage() to load_catalog()
2012-11-25 19:17:55 +00:00
Jo-Philipp Wich
c647ff9f0e libs/lmo: fix whitespace handling in string hashing, optimize code 2012-11-23 10:15:02 +00:00
Jo-Philipp Wich
72d1549e8b libs/lmo: canonize key strings before hashing them, fixes missing translations for original strings with line breaks or white spaces embedded 2012-11-21 23:26:30 +00:00
Jo-Philipp Wich
06c8c28bab libs/core: introduce get_status_by_address() in luci.model.network 2012-11-21 20:13:53 +00:00
Jo-Philipp Wich
2675ad1c63 libs/web: fix luci.http.write_json() to properly encode control chars in strings 2012-11-21 16:04:13 +00:00
Jo-Philipp Wich
e3bb15012b libs/ipkg: simplify parsing logic to take advantage of the opkg improvements in trunk, introduce find() operation 2012-11-15 20:59:03 +00:00
Jo-Philipp Wich
431d4e8eff merge branch changes into trunk 2012-10-29 13:09:31 +00:00
Jo-Philipp Wich
c802c941cb libs/web: relax validation for hostnames to allow names like _kerberos._udp.EXAMPLE.COM 2012-10-06 23:10:43 +00:00
Jo-Philipp Wich
b0d3b82400 libs/web: transparently handle userdata in write_json() 2012-09-15 14:25:18 +00:00
Jo-Philipp Wich
8772db1675 libs/core: explicitely load luci.i18n in network model 2012-09-15 14:02:27 +00:00
Jo-Philipp Wich
647a0d33c3 libs/core: adapt luci.model.network for wifi-iface instances which are members of multiple networks 2012-09-15 13:10:27 +00:00
Jo-Philipp Wich
5164d55091 libs/core: remove route enabled check in network model after netifd update in OpenWrt trunk 2012-09-13 08:50:59 +00:00
Jo-Philipp Wich
c4d0dd19b7 libs/web: merge luci.http.protocol fix from Fonosfera
See http://trac.fonosfera.org/fon-ng/changeset/2102/trunk/luci/libs/http .
2012-08-29 13:06:58 +00:00
Jo-Philipp Wich
ec5487649e [PATCH] nixio HAS_SHADOW test link error
The nixio library can mistakenly build without shadow password support due to the
compile-time test failing.

Because the test for HAS_SHADOW in the nixio Makefile uses the default CC flags,
the test may attempt to cross-compile with different VFP abi than libc does and
will therefore not link. Passing CCFLAGS on the command line builds the test
correctly and will enable HAS_SHADOW if available.
2012-08-29 13:04:44 +00:00
Jo-Philipp Wich
1916ab494a libs/nixio: add missing parameter to alarm reset 2012-08-27 14:54:37 +00:00
Jo-Philipp Wich
54567e57ea libs/nixio: cancel pending alarm after successfully returning from getnameinfo() 2012-08-27 14:54:07 +00:00
Jo-Philipp Wich
f66a13dc4d libs/sys: use 100ms timeouts for name resolution of host hints 2012-08-27 14:39:33 +00:00
Jo-Philipp Wich
c755e818c4 libs/nixio: implement optional timeout for getnameinfo() on Linux 2012-08-27 14:36:47 +00:00
Jo-Philipp Wich
044b011051 libs/core: also add gre0 to default interface ignore pattern 2012-08-17 11:39:04 +00:00
Jo-Philipp Wich
b7026b156d libs/web: export translatef() into templates 2012-08-14 15:31:26 +00:00
Jo-Philipp Wich
2c844d42d8 libs/sys: fix getiwinfo() for "radioX.networkY" notation if the target network is not yet committed to uci 2012-08-14 12:45:12 +00:00
Jo-Philipp Wich
c78e445583 libs/web: rework unspecified/create logic for checkboxes in network_netlist widget 2012-08-09 23:42:53 +00:00
Jo-Philipp Wich
b35ab62ada libs/web: support placeholder attribute for comboboxes, fix validation quirks with input->select transition in comboboxes 2012-08-09 11:25:25 +00:00
Jo-Philipp Wich
0eb010a754 libs/sys: remove _parse_delimitted_table() and incorperate /etc/config/dhcp leases into mac_hints() 2012-08-09 10:03:25 +00:00
Jo-Philipp Wich
9bd814cf0e libs/sys: remove wifi.channels() 2012-08-08 20:25:03 +00:00
Jo-Philipp Wich
d1fd6e702e libs/sys: remove wifi.getiwconfig() and wifi.getiwscan() 2012-08-08 20:16:46 +00:00
Jo-Philipp Wich
df8601c864 libs/sys: introduce net.mac_hints(), net.ipv4_hints() and net.ipv6_hints() functions to obtain lists of peers from various sources (e.g. ethers, leases, arp cache) 2012-08-08 15:20:03 +00:00
Jo-Philipp Wich
4d2332c01c libs/web: add missing css class to cbi simpleform template 2012-08-08 11:29:46 +00:00
Jo-Philipp Wich
7bca24db1b libs/web: adapt dispatcher to sauth api changes 2012-08-08 09:48:50 +00:00
Jo-Philipp Wich
abef50b852 libs/web: rework luci.sauth
- perform decoding/encoding transparently in read() and write()
	- remove decode() and encode() helpers
	- introduce reap() to kill expired sessions
2012-08-08 09:48:47 +00:00
Jo-Philipp Wich
a58370ab74 Rework authentication system
The validity of authentication tokens was determined by the
mtime of respective authentication tokens on filesystem
stored in $sessionpath.
Talking about hardware without RTC or without a prior
connection to a time server, date/time usually around 1970 -
so is the mtime of the authentication token file in
$sessionpath.

When now configuring an internet connection via LuCI, the
system might fetch the current date/time (e.g. via ntp)
which invalidates the token, returns "403 Forbidden" and
kicks the user out of the interface.

This patch changes the authentication system to use time values
based on the uptime of the machine - rather than values based upon
gettimeofday() and {a|m}time values - and save them inside the token.
That way can always determine the difference between login
(last interaction respectively) and the current time, in-
dependant of the system clock jumping backwards/forwards.

Warning: This patch removes the clean() function and respective calls.
This means, invalid tokens will NOT be determined and removed from
filesystem automatically anymore.
Before, every HTTP-call caused a scan for invalid tokens,
which is quite expensive. Instead consider using a cron job
deleting all stalled files periodically.

Contributed by T-Labs, Deutsche Telekom Innovation Laboratories

Signed-off-by: Mirko Vogt <mirko@openwrt.org>
2012-08-07 19:11:56 +00:00
Jo-Philipp Wich
a798da5d8b libs/web: support creating networks in checkbox network widget (#457) 2012-07-24 11:48:03 +00:00
Jo-Philipp Wich
46c84206f3 libs/sys: workaround broken entries in /proc/net/ipv6_route, observed on brcm-2.4 2012-07-18 11:22:10 +00:00