Lennart Poettering
2ff48e981e
tree-wide: introduce setsockopt_int() helper and make use of it everywhere
...
As suggested by @heftig:
https://github.com/systemd/systemd/commit/6d5e65f6454212cd400d0ebda34978a9f20cc26a#commitcomment-30938667
2018-10-18 19:50:29 +02:00
Lennart Poettering
0fef958361
efi: rework OFFSETOF() based on __builtin_offsetof()
...
Since both LLVM and gcc supported this for a long time, we are not
adding a fallback compat kludge. And even if there's some relevant
compiler that doesn't know this concept, it'll fail with a compiler
error, and we'll fix it then.
As suggested by @keszybz:
https://github.com/systemd/systemd/pull/10174#discussion_r226266540
2018-10-18 19:01:54 +02:00
Lennart Poettering
849d653a4e
Merge pull request #10239 from yuwata/sd-device-monitor
...
sd-device: introduce sd_device_monitor
2018-10-18 18:30:38 +02:00
Lennart Poettering
c0815ca93d
Merge pull request #10407 from yuwata/netlink-slot
...
sd-netlink: introduce sd_netlink_slot object and relevant functions
2018-10-18 18:05:58 +02:00
Lennart Poettering
e413ec4a9d
fuzz: add test from oss-fuzz#10908
...
https://oss-fuzz.com/download?testcase_id=5639441482252288
2018-10-18 16:44:51 +02:00
Lennart Poettering
085f3d6416
json: add an assert_cc() check that validates _JSON_VARIANT_MAGIC_MAX
2018-10-18 16:44:51 +02:00
Lennart Poettering
7e61bd0f67
macro.h: include assert.h so that static_assert can be properly checked for
...
For the definition of assert_cc() we try to use static_assert and check
for it with "#ifdef". But that can only work if assert.h is imported
before. Hence let's do so.
2018-10-18 16:44:51 +02:00
Lennart Poettering
d520d519f0
json: add support for using static const strings directly as JsonVariant objects
...
This is a nice little optimization when using static const strings: we
can now use them directly as JsonVariant objecs, without any additional
allocation.
2018-10-18 16:44:51 +02:00
Lennart Poettering
4fcb507a90
json: minor optimization
...
instead of comparing the magic JsonVariants one by one, let's simply
compare that they lie within a specific range.
2018-10-18 16:44:51 +02:00
Lennart Poettering
d77e781fd0
json: when creating an object, insist that every second item is a string
...
After all, those are the keys, which have to be keys.
2018-10-18 16:44:51 +02:00
Lennart Poettering
b2fa0d4fca
json: enforce a maximum nesting depth for json variants
...
Simply as a safety precaution so that json objects we read are not
arbitrary amounts deep, so that code that processes json objects
recursively can't be easily exploited (by hitting stack limits).
Follow-up for oss-fuzz#10908
(Nice is that we can accomodate for this counter without increasing the
size of the JsonVariant object.)
2018-10-18 16:44:51 +02:00
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
120bffada8
test: check for putenv() failures, the call might theortically fail
2018-10-18 16:40:12 +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
b6b180b77b
nspawn: use container $PATH (not host $PATH) when searching for PID 1 binaries to execute
...
Fixes : #10377
2018-10-18 16:40:12 +02:00
Zbigniew Jędrzejewski-Szmek
10d4409cea
mkosi: use Fedora 29
...
F29 is at beta now, but should be out within two or three weeks, by the time
next systemd release happens.
2018-10-18 16:27:21 +02:00
Lennart Poettering
2a98ae4a05
tmpfiles: FOREACH_LINE excorcism
2018-10-18 16:23:45 +02:00
Lennart Poettering
e393eff622
sysv-generator: FOREACH_LINE excorcism
2018-10-18 16:23:45 +02:00
Lennart Poettering
050ca29963
sysusers: FOREACH_LINE excorcism
2018-10-18 16:23:45 +02:00
Lennart Poettering
8ac3c9ab1b
install: pass encountered error number to log_syntax()
2018-10-18 16:23:45 +02:00
Lennart Poettering
bef77f378c
install: FOREACH_LINE excorcism
2018-10-18 16:23:45 +02:00
Lennart Poettering
d5b3c07da6
clean-ipc: FOREACH_LINE excorcism
2018-10-18 16:23:45 +02:00
Lennart Poettering
e1b9fc23eb
resolved-resolv-conf: FOREACH_LINE excorcism
2018-10-18 16:23:45 +02:00
Lennart Poettering
7c777a7773
resolved-etc-hosts: FOREACH_LINE excorcism
2018-10-18 16:23:45 +02:00
Lennart Poettering
0a6488b441
resolved-dns-trust-anchor: FOREACH_LINE excorcism
...
Also, properly ignore these read errors, and say so.
2018-10-18 16:23:45 +02:00
Lennart Poettering
271c8ec50f
localectl: FOREACH_LINE excorcism
2018-10-18 16:23:45 +02:00
Lennart Poettering
710bf2aeb2
sd-path: FOREACH_LINE exorcism
2018-10-18 16:23:45 +02:00
Lennart Poettering
8ae29228a8
bus-creds: FOREACH_LINE excorcism
2018-10-18 16:23:45 +02:00
Lennart Poettering
7b26ea6f06
coredump: FOREACH_LINE excorcism
2018-10-18 16:23:45 +02:00
Lennart Poettering
9fd0b02913
smack-setup: include error cause in log message
2018-10-18 16:23:45 +02:00
Lennart Poettering
ea8b6526b9
smcak-setup: FOREACH_LINE excorcism
2018-10-18 16:23:45 +02:00
Lennart Poettering
a34f0dae01
shutdown: FOREACH_LINE() excorcism
2018-10-18 16:23:45 +02:00
Lennart Poettering
1fb8942284
ima-setup: prefer safe_close() over plain close()
2018-10-18 16:23:45 +02:00
Lennart Poettering
b435812c64
ima-setup: include error cause in failure messages
2018-10-18 16:23:45 +02:00
Lennart Poettering
2452419b3a
ima-setup: FOREACH_LINE excorcism
2018-10-18 16:23:45 +02:00
Lennart Poettering
c66e60a838
cgroup: FOREACH_LINE excorcism
2018-10-18 16:23:45 +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
Zbigniew Jędrzejewski-Szmek
51a85e5ec2
Merge pull request #10174 from poettering/sd-boot-counter-efi
...
the EFI changes from PR #9437 (the boot counting PR)
2018-10-18 16:06:01 +02:00
Yu Watanabe
691d6f6d76
bus-unit-util: use streq() instead of STR_IN_SET()
...
Follow-up for 90fc172e19 (#10308 ).
2018-10-18 13:46:45 +02:00
Lennart Poettering
fae0f8a047
udev-rules: fgets() excorcism
2018-10-18 13:41:09 +02:00
Lennart Poettering
9c6f9786c5
condition: fgets() excorcism
2018-10-18 13:40:55 +02:00
Lennart Poettering
1fd2786161
reply-password: fgets() excorcism
2018-10-18 13:40:39 +02:00
Lennart Poettering
a889e206a7
modules-load: fgets() excorcism
2018-10-18 13:40:21 +02:00
Lennart Poettering
1d47b56995
keymap-util: fgets() excorcism
2018-10-18 13:40:03 +02:00