Commit Graph
6832 Commits
Author SHA1 Message Date
Lennart Poettering a7efb03039 json: slightly reorder JsonVariant
Let's move things around a bit, so that the trailing unused whitespace
within the structure due to padding is placed together, so that it is
easier to use for new fields. (Found with pahole)
2018-10-18 16:44:51 +02:00
Lennart Poettering 4ae7e4e5d8 json: avoid stack allocation of long strings in a recursive function
Fixes: oss-fuzz#10908

https://oss-fuzz.com/v2/testcase-detail/5639441482252288
2018-10-18 16:44:51 +02:00
Lennart Poettering 92853e9bbe json: return a double when we shall return a double 2018-10-18 16:44:51 +02:00
Lennart Poettering a1559e3f53 json: use structured initialization all the way 2018-10-18 16:44:51 +02:00
Lennart Poettering 8f7329ac27 exec-util: errors are reported by non-zero, not negative by putenv() 2018-10-18 16:40:12 +02:00
Lennart Poettering 8d2b9d14c4 time-util: FOREACH_LINE excorcism 2018-10-18 16:23:45 +02:00
Lennart Poettering 7e7a16a00e process-util: FOREACH_LINE excorcism 2018-10-18 16:23:45 +02:00
Lennart Poettering f5af75eaec mount-util: FOREACH_LINE() excorcism 2018-10-18 16:23:45 +02:00
Lennart Poettering d2b39cb606 cgroup-util: FOREACH_LINE() excorcism 2018-10-18 16:23:45 +02:00
Lennart Poettering d3f9790c81 terminal-util: use fgetc() carefully instead of fread() 2018-10-18 13:32:34 +02:00
Lennart Poettering 715bcf361d terminal-util: excorcise fgets() 2018-10-18 13:32:05 +02:00
Lennart Poettering 6d3db278fe clock-util: excorcise fgets() 2018-10-18 13:30:20 +02:00
Yu Watanabe 103341f9f8 Merge pull request #10438 from poettering/path-is-valid
be a bit more carful when processing transient socket paths via the bus
2018-10-18 06:20:41 +09:00
Lennart Poettering 67f5d31b45 Merge pull request #10440 from poettering/fflush-and-check-some-more
use fflush_and_check() and free_and_replace() where we can
2018-10-17 22:54:34 +02:00
Lennart Poettering a42984dbc7 Merge pull request #10428 from keszybz/failure-actions
Implement manager status changes using SuccessAction=
2018-10-17 21:29:10 +02:00
Lennart Poettering c93d527f46 exec-util: use fflush_and_check() where appropriate 2018-10-17 21:23:34 +02:00
Lennart Poettering 656552ebb3 path-util: add new path_is_valid() helper 2018-10-17 21:13:02 +02:00
Lennart Poettering 3088305166 list: fix double avaluation in LIST_APPEND() 2018-10-17 21:13:02 +02:00
Lennart Poettering d3e66e684f env-util: drop ARG_MAX define
It's not a constant, hence don't pretend it was.
2018-10-17 20:51:14 +02:00
Lennart Poettering fcbb657460 env-util: modernize strv_env_set() a bit 2018-10-17 20:51:14 +02:00
Lennart Poettering 04effffd84 env-util: modernize strv_env_replace() 2018-10-17 20:51:14 +02:00
Lennart Poettering 2d3ff1decb env-util: rework strv_env_merge()
Let's clean up the failure codepaths, by using _cleanup_.

This relies on the new behaviour of env_append() introduced in the
previous commit that guarantess the list always remains properly NULL
terminated
2018-10-17 20:51:14 +02:00
Lennart Poettering 2a13184a43 env-util: rework env_append()
Let's make sure the strv we are putting together always remains valid
(i.e. is NULL terminated). Also document the parameters to pass in
correctly.
2018-10-17 20:51:14 +02:00
Lennart Poettering 68ac147e8d env-util: use strv_contains() where appropriate 2018-10-17 20:51:14 +02:00
Lennart Poettering 8aeb1d3176 Merge pull request #10244 from poettering/nofile-bump
bump RLIMIT_NOFILE
2018-10-17 17:59:36 +02:00
Zbigniew Jędrzejewski-Szmek 1bcf3fc6c5 core: return true from cg_is_empty* on ENOENT 2018-10-17 17:49:57 +02:00
Zbigniew Jędrzejewski-Szmek c02b6ee496 meson: define @HIGH_RLIMIT_NOFILE@ and use it everywhere 2018-10-17 14:54:48 +02:00
Lennart Poettering c8884aceef main: introduce a define HIGH_RLIMIT_MEMLOCK similar to HIGH_RLIMIT_NOFILE 2018-10-17 14:40:44 +02:00
Lennart Poettering 5450a37e3c Merge pull request #10419 from yuwata/fix-prioq
Fix segfault in prioq_remove() with empty Prioq object
2018-10-16 19:56:04 +02:00
Yu Watanabe 90c88092e6 tree-wide: use CMP() macro where applicable
Follow-up for 6dd91b3682.
2018-10-16 19:55:38 +02:00
Yu Watanabe 8da2f9e807 Merge pull request #10412 from poettering/sockaddr-sun-path
various fixes related to struct sockaddr_un handling
2018-10-17 01:25:58 +09:00
Yu Watanabe 0cb3b295ec prioq: use structrued initializer 2018-10-17 01:09:41 +09:00
Yu Watanabe e6e637a11a prioq: fix index range check 2018-10-17 01:09:41 +09:00
Yu Watanabe 9f934223b2 prioq: add one more assertion 2018-10-17 01:08:51 +09:00
Lennart Poettering 6dd91b3682 tree-wide: CMP()ify all the things
Let's employ coccinelle to fix everything up automatically for us.
2018-10-16 17:45:53 +02:00
Lennart Poettering 0bbee2c226 rlimit-util: don't call setrlimit() needlessly if it wouldn't change anything
Just a tiny tweak to avoid generating an error if there's no need to.
2018-10-16 16:33:55 +02:00
Lennart Poettering 99ab6fdf8c core: add a new call for bumping RLIMIT_NOFILE to "high" values
Following discussions with some kernel folks at All Systems Go! it
appears that file descriptors are not really as expensive as they used
to be (both memory and performance-wise) and it should thus be OK to allow
programs (including unprivileged ones) to have more of them without ill
effects.

Unfortunately we can't just raise the RLIMIT_NOFILE soft limit
globally for all processes, as select() and friends can't handle fds
>= 1024, and thus unexpecting programs might fail if they accidently get
an fd outside of that range. We can however raise the hard limit, so
that programs that need a lot of fds can opt-in into getting fds beyond
the 1024 boundary, simply by bumping the soft limit to the now higher
hard limit.

This is useful for all our client code that accesses the journal, as the
journal merging logic might need a lot of fds. Let's add a unified
function for bumping the limit in a robust way.
2018-10-16 16:33:55 +02:00
Lennart Poettering d6e069f412 def: add a "high" limit for RLIMIT_NOFILE
This simply adds a new constant we can use for bumping RLIMIT_NOFILE to
a "high" value. It default to 256K for now, which is pretty high, but
smaller than the kernel built-in limit of 1M.

Previously, some tools that needed a higher RLIMIT_NOFILE bumped it to
16K. This new define goes substantially higher than this, following the
discussion with the kernel folks.
2018-10-16 16:33:55 +02:00
Lennart Poettering a53f90ca24 siphash24: add helper for calculating the hash value for a string
Let's shorten some code.
2018-10-16 16:27:15 +02:00
Yu Watanabe cd86deefa1 util: fix segfault in prioq_remove() with empty Prioq object 2018-10-16 22:27:30 +09:00
Yu Watanabe d13b5f5a85 util,test: introduce cleanup function prioq_freep()
This also simplifies test-prioq.c.
2018-10-16 22:17:08 +09:00
Lennart Poettering 2011149a3c Merge pull request #10327 from yuwata/test-sd-device-enumerator-subsystem
sd-device-enumerator: dedup enumerated devices and add test for subsystem filtering
2018-10-16 12:48:01 +02:00
Lennart Poettering 6d5e65f645 tree-wide: add a single version of "static const int one = 1"
All over the place we define local variables for the various sockopts
that take a bool-like "int" value. Sometimes they are const, sometimes
static, sometimes both, sometimes neither.

Let's clean this up, introduce a common const variable "const_int_one"
(as well as one matching "const_int_zero") and use it everywhere, all
acorss the codebase.
2018-10-15 19:40:51 +02:00
Lennart Poettering 8e8132c6b8 socket-util: tighten socket_address_verify() checks a bit 2018-10-15 19:40:51 +02:00
Lennart Poettering 48e6a2dc84 socket-util: tweak commenting in socket_address_get_path()
Let's make clear explicitly that there's always a NUL byte following the
path, and how.
2018-10-15 19:40:51 +02:00
Lennart Poettering 69995bffb7 socket-util: include trailing NUL byte in SOCKADDR_UN_LEN() count for fs sockets
This is what unix(7) recommends, hence do so.
2018-10-15 19:40:51 +02:00
Lennart Poettering 5cf91ea9c8 socket-util: add sockaddr_un_set_path() helper
Properly initializing sun_path from foreign data is not easy, given the
size constraints, and NUL confusion. Let's add a helper function for
this.
2018-10-15 19:35:00 +02:00
Lennart Poettering 686192048a strxcpyx: minor coding style updates 2018-10-15 19:35:00 +02:00
Lennart Poettering 057e85805c socket-address: document socket address parsing size restrictions in a comment 2018-10-15 19:35:00 +02:00
Lennart Poettering 9ec30b2769 socket-util: use structured initialization 2018-10-15 19:35:00 +02:00