platform/upstream/systemd.git
5 years agonetwork: use hashmap_clear_with_destructor() at one more place
Yu Watanabe [Mon, 12 Nov 2018 06:32:26 +0000 (15:32 +0900)]
network: use hashmap_clear_with_destructor() at one more place

5 years agonetwork: allocate hashmap objects when they are required
Yu Watanabe [Mon, 12 Nov 2018 06:24:11 +0000 (15:24 +0900)]
network: allocate hashmap objects when they are required

5 years agonetwork: do not assign unused value
Yu Watanabe [Mon, 12 Nov 2018 06:21:40 +0000 (15:21 +0900)]
network: do not assign unused value

5 years agonetwork: fixes related to NetworkConfigSection
Yu Watanabe [Mon, 12 Nov 2018 05:57:04 +0000 (14:57 +0900)]
network: fixes related to NetworkConfigSection

- Do not allocate NetworkConfigSection when filename == NULL
- set .network element before calling hashmap_put()
- Always free NetworkConfigSection in each object.

5 years agonetwork: use structured initializers
Yu Watanabe [Mon, 12 Nov 2018 05:55:52 +0000 (14:55 +0900)]
network: use structured initializers

5 years agonetwork: use NetworkConfigSection in fdb entries
Yu Watanabe [Mon, 12 Nov 2018 05:54:04 +0000 (14:54 +0900)]
network: use NetworkConfigSection in fdb entries

5 years agonetwork: make ndisc related handlers return negative errno but caller ignore the...
Yu Watanabe [Mon, 12 Nov 2018 05:52:35 +0000 (14:52 +0900)]
network: make ndisc related handlers return negative errno but caller ignore the errors

5 years agosd-bus: use SD_BUS_ERROR_NULL macro
Yu Watanabe [Mon, 12 Nov 2018 04:30:20 +0000 (13:30 +0900)]
sd-bus: use SD_BUS_ERROR_NULL macro

Follow-up for e8f280bd0af47158a9d6c3da940754cdd6f51d3e.

5 years agotest: make test-udev accept only check when argc == 2
Yu Watanabe [Mon, 12 Nov 2018 04:20:20 +0000 (13:20 +0900)]
test: make test-udev accept only check when argc == 2

Follow-up for 110a13202eab6d92678abcde08372d4afac1cc45.

5 years agoMerge pull request #10669 from danderson/networkd-6rd
Yu Watanabe [Mon, 12 Nov 2018 06:55:03 +0000 (15:55 +0900)]
Merge pull request #10669 from danderson/networkd-6rd

networkd: add 6rd support for sit netdevs

5 years agojournal-remote: bugfix to re-enable ssl key check (#10707)
Markus Grimm [Mon, 12 Nov 2018 06:47:47 +0000 (07:47 +0100)]
journal-remote: bugfix to re-enable ssl key check (#10707)

5 years agoman: fix default value in resolved.conf man page (#10733)
Alexander Kurtz [Mon, 12 Nov 2018 06:44:55 +0000 (07:44 +0100)]
man: fix default value in resolved.conf man page (#10733)

See https://github.com/systemd/systemd/blob/v239/meson_options.txt#L190

5 years agoMerge pull request #10694 from evverx/udev-test-in-container
Yu Watanabe [Mon, 12 Nov 2018 04:12:09 +0000 (13:12 +0900)]
Merge pull request #10694 from evverx/udev-test-in-container

udev-test: remove a check for whether the test is run in a container

5 years agoMerge pull request #10728 from keszybz/four-unrelated-cleanups
Lennart Poettering [Sun, 11 Nov 2018 20:16:14 +0000 (21:16 +0100)]
Merge pull request #10728 from keszybz/four-unrelated-cleanups

Four unrelated cleanups

5 years agoMerge pull request #10732 from yuwata/network-sock_cloexec
Lennart Poettering [Sun, 11 Nov 2018 20:15:50 +0000 (21:15 +0100)]
Merge pull request #10732 from yuwata/network-sock_cloexec

dhcp, fuzz: set SOCK_CLOEXEC and SOCK_NONBLOCK

5 years agofuzz: add testcase of oss-fuzz#10734
Yu Watanabe [Sun, 11 Nov 2018 17:04:23 +0000 (02:04 +0900)]
fuzz: add testcase of oss-fuzz#10734

5 years agolibsystemd-network: set SOCK_CLOEXEC and SOCK_NONBLOCK
Yu Watanabe [Sun, 11 Nov 2018 17:03:22 +0000 (02:03 +0900)]
libsystemd-network: set SOCK_CLOEXEC and SOCK_NONBLOCK

5 years agofuzz: explicitly set initial value of global variables
Yu Watanabe [Sun, 11 Nov 2018 16:58:17 +0000 (01:58 +0900)]
fuzz: explicitly set initial value of global variables

5 years agofuzz: set SOCK_CLOEXEC and SOCK_NONBLOCK
Yu Watanabe [Sun, 11 Nov 2018 16:57:27 +0000 (01:57 +0900)]
fuzz: set SOCK_CLOEXEC and SOCK_NONBLOCK

5 years agofuzz: use SOCK_STREAM instead of SOCK_DGRAM
Yu Watanabe [Sun, 11 Nov 2018 16:56:08 +0000 (01:56 +0900)]
fuzz: use SOCK_STREAM instead of SOCK_DGRAM

Fixes oss-fuzz#10734.

5 years agofuzz: add testcase of already fixed issue 10908
Yu Watanabe [Sun, 11 Nov 2018 16:17:45 +0000 (01:17 +0900)]
fuzz: add testcase of already fixed issue 10908

5 years agoMerge pull request #10722 from yuwata/sd-device-monitor-change-arguments
Lennart Poettering [Sun, 11 Nov 2018 14:43:45 +0000 (15:43 +0100)]
Merge pull request #10722 from yuwata/sd-device-monitor-change-arguments

sd-device-monitor: slightly re-design API arguments

5 years agoMerge pull request #10723 from yuwata/fix-oss-fuzz-11345
Lennart Poettering [Sun, 11 Nov 2018 14:42:46 +0000 (15:42 +0100)]
Merge pull request #10723 from yuwata/fix-oss-fuzz-11345

network: add missing free() in network_free()

5 years agoMerge pull request #10726 from michaelolbrich/meson-fixes
Yu Watanabe [Sun, 11 Nov 2018 14:19:50 +0000 (23:19 +0900)]
Merge pull request #10726 from michaelolbrich/meson-fixes

Meson fixes

5 years agojournalctl: do not treat EINTR as an error when waiting for events
Zbigniew Jędrzejewski-Szmek [Sun, 11 Nov 2018 11:33:06 +0000 (12:33 +0100)]
journalctl: do not treat EINTR as an error when waiting for events

Fixup for 2a1e0f2228bbdfbc18635e959f47df7da50b62fe. Fixes #10724.

Reproducer: start 'journalctl -f' in a terminal window, change window size.

5 years agomeson: fix building with -Ddns-over-tls=false
Michael Olbrich [Sun, 11 Nov 2018 10:30:53 +0000 (11:30 +0100)]
meson: fix building with -Ddns-over-tls=false

Assigning multiple variables in one line is no valid meson syntax.
Without this running meson with -Ddns-over-tls=false fails with:

meson.build:1191:8: ERROR:  Tried to assign an invalid value to variable.

5 years agomeson: don't build fuzzers if tests are disabled
Michael Olbrich [Sun, 11 Nov 2018 10:27:35 +0000 (11:27 +0100)]
meson: don't build fuzzers if tests are disabled

Fuzzers are just special tests anyways and without this, building with
'-Dtests=false' fails with:

.../src/fuzz/fuzz-main.c:20: undefined reference to `test_setup_logging'

5 years agofuzz: add testcase of oss-fuzz#11345
Yu Watanabe [Sun, 11 Nov 2018 03:03:52 +0000 (12:03 +0900)]
fuzz: add testcase of oss-fuzz#11345

5 years agonetwork: use hashmap_free_with_destructor() in network_free()
Yu Watanabe [Sun, 11 Nov 2018 02:21:13 +0000 (11:21 +0900)]
network: use hashmap_free_with_destructor() in network_free()

5 years agonetwork: fix missing free() in network_free()
Yu Watanabe [Sun, 11 Nov 2018 02:20:51 +0000 (11:20 +0900)]
network: fix missing free() in network_free()

Fixes oss-fuzz#11345.

5 years agocore: log about /var/run/ prefix used in PIDFile=, patch it to be /run instead
Lennart Poettering [Fri, 9 Nov 2018 17:19:40 +0000 (18:19 +0100)]
core: log about /var/run/ prefix used in PIDFile=, patch it to be /run instead

In a way this is a follow-up for
a2d1fb882c4308bc10362d971f333c5031d60069, but adds a similar warning for
PIDFile=.

There's a much stronger case for doing this kind of notification in
tmpfiles.d (since it helps relating lines to each other for the purpose
of merging them). Doing this for PIDFile= is mostly about being
systematic and copying tmpfiles.d/ behaviour here.

While we are at it, let's also support relative filenames in PIDFile=
now, and prefix them with /run, to make them absolute.

Fixes: #10657

5 years agorandom-util: allow RDRAND to be used in 32-bit x86 binaries
Mike Gilbert [Thu, 8 Nov 2018 14:47:16 +0000 (09:47 -0500)]
random-util: allow RDRAND to be used in 32-bit x86 binaries

Rename rdrand64 to rdrand, and switch from uint64_t to unsigned long.
This produces code that will compile/assemble on both x86-64 and x86-32.

This could be useful when running a 32-bit copy of systemd on a modern
Intel processor.

RDRAND is inherently arch-specific, so relying on the compiler-defined
'long' type seems reasonable.

5 years agosd-device: drop priority and description from sd_device_monitor_attach_event() and...
Yu Watanabe [Sat, 10 Nov 2018 13:50:11 +0000 (22:50 +0900)]
sd-device: drop priority and description from sd_device_monitor_attach_event() and sd_device_monitor_start()

Now we have sd_device_monitor_get_event_soruce(). So, it is not
necessary to include these parameters in the functions for sd_device_monitor.

5 years agosd-device: add sd_device_monitor_get_event_source()
Yu Watanabe [Sat, 10 Nov 2018 13:13:07 +0000 (22:13 +0900)]
sd-device: add sd_device_monitor_get_event_source()

5 years agoMerge pull request #10717 from yuwata/fix-oss-fuzz-11324
Lennart Poettering [Sat, 10 Nov 2018 13:18:22 +0000 (14:18 +0100)]
Merge pull request #10717 from yuwata/fix-oss-fuzz-11324

network: add missing verification for ip6gretap and sit

5 years agosd-device: fix possible use of uninitialized value
Yu Watanabe [Sat, 10 Nov 2018 07:05:05 +0000 (16:05 +0900)]
sd-device: fix possible use of uninitialized value

5 years agoid128,analyze: fix layout of help message
Yu Watanabe [Sat, 10 Nov 2018 08:13:11 +0000 (17:13 +0900)]
id128,analyze: fix layout of help message

5 years agobasic: make rdrand64 a little bit more MSAn-friendly
Evgeny Vereshchagin [Sat, 10 Nov 2018 08:10:49 +0000 (09:10 +0100)]
basic: make rdrand64 a little bit more MSAn-friendly

MSan doesn't instrument inline asm calls so let's help it
by marking err as initialized manually.

Fixes: https://github.com/systemd/systemd/issues/10714.

5 years agoudev-test: skip the test only if it can't setup its environment
Evgeny Vereshchagin [Fri, 9 Nov 2018 03:01:15 +0000 (04:01 +0100)]
udev-test: skip the test only if it can't setup its environment

This is basically a replacement for 0eb3cc88504b5d8f74.

5 years agofuzz: add testcase for oss-fuzz#11324
Yu Watanabe [Sat, 10 Nov 2018 06:38:35 +0000 (15:38 +0900)]
fuzz: add testcase for oss-fuzz#11324

5 years agonetwork: add missing verification for ip6gretap and sit
Yu Watanabe [Sat, 10 Nov 2018 06:35:56 +0000 (15:35 +0900)]
network: add missing verification for ip6gretap and sit

Fixes oss-fuzz#11324.

5 years agoshared: fix typo
Zbigniew Jędrzejewski-Szmek [Sat, 10 Nov 2018 06:43:57 +0000 (07:43 +0100)]
shared: fix typo

5 years agoAdd a networkd test for 6rd interface creation.
David Anderson [Fri, 9 Nov 2018 04:44:16 +0000 (20:44 -0800)]
Add a networkd test for 6rd interface creation.

Unfortunately we can't check the 6rd attribute, because it's not
exposed in /sys or anywhere other than netlink... But at least we
can check that networkd brings up an interface that looks right.

5 years agoAdd 6rd directive to the netdev fuzzing corpus.
David Anderson [Wed, 7 Nov 2018 05:33:15 +0000 (21:33 -0800)]
Add 6rd directive to the netdev fuzzing corpus.

5 years agonetworkd: support 6rd tunnel netdev setup.
David Anderson [Wed, 7 Nov 2018 05:27:09 +0000 (21:27 -0800)]
networkd: support 6rd tunnel netdev setup.

5 years agotravis: treat warnings as errors while building systemd
Evgeny Vereshchagin [Fri, 9 Nov 2018 23:45:00 +0000 (00:45 +0100)]
travis: treat warnings as errors while building systemd

5 years agoman: add missing link in sd-bus(3)
Zbigniew Jędrzejewski-Szmek [Fri, 9 Nov 2018 19:48:50 +0000 (20:48 +0100)]
man: add missing link in sd-bus(3)

Follow-up for 576af73f4a01e0fec9f376ead40fcce558aeebe8.

5 years agosd_bus: use structured intialization in one more place
Zbigniew Jędrzejewski-Szmek [Thu, 8 Nov 2018 13:26:00 +0000 (14:26 +0100)]
sd_bus: use structured intialization in one more place

5 years agoman: fix system.generator in systemd.unit
Michael Biebl [Fri, 9 Nov 2018 20:39:43 +0000 (21:39 +0100)]
man: fix system.generator in systemd.unit

Fixes: #10713

5 years agoMerge pull request #10306 from poettering/nspawn-ref-unref
Zbigniew Jędrzejewski-Szmek [Fri, 9 Nov 2018 19:49:31 +0000 (20:49 +0100)]
Merge pull request #10306 from poettering/nspawn-ref-unref

nspawn scope lifecycle fixes

5 years agoMerge pull request #10711 from poettering/sd-bus-close-man
Zbigniew Jędrzejewski-Szmek [Fri, 9 Nov 2018 19:46:45 +0000 (20:46 +0100)]
Merge pull request #10711 from poettering/sd-bus-close-man

sd-bus: add docs for a couple of sd-bus APIs

5 years agosd-path: drop redundant "= 0ULL" assignment in enum
Lennart Poettering [Sat, 6 Oct 2018 17:16:17 +0000 (19:16 +0200)]
sd-path: drop redundant "= 0ULL" assignment in enum

This has exactly zero effect as the type of an enum is not derived from
the integer types assigned to its items.

5 years agoTODO
Lennart Poettering [Mon, 8 Oct 2018 13:46:04 +0000 (15:46 +0200)]
TODO

5 years agocore: expose bus client names currently reffing a unit as property
Lennart Poettering [Mon, 8 Oct 2018 13:44:22 +0000 (15:44 +0200)]
core: expose bus client names currently reffing a unit as property

This is useful for debugging client-side ref counting of units: for each
ref taken on a unit the client's sender name is listed. If a client has
multiple refs on the same unit it is listed multiple times.

5 years agomachined: rework referencing of machine scopes from machined, too
Lennart Poettering [Sun, 7 Oct 2018 12:50:11 +0000 (14:50 +0200)]
machined: rework referencing of machine scopes from machined, too

When a machine scope is registered by machined, let's add a reference to
it, and change the GC mode so that the unit is cleaned up as soon as
machined drops the reference, regardless of the fail state.

Fixes: #2809

5 years agoman: document sd_bus_attach_event()
Lennart Poettering [Sat, 6 Oct 2018 18:31:17 +0000 (20:31 +0200)]
man: document sd_bus_attach_event()

5 years agoman: document sd_bus_flush_close_unref()
Lennart Poettering [Sat, 6 Oct 2018 17:15:57 +0000 (19:15 +0200)]
man: document sd_bus_flush_close_unref()

5 years agoman: document sd_bus_close() + sd_bus_flush()
Lennart Poettering [Sat, 6 Oct 2018 17:05:48 +0000 (19:05 +0200)]
man: document sd_bus_close() + sd_bus_flush()

5 years agonspawn: rework how we allocate/kill scopes
Lennart Poettering [Fri, 5 Oct 2018 20:56:40 +0000 (22:56 +0200)]
nspawn: rework how we allocate/kill scopes

Fixes: #6347

5 years agonspawn: merge two variable declaration lines
Lennart Poettering [Fri, 5 Oct 2018 20:56:20 +0000 (22:56 +0200)]
nspawn: merge two variable declaration lines

5 years agonspawn: simplify machine terminate bus call
Lennart Poettering [Fri, 5 Oct 2018 20:54:57 +0000 (22:54 +0200)]
nspawn: simplify machine terminate bus call

We have the machine name anyway, let's use TerminateMachine() on
machined's Manager object directly with it. That way it's a single
method call only, instead of two, to terminate the machine.

5 years agonspawn: make use of the new sd_bus_set_close_on_exit() call in nspawn
Lennart Poettering [Sat, 6 Oct 2018 16:45:58 +0000 (18:45 +0200)]
nspawn: make use of the new sd_bus_set_close_on_exit() call in nspawn

5 years agosd-bus: make "close+flush-on-exit" optional when using sd-event with sd-bus
Lennart Poettering [Sat, 6 Oct 2018 16:43:28 +0000 (18:43 +0200)]
sd-bus: make "close+flush-on-exit" optional when using sd-event with sd-bus

This adds a new pair of API calls sd_bus_set_close_on_exit() and
sd_bus_get_close_on_exit(). They control whether an sd_bus object
attached to a an sd-event loop shall automatically be flushed/closed
when the event loop goes down. Usually that's a good thing, except for
very few cases where the bus connection is longer living than the event
loop it is attached on. Specifically, this is the case for nspawn, where
we run the event loop only while the container is up, but afterwards
still want to be able to use the bus connection.

5 years agounit: enqueue cgroup empty check event if the last ref on a unit is dropped
Lennart Poettering [Fri, 5 Oct 2018 21:04:51 +0000 (23:04 +0200)]
unit: enqueue cgroup empty check event if the last ref on a unit is dropped

5 years agopid1: add a new AbandonScope() method call on the Manager object
Lennart Poettering [Fri, 5 Oct 2018 20:50:25 +0000 (22:50 +0200)]
pid1: add a new AbandonScope() method call on the Manager object

This is the same as Abandon() on the Scope object, but saves clients
from first translating a unit name into a unit object path. This logic
matches how all the other unit methods have counterparts on the Manager
object too (e.g. StopUnit() on the Manager object matching Stop() on the
Unit object), this one was simply forgotten so far.

5 years agotests: keep SYS_PTRACE when running under ASan
Frantisek Sumsal [Fri, 9 Nov 2018 11:47:30 +0000 (12:47 +0100)]
tests: keep SYS_PTRACE when running under ASan

5 years agoMerge pull request #10695 from yuwata/fuzz-network-fixes
Lennart Poettering [Fri, 9 Nov 2018 13:49:37 +0000 (14:49 +0100)]
Merge pull request #10695 from yuwata/fuzz-network-fixes

network: fix recent issues found by oss-fuzz

5 years agofuzz: add testcases of recent issues
Yu Watanabe [Fri, 9 Nov 2018 02:45:43 +0000 (11:45 +0900)]
fuzz: add testcases of recent issues

5 years agonetwork: fix potential segfault in network_free()
Yu Watanabe [Fri, 9 Nov 2018 02:43:50 +0000 (11:43 +0900)]
network: fix potential segfault in network_free()

5 years agonetwork: fix offset for IPv6MTUByte=
Yu Watanabe [Fri, 9 Nov 2018 02:42:11 +0000 (11:42 +0900)]
network: fix offset for IPv6MTUByte=

Fixes oss-fuzz#11302 and oss-fuzz#11314.

5 years agoudev-test: remove a check for whether the test is run in a container
Evgeny Vereshchagin [Fri, 9 Nov 2018 02:14:04 +0000 (03:14 +0100)]
udev-test: remove a check for whether the test is run in a container

It's too broad a check that prevents the test from running on Travis CI.

5 years agoMerge pull request #10678 from evverx/more-travis-tweaks
Evgeny Vereshchagin [Thu, 8 Nov 2018 22:43:57 +0000 (01:43 +0300)]
Merge pull request #10678 from evverx/more-travis-tweaks

travis: also rebuild everything with ASan and UBSan and install dependencies necessary for running parse-hwdb.py

5 years agocgroup: actually reset the cgroup invalidation mask after we made our changes
Lennart Poettering [Thu, 18 Oct 2018 08:02:00 +0000 (10:02 +0200)]
cgroup: actually reset the cgroup invalidation mask after we made our changes

Previously we never unmasked the mask after it was set once. Let's fix
that.

5 years agounit: replace three non-type-safe macros by type-safe inline functions
Lennart Poettering [Thu, 8 Nov 2018 11:27:39 +0000 (12:27 +0100)]
unit: replace three non-type-safe macros by type-safe inline functions

Behaviour is prett ymuch the same, but there's some additional type
checking done on the input parameters.

(In the case of UNIT_WRITE_FLAGS_NOOP() the C compiler won't actually do
the type checking necessarily, but static chckers at least could)

5 years agotravis: use 3 times the normal timeout when the tests are run under ASan+UBSan
Evgeny Vereshchagin [Thu, 8 Nov 2018 12:45:46 +0000 (13:45 +0100)]
travis: use 3 times the normal timeout when the tests are run under ASan+UBSan

5 years agotravis.yml: replace test-capability with a script exiting with 77
Evgeny Vereshchagin [Thu, 8 Nov 2018 12:40:56 +0000 (13:40 +0100)]
travis.yml: replace test-capability with a script exiting with 77

The test is currently failing when run under ASan in a docker container:
```
--- command ---
SYSTEMD_KBD_MODEL_MAP='/build/src/locale/kbd-model-map' PATH='/build/build:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' SYSTEMD_LANGUAGE_FALLBACK_MAP='/build/src/locale/language-fallback-map' /build/build/test-capability
--- stderr ---
have ambient caps: yes
Capabilities:= cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_linux_immutable,cap_net_bind_service,cap_net_broadcast,cap_net_admin,cap_net_raw,cap_ipc_lock,cap_ipc_owner,cap_sys_module,cap_sys_rawio,cap_sys_chroot,cap_sys_ptrace,cap_sys_pacct,cap_sys_admin,cap_sys_boot,cap_sys_nice,cap_sys_resource,cap_sys_time,cap_sys_tty_config,cap_mknod,cap_lease,cap_audit_write,cap_audit_control,cap_setfcap,cap_mac_override,cap_mac_admin,cap_syslog,cap_wake_alarm,cap_block_suspend,cap_audit_read+eip
Capabilities:= cap_dac_override,cap_net_raw+ep
==7021==LeakSanitizer has encountered a fatal error.
==7021==HINT: For debugging, try setting environment variable LSAN_OPTIONS=verbosity=1:log_threads=1
==7021==HINT: LeakSanitizer does not work under ptrace (strace, gdb, etc)
Assertion 'WIFEXITED(status) && WEXITSTATUS(status) == 0' failed at ../src/test/test-capability.c:71, function fork_test(). Aborting.
-------
```

https://api.travis-ci.org/v3/job/452349948/log.txt

5 years agotravis: run ASan job in parallel with the standard one
Frantisek Sumsal [Thu, 8 Nov 2018 11:47:07 +0000 (12:47 +0100)]
travis: run ASan job in parallel with the standard one

5 years agotravis: UBSan should be every C programmer's friend so let's build systemd with it too
Evgeny Vereshchagin [Thu, 8 Nov 2018 00:28:11 +0000 (01:28 +0100)]
travis: UBSan should be every C programmer's friend so let's build systemd with it too

5 years agotest: initialize hwdb so that the test won't try to free memory it has never allocated
Evgeny Vereshchagin [Wed, 7 Nov 2018 22:24:16 +0000 (23:24 +0100)]
test: initialize hwdb so that the test won't try to free memory it has never allocated

See https://github.com/systemd/systemd/pull/10678#issuecomment-436790906.

5 years agotravis: move the ASan part into a separate stage
Evgeny Vereshchagin [Wed, 7 Nov 2018 22:01:27 +0000 (23:01 +0100)]
travis: move the ASan part into a separate stage

5 years agotravis: also rebuild everything with ASan
Evgeny Vereshchagin [Wed, 7 Nov 2018 21:23:46 +0000 (22:23 +0100)]
travis: also rebuild everything with ASan

It should help to catch issues like https://github.com/systemd/systemd/issues/10677.

5 years agotravis: install dependencies necessary for running parse-hwdb.py
Evgeny Vereshchagin [Wed, 7 Nov 2018 21:17:51 +0000 (22:17 +0100)]
travis: install dependencies necessary for running parse-hwdb.py

5 years agoMerge pull request #10676 from poettering/rdrand-everywhere
Zbigniew Jędrzejewski-Szmek [Thu, 8 Nov 2018 12:33:02 +0000 (13:33 +0100)]
Merge pull request #10676 from poettering/rdrand-everywhere

prefer RDRAND over getrandom() and /dev/urandom when we don't need the very best randomness

5 years agoMerge pull request #10651 from yuwata/fix-10598
Lennart Poettering [Thu, 8 Nov 2018 11:36:06 +0000 (12:36 +0100)]
Merge pull request #10651 from yuwata/fix-10598

conf-parser: ignore trailing back-slash in comment

5 years agoMerge pull request #10687 from mrc0mmand/fix-test-capabilities
Lennart Poettering [Thu, 8 Nov 2018 11:35:39 +0000 (12:35 +0100)]
Merge pull request #10687 from mrc0mmand/fix-test-capabilities

Fix test-capability

5 years agotravis: drop the workaround for test-capability
Frantisek Sumsal [Thu, 8 Nov 2018 09:26:01 +0000 (10:26 +0100)]
travis: drop the workaround for test-capability

5 years agotests: drop the precondition check for inherited flag
Frantisek Sumsal [Thu, 8 Nov 2018 08:40:13 +0000 (09:40 +0100)]
tests: drop the precondition check for inherited flag

Docker's default capability set has the inherited flag already
set - that breaks tests which expect otherwise. Let's just
drop the check and run the test anyway.

Fixes #10663

5 years agocore/device: use LIST_FOREACH_AFTER() or friend
Yu Watanabe [Thu, 8 Nov 2018 04:02:45 +0000 (13:02 +0900)]
core/device: use LIST_FOREACH_AFTER() or friend

5 years agounit: make UNIT() cast function deal with NULL pointers
Lennart Poettering [Thu, 8 Nov 2018 08:33:31 +0000 (09:33 +0100)]
unit: make UNIT() cast function deal with NULL pointers

Fixes: #10681

5 years agoman: document the details of continuations and comments
Zbigniew Jędrzejewski-Szmek [Thu, 8 Nov 2018 08:36:52 +0000 (09:36 +0100)]
man: document the details of continuations and comments

5 years agoconf-parser: ignore trailing back-slash in comment
Yu Watanabe [Tue, 6 Nov 2018 04:22:09 +0000 (13:22 +0900)]
conf-parser: ignore trailing back-slash in comment

Fixes #10598.

5 years agorandom-util: optionally allow randomness to be generated via RDRAND
Lennart Poettering [Wed, 7 Nov 2018 18:46:18 +0000 (19:46 +0100)]
random-util: optionally allow randomness to be generated via RDRAND

We only use this when we don't require the best randomness. The primary
usecase for this is UUID generation, as this means we don't drain
randomness from the kernel pool for them. Since UUIDs are usually not
secrets RDRAND should be goot enough for them to avoid real-life
collisions.

5 years agorandom-util: introduce RANDOM_DONT_DRAIN
Lennart Poettering [Wed, 7 Nov 2018 18:31:39 +0000 (19:31 +0100)]
random-util: introduce RANDOM_DONT_DRAIN

Originally, the high_quality_required boolean argument controlled two
things: whether to extend any random data we successfully read with
pseudo-random data, and whether to return -ENODATA if we couldn't read
any data at all.

The boolean got replaced by RANDOM_EXTEND_WITH_PSEUDO, but this name
doesn't really cover the second part nicely. Moreover hiding both
changes of behaviour under a single flag is confusing. Hence, let's
split this part off under a new flag, and use it from random_bytes().

5 years agorandom-util: if zero random bytes are requested we can always fulfill the request
Lennart Poettering [Wed, 7 Nov 2018 18:14:47 +0000 (19:14 +0100)]
random-util: if zero random bytes are requested we can always fulfill the request

5 years agorandom-util: optionally enable blocking getrandom() behaviour
Lennart Poettering [Wed, 7 Nov 2018 18:04:04 +0000 (19:04 +0100)]
random-util: optionally enable blocking getrandom() behaviour

When generating the salt for the firstboot password logic, let's use
getrandom() blocking mode, and insist in the very best entropy.

5 years agorandom-util: change high_quality_required bool parameter into a flags parameter
Lennart Poettering [Wed, 7 Nov 2018 17:40:26 +0000 (18:40 +0100)]
random-util: change high_quality_required bool parameter into a flags parameter

No change in behaviour, just some refactoring.

5 years agorandom-util: fix indentation
Lennart Poettering [Wed, 7 Nov 2018 17:52:41 +0000 (18:52 +0100)]
random-util: fix indentation

5 years agorandom-util: handle if getrandom() returns 0
Lennart Poettering [Wed, 7 Nov 2018 17:37:13 +0000 (18:37 +0100)]
random-util: handle if getrandom() returns 0

This should normally not happen, but given that the man page suggests
something about this in the context of interruption, let's handle this
and propagate an I/O error.

5 years agorandom-util: rename acquire_random_bytes() → genuine_random_bytes()
Lennart Poettering [Wed, 7 Nov 2018 17:27:57 +0000 (18:27 +0100)]
random-util: rename acquire_random_bytes() → genuine_random_bytes()

It's more descriptive, since we also have a function random_bytes()
which sounds very similar.

Also rename pseudorandom_bytes() to pseudo_random_bytes(). This way the
two functions are nicely systematic, one returning genuine random bytes
and the other pseudo random ones.

5 years agoMerge pull request #10682 from yuwata/fix-oss-fuzz-network-issues
Lennart Poettering [Thu, 8 Nov 2018 08:37:35 +0000 (09:37 +0100)]
Merge pull request #10682 from yuwata/fix-oss-fuzz-network-issues

network: fix memleak