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