Commit graph

1613 commits

Author SHA1 Message Date
Jo-Philipp Wich
36c7dbd728 luci-lib-ip: support specifying source address in route()
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
(cherry picked from commit d73553e530)
2019-08-06 15:20:58 +02:00
Daniel F. Dickinson
29e01e0e5b luci-app-radicale2: Add v2 of CalDAV/CardDAV server
Radicale 2.x has been out for some time, and has better support for a
number of clients as well as new features, so radicale2 package has
been added to packages, and this is the corresponding UI.

Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
2019-01-10 05:52:12 -05:00
Jo-Philipp Wich
21db93576a luci-lib-jsonc: prevent infinite recursion in stringify
Also increase the stack size as needed to prevent crashes when serializing
deeply nested tables.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-12-21 15:41:19 +01:00
Jo-Philipp Wich
a692ca789a luci-lib-httpclient: prevent nil access with invalid IP address literals
Fixes: a54baf7be ("luci-lib-httpclient: revamp URL handling")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-12-11 09:17:50 +01:00
Jo-Philipp Wich
a54baf7be0 luci-lib-httpclient: revamp URL handling
- Introduce a parse_url() helper which properly deals with literal IPv4
   and IPv6 host parts and returns the decomposed uri string as table
 - Properly format IPv6 literals in autogenerated Host headers
 - Omit default port numbers in Host headers and calculated redirect URLs.

Supersedes PR #2337.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-12-11 09:12:32 +01:00
Jo-Philipp Wich
4bbe32548c luci-lib-ipkg: move out of luci-base
Move the old luci.model.ipkg utility class into a separate package and
let the components using it depend on the new library package.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-11-14 20:46:04 +01:00
Jo-Philipp Wich
0aff452d41 luci-lib-iptparser: fix packaging
The previous commit omitted a subdirectory.

Fixes: 94323a61e ("luci-base: move luci.sys.iptparser into separate package")
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-10-11 08:00:03 +02:00
Hannu Nyman
67fd6b6e5e
Merge pull request #2197 from yangfl/master
treewide: Fix typos in comments
2018-10-10 20:25:11 +03:00
Jo-Philipp Wich
94323a61e1 luci-base: move luci.sys.iptparser into separate package
Since commit f6bfac211 ("luci-mod-status: rework iptables status page"),
nothing in luci-base depends on the iptparser class anymore, so fold it
out into a separate package and let the few apps that require it depend
on the new library package.

Saves about 10K uncompressed in luci-base while the iptables status
rework enlarged the markup by roughly 5KB, saving roughly 5KB of size
overall.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-10-10 13:19:48 +02:00
yangfl
401382a459 treewide: Fix typos in comments
Signed-off-by: David Yang <mmyangfl@gmail.com>
2018-10-10 15:00:07 +08:00
Sophana KOK
f405d23990 restored nixio tls providers
Signed-off-by: Sophana KOK <ml-github@worldspot.net>
2018-09-27 21:12:40 +02:00
Jo-Philipp Wich
cde13dc245 Revert "luci-lib-json: depend on luci-base"
This reverts commit 8ca29efec8.
2018-07-03 12:30:44 +02:00
Jo-Philipp Wich
8ca29efec8 luci-lib-json: depend on luci-base
Fixes #506
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-07-03 11:07:31 +02:00
Jo-Philipp Wich
09de5a74e1 luci-lib-json: support serializing userdata
Fixes the following error when attempting to serialize userdata objects:

    .../json.lua:81: attempt to call local 'parser' (a nil value)

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-05-18 16:59:16 +02:00
Jo-Philipp Wich
b4040aacb0 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>
2018-04-18 16:21:27 +02:00
Jo-Philipp Wich
eb4571c6dc 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>
2018-04-18 16:21:27 +02:00
Jo-Philipp Wich
4f412a76c2 luci-lib-ip: add MAC address calculation support
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-03-12 16:02:55 +01:00
Jo-Philipp Wich
190b32452a luci-lib-nixio: fix spelling mistakes in documentation
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-03-12 16:02:27 +01:00
Hannu Nyman
878a64f538 typo: fileystem --> filesystem
fix typo:
sed -i "s/fileystem/filesystem/"

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-12-28 14:15:16 +02:00
Jo-Philipp Wich
74affdf6f5 rpcd-mod-rrdns: add new rpcd plugin for rapid reverse DNS lookups
The plugin provides a new ubus procedure "network.rrdns.lookup" which
allows looking up the names of a large chunk of IP addresses at once,
within a fixed global timeout.

This is useful to have a guaranteed maximum query time even if the
local DNS setup is broken or timing out.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-07-11 14:05:31 +02:00
Quirin Hofstaetter
4a20d2c31a luci-lib-px5g: add license tag
Signed-off-by: Quirin Hofstaetter <qh@dev.tdt.de>
2017-06-13 13:40:18 +02:00
Quirin Hofstaetter
3b5a99340b luci-lib-nixio: add license tag
Signed-off-by: Quirin Hofstaetter <qh@dev.tdt.de>
2017-06-13 13:40:15 +02:00
Quirin Hofstaetter
eba0900802 luci-lib-json: add license tag
Signed-off-by: Quirin Hofstaetter <qh@dev.tdt.de>
2017-06-13 13:40:12 +02:00
Quirin Hofstaetter
ef6729a6bc luci-lib-ip: add license tag
Signed-off-by: Quirin Hofstaetter <qh@dev.tdt.de>
2017-06-13 13:40:09 +02:00
Thorsten M
528f7ab512 changed stat to lstat in nixio_lstat function
Signed-off-by: Thorsten M. <thoto@devtal.de>
2016-09-16 11:06:12 +02:00
Jo-Philipp Wich
ad064f0b03 Merge pull request #563 from cshore/pull-request-app-uhttpd
Pull request app uhttpd
2016-01-15 15:20:41 +01:00
Daniel Dickinson
b130ca554f lib-nixio / luci-base: Fix for reading csrf token prevents file upload
The call to http.formvalue in order to read the csrf token causes
_parse_input to be triggered *before* controllers and cbi maps have
been built.  This results in the failure of file uploads because
the file handler is not yet in place when _parse_input gets called,
and it is in _parse_input that POST data is parsed (including files).

To fix this we add the ability to write file fields to temporary
files (using mkstemp and unlink in nixio.file) and use this to
store file data until the filehandler is registered, with a
fallback to reading the file data into memory.

Once the filehandler callback gets registered we iterate
though all previously parsed (saved) files and copy the
data to the file handler, and then close the temporary
file (which finally removes because we unlinked after
creating the file, but didn't close the file so unlink
was deferred).

Signed-off-by: Daniel Dickinson <openwrt@daniel.thecshore.com>
2015-12-15 13:12:29 -05:00
Jan-Philipp Litza
5335f22537 luci-lib-jsonc: Add ltn12-compatible sink factory
To use the luci-lib-jsonc parser as sink for an ltn12 pump (for example
from stdin), the following code will now do:

    require 'luci.ltn12'
    require 'luci.jsonc'

    local parser = luci.jsonc.new()
    luci.ltn12.pump.all(luci.ltn12.source.file(io.input()), parser:sink())
    print(parser:get())

Signed-off-by: Jan-Philipp Litza <janphilipp@litza.de>
2015-09-04 12:21:30 +02:00
Jo-Philipp Wich
daeb2016d6 luci-lib-ip: fix documentation issue
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-09-01 16:49:19 +02:00
Jo-Philipp Wich
ed1a641696 Fix module lines in several luadoc files
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-09-01 16:43:19 +02:00
Jan-Philipp Litza
90c841d66e luci-lib-jsonc: Fix memory leak in stringify() 2015-08-31 19:53:51 +02:00
Jan-Philipp Litza
e7645d557c luci-lib-jsonc: allow encoding empty lists
To be consistent with the behavior of luci-lib-json, an empty Lua table
should be encoded to an empty JSON list, not an empty JSON object.

To still allow encoding empty JSON objects, the usage of anything other
than a number or a string as a key (for example an empty table or a
function) can be used to force encoding as an object:

    json.stringify({})                  -- "[]"
    json.stringify({[{}] = true})       -- "{}"

Signed-off-by: Jan-Philipp Litza <janphilipp@litza.de>
2015-08-30 15:52:33 +02:00
Jan-Philipp Litza
e32a877aa4 luci-lib-jsonc: Ignore non-string-or-number keys in tables
Previously, the following caused a segmentation fault:

    json.stringify({[{}] = true})

This was caused by lua_tostring() returning NULL for anything but
strings and numbers, letting json_object_object_add crash.

This patch makes jsonc ignore all keys which have no string
representation altogether.

Signed-off-by: Jan-Philipp Litza <janphilipp@litza.de>
2015-08-30 15:51:17 +02:00
Jo-Philipp Wich
376f038726 luci-lib-nixio: pass exact sockaddr length to getnameinfo()
Musl libc requires the length parameter of getnameinfo() to be exactly
`sizeof(struct sockaddr_in)` or `sizeof(struct sockaddr_in6)`, depending on
the passed sockaddr family.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-07-30 22:38:36 +02:00
Matthias Schiffer
304eec2eba luci-lib-json: ignore null keys to allow encoding empty objects
There is currently no way to encode an empty object {}, as empty tables are
encoded as empty lists [].

With this patch, encode() will ignore table fields with the key json.null (which
doesn't make sense anyways). This allows adding a field with key json.null to
force encoding it as an object.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2015-06-04 21:13:41 +02: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
cf7e2695cc luci-lib-jsonc: add api documentation
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-28 22:31:28 +01:00
Jo-Philipp Wich
7ca5222f4b luci-lib-ip: add api documentation
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-28 22:31:14 +01:00
Jo-Philipp Wich
fb69e15e8d luci-lib-nixio: move CHANGELOG and README into nixio namespace
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-28 22:29:45 +01:00
Jo-Philipp Wich
e6e74b712f luci-lib-ip: add functions to deal with IPv6 mapped IPv6
* Add luci.ip.cidr.is6mapped4() to test whether an IPv6 CIDR is a mapped IPv4 one
 * Add luci.ip.cidr.mapped4() to derive IPv4 from mapped CIDR
 * Remove mapped IPv4 workaround from constructor as it breaks genuine addrs like ::ffff:0

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-28 14:21:04 +01:00
Jo-Philipp Wich
65f0135491 luci-lib-ip: multiple fixes
* Fix broken neighbor filtering by address range due to uninitialized memory
 * Fix wrong sizeof in _cidr_add_sub when adding/substracing IPv6 addresses
 * Properly convert numeric values to IPv6 addresses

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-28 13:23:24 +01:00
Jo-Philipp Wich
73b19f6382 libs: add luci-lib-jsonc, a Lua binding for JSON-C
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-26 16:49:23 +01:00
Jo-Philipp Wich
8c8c69fa5d luci-lib-ip: accept 2nd netmask argument in new(), IPv4() and IPv6()
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-26 10:47:39 +01:00
Jo-Philipp Wich
0d32e69f16 luci-lib-ip: fix segfault in link() on systems with ip6gre support
If an ip6gre interface is queried, the resulting link local address string
of 47 byte overflowed the buffer of 32 bytes used to hold the translated
address.

Increase the address string buffer to 48 byte and check the address length
prior to writing it into the buffer to avoid future problems with longs
link local addresses.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-25 21:39:17 +01:00
Jo-Philipp Wich
eb1ef783f6 luci-lib-ip: fix netlink receiving in link()
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-24 14:25:53 +01:00
Jo-Philipp Wich
671566d701 luci-lib-ip: add link() method to get basic iface info
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-23 13:00:51 +01:00
Jo-Philipp Wich
4ab9f972c4 luci-lib-ip: always return table for dump, even if empty
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-22 23:59:11 +01:00
Jo-Philipp Wich
e85698638f luci-lib-ip: support filtering neighbors by mac or dest addr
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-22 23:43:56 +01:00
Jo-Philipp Wich
e9bfa5fe79 luci-lib-ip: fix routes() for non-callback invocations
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-22 15:25:41 +01:00
Jo-Philipp Wich
8cf1b1374d luci-lib-nixio: always assume Linux target (#307)
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
2015-01-22 15:01:50 +01:00