Commit Graph
36248 Commits
Author SHA1 Message Date
Lennart Poettering 986c8af1b8 Merge pull request #10456 from poettering/setsockopt-int
add a setsockopt_int() helper and make use of it everywhere
2018-10-18 21:53:01 +02:00
Lennart Poettering 40235c3c5e tests: clean up again after running tests (#10446)
Currently, if I run the full "run-integration-tests.sh" script it will
fail on my machine because it fills up /var/tmp whith just too much
crap until the disk is full.

Let's make sure that "run-integration-tests.sh" cleans up after every
test. For that change the make targets to run from "clean setup run" to
"clean setup run clean" — except that that doesn't work since make is
smart enough to realize that the same target appears twice on the
command line and will only execute it once. Let's fix that by defining
another target "clean-again" which is just like "clean", but allows us
to be added to the same command line a second time. Then, let's build
with "clean setup run clean-again" and all is good.

While we are at it, let's also add .PHONY where appropriate, after all
these all are phony targets.
2018-10-19 03:59:24 +09:00
Lennart Poettering 6d4150cb45 job: add a comment that JOB_DONE also means skipped due to condition (#10453) 2018-10-19 03:55:30 +09:00
Lennart Poettering b33fa02b2d util: drop const_int_one/const_int_zero again
There's only a single user remaining now that we have setsockopt_int(),
let's define those variables locally.

This more or less reverts 6d5e65f645.
2018-10-18 19:50:29 +02:00
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