platform/upstream/systemd.git
5 years agonspawn: add volatile mode multiplexer call setup_volatile_mode()
Lennart Poettering [Tue, 18 Dec 2018 23:09:57 +0000 (00:09 +0100)]
nspawn: add volatile mode multiplexer call setup_volatile_mode()

Just some refactoring, no change in behaviour.

5 years agonspawn: explicitly refuse mounts over /
Lennart Poettering [Tue, 18 Dec 2018 23:01:22 +0000 (00:01 +0100)]
nspawn: explicitly refuse mounts over /

Previously this would fail later on, but let's filter this out at the
time of parsing.

5 years agojson: don't call va_end() twice in json_build()
Lennart Poettering [Fri, 1 Mar 2019 10:00:06 +0000 (11:00 +0100)]
json: don't call va_end() twice in json_build()

This was apparently left-over when json_buildv() was added, and
json_build() just became a wrapper for it.

5 years agosemaphoreci: Run subset of autopkgtests in LXC (#11814)
Martin Pitt [Fri, 1 Mar 2019 09:01:09 +0000 (10:01 +0100)]
semaphoreci: Run subset of autopkgtests in LXC (#11814)

Run build/test in LXC for now, as full nested QEMU is too brittle right
now: https://github.com/semaphoreci/semaphore/issues/37
But this at least runs some tests. It ensures that systemd generally
works in containers, as well as provides some backup results if the main
Ubuntu CI is down.

5 years agoMerge pull request #11852 from keszybz/coverity-memory-issues
Lennart Poettering [Thu, 28 Feb 2019 18:04:04 +0000 (19:04 +0100)]
Merge pull request #11852 from keszybz/coverity-memory-issues

Two small fixes for memory issues found by coverity

5 years agoMerge pull request #11856 from xtopherwong/new-time-zone-list
Lennart Poettering [Thu, 28 Feb 2019 17:57:26 +0000 (18:57 +0100)]
Merge pull request #11856 from xtopherwong/new-time-zone-list

Use new time zone list

5 years agoMerge pull request #11857 from rossburton/acrn
Lennart Poettering [Thu, 28 Feb 2019 17:56:48 +0000 (18:56 +0100)]
Merge pull request #11857 from rossburton/acrn

virt: detect the ACRN hypervisor

5 years agoMerge pull request #11834 from martinpitt/network-test-fixes
Zbigniew Jędrzejewski-Szmek [Thu, 28 Feb 2019 16:48:41 +0000 (17:48 +0100)]
Merge pull request #11834 from martinpitt/network-test-fixes

networkd-test fix/improvement

5 years agoman: add ACRN hypervisor
Ross Burton [Thu, 28 Feb 2019 15:36:50 +0000 (15:36 +0000)]
man: add ACRN hypervisor

5 years agoBetter C code formatting of arguments in Emacs
Jörg Sommer [Thu, 28 Feb 2019 14:53:40 +0000 (15:53 +0100)]
Better C code formatting of arguments in Emacs

In [PR#11696][1] it came up that the formatting of continued arguments should
follow the default Emacs style. To ensure this happens when someone has changed
his setting in her private config, the value should be set by *dir-locals.el*.

[1]: https://github.com/systemd/systemd/pull/11696#pullrequestreview-205463987

5 years agoMerge pull request #11853 from keszybz/man-rules-update
Lennart Poettering [Thu, 28 Feb 2019 15:17:59 +0000 (16:17 +0100)]
Merge pull request #11853 from keszybz/man-rules-update

man/rules update

5 years agovirt: detect the ACRN hypervisor
Ross Burton [Wed, 30 Jan 2019 16:40:41 +0000 (16:40 +0000)]
virt: detect the ACRN hypervisor

Add magic string and enumeration for the ACRN hypervisor
(https://projectacrn.org).

5 years agotest-time-util: use standard intro and print timezones read from file
Zbigniew Jędrzejewski-Szmek [Thu, 28 Feb 2019 14:38:16 +0000 (15:38 +0100)]
test-time-util: use standard intro and print timezones read from file

The asserts are OK, but it's also nice to see the list by eye.

5 years agoREADME: mention that we need tzdata >= 2014f
Zbigniew Jędrzejewski-Szmek [Thu, 28 Feb 2019 14:37:06 +0000 (15:37 +0100)]
README: mention that we need tzdata >= 2014f

zone1970.tab was added in that version. Not that it makes sense to use
outdata timezone tables, but people do strange things.

C.f. https://github.com/nodatime/nodatime/issues/319.

5 years agoman/shutdown: Fix grammar
Theo Ouzhinski [Thu, 28 Feb 2019 13:42:28 +0000 (08:42 -0500)]
man/shutdown: Fix grammar

5 years agoUse new time zone list
Christopher Wong [Thu, 28 Feb 2019 13:22:42 +0000 (14:22 +0100)]
Use new time zone list

When systemd retrieve the time zone it read what is in the file
/usr/share/zoneinfo/zone.tab provided by the Time Zone Database.
According to the comments in zone.tab its content is for backward-
compatibility aid for older programs. New programs should use
zone1970.tab. This patch replaces zone.tab with zone1970.tab.

5 years agosd-bus: deal with cookie overruns
Lennart Poettering [Mon, 25 Feb 2019 10:02:46 +0000 (11:02 +0100)]
sd-bus: deal with cookie overruns

Apparently this happens IRL. Let's carefully deal with issues like this:
when we overrun, let's not go back to zero but instead leave the highest
cookie bit set. We use that as indication that we are in "overrun
territory", and then are particularly careful with checking cookies,
i.e. that they haven't been used for still outstanding replies yet. This
should retain the quick cookie generation behaviour we used to have, but
permits dealing with overruns.

Replaces: #11804
Fixes: #11809

5 years agoman: create .so links for sd_bus_close_{unref,unrefp}
Zbigniew Jędrzejewski-Szmek [Thu, 28 Feb 2019 12:09:58 +0000 (13:09 +0100)]
man: create .so links for sd_bus_close_{unref,unrefp}

Follow-up for bd62b7448623fbe36665e089977731efb55524c0.

5 years agomeson: remove workaround for old meson bug with command quoting
Zbigniew Jędrzejewski-Szmek [Thu, 28 Feb 2019 12:06:52 +0000 (13:06 +0100)]
meson: remove workaround for old meson bug with command quoting

Those bugs were fixed a long time ago. Let's take advantage of this and use the
usual $() syntax.

5 years agoMerge pull request #11840 from yuwata/network-route-onlink
Lennart Poettering [Thu, 28 Feb 2019 11:02:08 +0000 (12:02 +0100)]
Merge pull request #11840 from yuwata/network-route-onlink

network: enable GatewayOnLink= if no static address is configured

5 years agoudev-builtin-usb_id: guard against overflow when reading descriptor data
Zbigniew Jędrzejewski-Szmek [Thu, 28 Feb 2019 10:57:51 +0000 (11:57 +0100)]
udev-builtin-usb_id: guard against overflow when reading descriptor data

CID#996458. Coverity warns that we trust desc->bLength as read in
the input data to adjust our position in the buffer. This value could
be anything, leading to overflow. It's unlikely that the kernel feeds
us invalid data, but let's me more careful.

If any error is encountered, more logs are given.

5 years agoudev-builtin-usb_id: use strjoina to simplify code
Zbigniew Jędrzejewski-Szmek [Thu, 28 Feb 2019 10:40:44 +0000 (11:40 +0100)]
udev-builtin-usb_id: use strjoina to simplify code

5 years agoshared/install: do not use a temporary variable outside of its scope
Zbigniew Jędrzejewski-Szmek [Thu, 28 Feb 2019 10:29:38 +0000 (11:29 +0100)]
shared/install: do not use a temporary variable outside of its scope

Coverity says:
> Pointer to local outside scope (RETURN_LOCAL)9.
> use_invalid: Using dirs, which points to an out-of-scope temporary variable of type char const *[5].

And indeed, the switch statement forms a scope. Let's use an if to
avoid creating a scope.

5 years agofuzz: do not assume the existence of /sys/class/net/lo
Yu Watanabe [Thu, 28 Feb 2019 05:02:33 +0000 (14:02 +0900)]
fuzz: do not assume the existence of /sys/class/net/lo

Hopefully fixes oss-fuzz#13440.

5 years agonetwork: wrap long lines
Yu Watanabe [Thu, 28 Feb 2019 01:57:20 +0000 (10:57 +0900)]
network: wrap long lines

5 years agonetwork: simplify config_parse_lifetime()
Yu Watanabe [Thu, 28 Feb 2019 01:56:33 +0000 (10:56 +0900)]
network: simplify config_parse_lifetime()

5 years agonetwork: avoid address section freed
Yu Watanabe [Thu, 28 Feb 2019 01:54:17 +0000 (10:54 +0900)]
network: avoid address section freed

Otherwise, if HomeAddress= or friends are specified at the first line of
a section, then its assignment will be ignored.

5 years agonetwork: cleanup logging in route related config parsers
Yu Watanabe [Thu, 28 Feb 2019 01:39:14 +0000 (10:39 +0900)]
network: cleanup logging in route related config parsers

5 years agonetwork: do not override previously specified family
Yu Watanabe [Thu, 28 Feb 2019 01:37:58 +0000 (10:37 +0900)]
network: do not override previously specified family

5 years agotest-network: add testcase for #1850
Yu Watanabe [Wed, 27 Feb 2019 10:10:47 +0000 (19:10 +0900)]
test-network: add testcase for #1850

5 years agonetwork: enable GatewayOnLink= if Gateway= without static address configured
Yu Watanabe [Wed, 27 Feb 2019 09:41:49 +0000 (18:41 +0900)]
network: enable GatewayOnLink= if Gateway= without static address configured

And warn about that.

But this only done if GatewayOnLink= is not specified. When it is
explicitly disabled, then the flag will not be set.

5 years agonetwork: save GatewayOnLink= value as tristate in Route
Yu Watanabe [Thu, 28 Feb 2019 01:10:38 +0000 (10:10 +0900)]
network: save GatewayOnLink= value as tristate in Route

This should not change any behavior. But used in the later commit.

5 years agonetwork: relax the .network file check
Yu Watanabe [Wed, 27 Feb 2019 09:22:40 +0000 (18:22 +0900)]
network: relax the .network file check

Previously, if a .networ file contains invalid [Address] or [Route]
section, then the file is completely dropped. This makes networkd
just drops invalid sections.

5 years agonetwork: rename GatewayOnlink= to GatewayOnLink=
Yu Watanabe [Wed, 27 Feb 2019 08:43:08 +0000 (17:43 +0900)]
network: rename GatewayOnlink= to GatewayOnLink=

But still GatewayOnlink= is supported for backward compatibility.

5 years agonetworkd-test: ignore failures of test_route_only_dns* in containers
Martin Pitt [Wed, 27 Feb 2019 22:15:31 +0000 (23:15 +0100)]
networkd-test: ignore failures of test_route_only_dns* in containers

This test exposes a race condition when running in LXC, see issue #11848
for details. Until that is understood and fixed, skip the test as it's
not a recent regression.

5 years agonetworkd-test: specify Address= with prefix length
Martin Pitt [Tue, 26 Feb 2019 22:05:05 +0000 (23:05 +0100)]
networkd-test: specify Address= with prefix length

This avoids a warning:

    An address '192.168.42.100' is specified without prefix length. The
    behavior of parsing addresses without prefix length will be changed
    in the future release. Please specify prefix length explicitly.

5 years agonetworkd-test: show service journal on startup failure
Martin Pitt [Tue, 26 Feb 2019 22:03:35 +0000 (23:03 +0100)]
networkd-test: show service journal on startup failure

This provides easier evaluation of failed tests.

5 years agoMerge pull request #11795 from yuwata/fix-network-routing-policy-11280
Lennart Poettering [Wed, 27 Feb 2019 17:43:56 +0000 (18:43 +0100)]
Merge pull request #11795 from yuwata/fix-network-routing-policy-11280

network: fix routing policy rule issue #11280

5 years agojournalctl: New option --cursor-file
Jörg Sommer [Mon, 11 Feb 2019 23:19:13 +0000 (00:19 +0100)]
journalctl: New option --cursor-file

The option cursor-file takes a filename as argument. If the file exists and
contains a valid cursor, this is used to start the output after this position.
At the end, the last cursor gets written to the file.

This allows for an easy implementation of a timer that regularly looks in the
journal for some messages.

    journalctl --cursor-file err-cursor -b -p err
    journalctl --cursor-file audit-cursor -t audit --grep DENIED

Or you might want to walk the journal in steps of 10 messages:

    journalctl --cursor-file ./curs -n10 --since=today -t systemd

5 years agoMerge pull request #11844 from keszybz/networkd-fuzzer-fixes
Lennart Poettering [Wed, 27 Feb 2019 16:45:55 +0000 (17:45 +0100)]
Merge pull request #11844 from keszybz/networkd-fuzzer-fixes

Networkd fuzzer fixes

5 years agoMerge pull request #11807 from yuwata/test-vlan-mtu
Zbigniew Jędrzejewski-Szmek [Wed, 27 Feb 2019 16:15:29 +0000 (17:15 +0100)]
Merge pull request #11807 from yuwata/test-vlan-mtu

network: increase MTU if VLAN= or MACVLAN= requests higher value

5 years agoanalyze security: check for ProtectHostname=yes
Topi Miettinen [Wed, 27 Feb 2019 13:26:43 +0000 (15:26 +0200)]
analyze security: check for ProtectHostname=yes

5 years agonetworkd: refuse more than 128 NTP servers
Zbigniew Jędrzejewski-Szmek [Wed, 27 Feb 2019 13:45:29 +0000 (14:45 +0100)]
networkd: refuse more than 128 NTP servers

This test case is a bit silly, but it shows that our code is unprepared to
handle so many network servers, with quadratic complexity in various places.
I don't think there are any valid reasons to have hundres of NTP servers
configured, so let's just emit a warning and cut the list short.

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13354

5 years agonetworkd: fix memleak when the same NetDev is specified twice
Zbigniew Jędrzejewski-Szmek [Wed, 27 Feb 2019 13:15:29 +0000 (14:15 +0100)]
networkd: fix memleak when the same NetDev is specified twice

hashmap_put() returns 0 if the (key, value) pair is already present in the
hashmap, and -EEXIST if the key exists, but the value is different.

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13433

5 years agonetwork: wrap some long lines
Zbigniew Jędrzejewski-Szmek [Wed, 27 Feb 2019 12:34:51 +0000 (13:34 +0100)]
network: wrap some long lines

5 years agoselinux: don't log SELINUX_INFO and SELINUX_WARNING messages to audit
Michal Sekletar [Tue, 26 Feb 2019 16:33:27 +0000 (17:33 +0100)]
selinux: don't log SELINUX_INFO and SELINUX_WARNING messages to audit

Previously we logged even info message from libselinux as USER_AVC's to
audit. For example, setting SELinux to permissive mode generated
following audit message,

time->Tue Feb 26 11:29:29 2019
type=USER_AVC msg=audit(1551198569.423:334): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='avc:  received setenforce notice (enforcing=0)  exe="/usr/lib/systemd/systemd" sauid=0 hostname=? addr=? terminal=?'

This is unnecessary and wrong at the same time. First, kernel already
records audit event that SELinux was switched to permissive mode, also
the type of the message really shouldn't be USER_AVC.

Let's ignore SELINUX_WARNING and SELINUX_INFO and forward to audit only
USER_AVC's and errors as these two libselinux message types have clear
mapping to audit message types.

5 years agoman: clarify whitespace handling in systemd.syntax
Davide Cavalca [Tue, 26 Feb 2019 21:08:02 +0000 (16:08 -0500)]
man: clarify whitespace handling in systemd.syntax

5 years agoMerge pull request #11837 from yuwata/network-tiny-cleanups
Lennart Poettering [Wed, 27 Feb 2019 10:26:47 +0000 (11:26 +0100)]
Merge pull request #11837 from yuwata/network-tiny-cleanups

network: tiny cleanups

5 years agotest-network: add testcase for issue #11280
Yu Watanabe [Fri, 22 Feb 2019 03:28:51 +0000 (12:28 +0900)]
test-network: add testcase for issue #11280

5 years agotest-network: drop relevant ip routing policy rules before testing
Yu Watanabe [Wed, 27 Feb 2019 10:22:27 +0000 (19:22 +0900)]
test-network: drop relevant ip routing policy rules before testing

5 years agonetwork: fix error code in log
Yu Watanabe [Wed, 27 Feb 2019 04:54:13 +0000 (13:54 +0900)]
network: fix error code in log

5 years agonetwork: merge conditions and use FLAGS_SET() macro
Yu Watanabe [Tue, 26 Feb 2019 05:36:07 +0000 (14:36 +0900)]
network: merge conditions and use FLAGS_SET() macro

5 years agonetwork: make ndisc_router_process_options() propagate error
Yu Watanabe [Tue, 26 Feb 2019 05:34:25 +0000 (14:34 +0900)]
network: make ndisc_router_process_options() propagate error

And its caller ignore the error.

5 years agofs-util: add missing linux/falloc.h include
Davide Cavalca [Tue, 26 Feb 2019 21:09:40 +0000 (16:09 -0500)]
fs-util: add missing linux/falloc.h include

5 years agonetwork: do not remove rule when it is requested by existing links
Yu Watanabe [Fri, 22 Feb 2019 04:32:47 +0000 (13:32 +0900)]
network: do not remove rule when it is requested by existing links

Otherwise, the first link once removes all saved rules in the foreign
rule database, and the second or later links create again...

5 years agonetwork: remove routing policy rule from foreign rule database when it is removed
Yu Watanabe [Fri, 22 Feb 2019 04:27:44 +0000 (13:27 +0900)]
network: remove routing policy rule from foreign rule database when it is removed

Previously, When the first link configures rules, it removes all saved
rules, which were configured by networkd previously, in the foreign rule
database, but the rules themselves are still in the database.
Thus, when the second or later link configures rules, it errnously
treats the rules already exist.
This is the root of issue #11280.

This removes rules from the foreign database when they are removed.

Fixes #11280.

5 years agotest-network: add test for MTUBytes= in vlan or macvlan devices
Yu Watanabe [Sat, 23 Feb 2019 10:25:01 +0000 (19:25 +0900)]
test-network: add test for MTUBytes= in vlan or macvlan devices

5 years agonetwork: bump mtu if stacked vlan or macvlan requests larger size
Yu Watanabe [Wed, 27 Feb 2019 00:57:16 +0000 (09:57 +0900)]
network: bump mtu if stacked vlan or macvlan requests larger size

Closes #5972.

5 years agoMerge pull request #11824 from keszybz/fuzzer-fixes
Lennart Poettering [Tue, 26 Feb 2019 18:02:12 +0000 (19:02 +0100)]
Merge pull request #11824 from keszybz/fuzzer-fixes

Fuzzer fixes

5 years agoMerge pull request #11827 from keszybz/pkgconfig-variables
Lennart Poettering [Tue, 26 Feb 2019 17:58:03 +0000 (18:58 +0100)]
Merge pull request #11827 from keszybz/pkgconfig-variables

Allow overriding pkgconfig prefixes

5 years agoMerge pull request #11357 from GiacintoCifelli/dbus_labels
Lennart Poettering [Tue, 26 Feb 2019 16:22:04 +0000 (17:22 +0100)]
Merge pull request #11357 from GiacintoCifelli/dbus_labels

sd-bus: add methods and signals parameter names

5 years agoMerge pull request #11823 from keszybz/more-fuzz-coverage
Lennart Poettering [Tue, 26 Feb 2019 16:21:32 +0000 (17:21 +0100)]
Merge pull request #11823 from keszybz/more-fuzz-coverage

More fuzz coverage

5 years agofuzz-ndisc-rs: avoid assertion failure on samples which dont fit in pipe
Zbigniew Jędrzejewski-Szmek [Tue, 26 Feb 2019 12:12:53 +0000 (13:12 +0100)]
fuzz-ndisc-rs: avoid assertion failure on samples which dont fit in pipe

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11605.

5 years agofuzz-lldp: avoid assertion failure on samples which dont fit in pipe
Zbigniew Jędrzejewski-Szmek [Tue, 26 Feb 2019 12:12:53 +0000 (13:12 +0100)]
fuzz-lldp: avoid assertion failure on samples which dont fit in pipe

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11603.

5 years agofuzz-journal-stream: avoid assertion failure on samples which don't fit in pipe
Zbigniew Jędrzejewski-Szmek [Tue, 26 Feb 2019 12:00:35 +0000 (13:00 +0100)]
fuzz-journal-stream: avoid assertion failure on samples which don't fit in pipe

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11587.
We had a sample which was large enough that write(2) failed to push all the
data into the pipe, and an assert failed. The code could be changed to use
a loop, but then we'd need to interleave writes and sd_event_run (to process
the journal). I don't think the complexity is worth it — fuzzing works best
if the sample is not too huge anyway. So let's just reject samples above 64k,
and tell oss-fuzz about this limit.

5 years agosd-bus: add methods and signals parameter names. Fixes: #1564
Giacinto Cifelli [Tue, 8 Jan 2019 11:14:37 +0000 (12:14 +0100)]
sd-bus: add methods and signals parameter names. Fixes: #1564

5 years agoshared/ask-password-api: when echoing multi-byte characters, print the whole sequence
Zbigniew Jędrzejewski-Szmek [Tue, 26 Feb 2019 11:43:07 +0000 (12:43 +0100)]
shared/ask-password-api: when echoing multi-byte characters, print the whole sequence

This is untested, but I don't see how the previous code could have worked
for multibyte characters (with echo on).

5 years agobasic/utf8: do not read past end of string when looking for a multi-byte character
Zbigniew Jędrzejewski-Szmek [Tue, 26 Feb 2019 11:37:40 +0000 (12:37 +0100)]
basic/utf8: do not read past end of string when looking for a multi-byte character

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=9341.

5 years agobasic/utf8: change type of function to emphasize that it only looks at one character
Zbigniew Jędrzejewski-Szmek [Tue, 26 Feb 2019 11:17:12 +0000 (12:17 +0100)]
basic/utf8: change type of function to emphasize that it only looks at one character

5 years agoMerge pull request #11822 from yuwata/fuzz-udev-database
Lennart Poettering [Tue, 26 Feb 2019 09:26:38 +0000 (10:26 +0100)]
Merge pull request #11822 from yuwata/fuzz-udev-database

fuzz: add fuzzer for udev database

5 years agocore: consider non-SERVICE_EXEC_START commands for EXIT_CLEAN_COMMAND
Anita Zhang [Thu, 21 Feb 2019 18:37:40 +0000 (10:37 -0800)]
core: consider non-SERVICE_EXEC_START commands for EXIT_CLEAN_COMMAND

When there are multiple ExecStop= statements, the next command would continue
to run even after TimeoutStopSec= is up and sends SIGTERM. This is because,
unless Type= is oneshot, the exit code/status would evaluate to SERVICE_SUCCESS
in service_sigchld_event()'s call to is_clean_exit(). This success indicates
following commands would continue running until the end of the list
is reached, or another timeout is hit and SIGKILL is sent.

Since long running processes should not be invoked in non-SERVICE_EXEC_START
commands, consider them for EXIT_CLEAN_COMMAND instead of EXIT_CLEAN_DAEMON.
Passing EXIT_CLEAN_COMMAND to is_clean_exit() evaluates the SIGTERM exit
code/status to failure and will stop execution after the first timeout is hit.

Fixes #11431

5 years agoMerge pull request #11780 from yuwata/fix-4211
Zbigniew Jędrzejewski-Szmek [Tue, 26 Feb 2019 07:31:32 +0000 (08:31 +0100)]
Merge pull request #11780 from yuwata/fix-4211

network: skip .network files earlier when conditions do not match system environment

5 years agofuzz: add a sample for fuzz-udev-database
Yu Watanabe [Tue, 26 Feb 2019 04:21:13 +0000 (13:21 +0900)]
fuzz: add a sample for fuzz-udev-database

5 years agofuzz: add fuzzer for udev database
Yu Watanabe [Tue, 26 Feb 2019 04:10:31 +0000 (13:10 +0900)]
fuzz: add fuzzer for udev database

5 years agosd-device: split device_read_db_internal() into two part
Yu Watanabe [Tue, 26 Feb 2019 03:55:40 +0000 (12:55 +0900)]
sd-device: split device_read_db_internal() into two part

The new device_read_db_internal_filename() will be used by a fuzzer.

5 years agocryptsetup: Treat key file errors as a failed password attempt
Ryan Gonzalez [Sat, 23 Feb 2019 05:45:03 +0000 (23:45 -0600)]
cryptsetup: Treat key file errors as a failed password attempt

6f177c7dc092eb68762b4533d41b14244adb2a73 caused key file errors to immediately fail, which would make it hard to correct an issue due to e.g. a crypttab typo or a damaged key file.

Closes #11723.

5 years agonetwork: assign Network::manager when it is listed to the manager object.
Yu Watanabe [Fri, 22 Feb 2019 00:38:19 +0000 (09:38 +0900)]
network: assign Network::manager when it is listed to the manager object.

Now Network::manager is not necessary during parsing configs.

C.f. 838b2f7a30dbb68f4d6939626a165b313cc94542.

5 years agonetwork: make resolving NetDev names delayed and moved to network_verify()
Yu Watanabe [Thu, 21 Feb 2019 07:40:34 +0000 (16:40 +0900)]
network: make resolving NetDev names delayed and moved to network_verify()

And before resolving NetDev names, check conditions in .network,
and if they do not match the system environment, drop the network
unit earlier.

Fixes #4211.

5 years agonetwork: add debug log when conditions do not match system environment
Yu Watanabe [Thu, 21 Feb 2019 07:41:47 +0000 (16:41 +0900)]
network: add debug log when conditions do not match system environment

5 years agoMerge pull request #11767 from yuwata/network-bridge-enslaved
Lennart Poettering [Mon, 25 Feb 2019 18:29:30 +0000 (19:29 +0100)]
Merge pull request #11767 from yuwata/network-bridge-enslaved

network: extend 'enslaved' state to bridge slave

5 years agomeson: declare version.h as dependency for systemd
Michael Olbrich [Mon, 25 Feb 2019 10:59:23 +0000 (11:59 +0100)]
meson: declare version.h as dependency for systemd

This is a followup to #11815 and adds the last missing dependency.
With this #11565 is hopefully really fixed.

5 years agofuzz-unit-file: also run manager_dump()
Zbigniew Jędrzejewski-Szmek [Mon, 25 Feb 2019 14:45:13 +0000 (15:45 +0100)]
fuzz-unit-file: also run manager_dump()

This should increase coverage a bit.

5 years agofuzz-unit-file: add some directives for stuff coverage reports as not covered
Zbigniew Jędrzejewski-Szmek [Mon, 25 Feb 2019 14:37:40 +0000 (15:37 +0100)]
fuzz-unit-file: add some directives for stuff coverage reports as not covered

Some of those directives appear in the corpus, but without arguments, so maybe
the fuzzing libraries can't trigger the right cases. Let's help them.

5 years agoMerge pull request #11798 from keszybz/mem-sanitizer-fix
Lennart Poettering [Mon, 25 Feb 2019 12:50:56 +0000 (13:50 +0100)]
Merge pull request #11798 from keszybz/mem-sanitizer-fix

meson: make sure preprocesor warnings are not treated as errors

5 years agomeson: declare version.h as dep for various targets that include build.h
Zbigniew Jędrzejewski-Szmek [Sun, 24 Feb 2019 21:49:38 +0000 (22:49 +0100)]
meson: declare version.h as dep for various targets that include build.h

Should fix #11565.

5 years agotest-json: use standard test intro
Zbigniew Jędrzejewski-Szmek [Fri, 22 Feb 2019 11:05:49 +0000 (12:05 +0100)]
test-json: use standard test intro

5 years agotest-json: avoid deep stack recursion under msan
Zbigniew Jędrzejewski-Szmek [Fri, 22 Feb 2019 11:05:24 +0000 (12:05 +0100)]
test-json: avoid deep stack recursion under msan

5 years agotest-mountpoint-util: unpoison string allocated by sscanf %ms
Zbigniew Jędrzejewski-Szmek [Fri, 22 Feb 2019 12:23:57 +0000 (13:23 +0100)]
test-mountpoint-util: unpoison string allocated by sscanf %ms

5 years agoAdd wrapper for __msan_unpoinson() to reduce #ifdeffery
Zbigniew Jędrzejewski-Szmek [Fri, 22 Feb 2019 12:07:00 +0000 (13:07 +0100)]
Add wrapper for __msan_unpoinson() to reduce #ifdeffery

This isn't really necessary for the subsequent commit, but I expect that we'll
need to unpoison more often once we turn on msan in CI, so I think think this
change makes sense in the long run.

5 years agomeson: make sure preprocesor warnings are not treated as errors
Zbigniew Jędrzejewski-Szmek [Fri, 22 Feb 2019 10:20:18 +0000 (11:20 +0100)]
meson: make sure preprocesor warnings are not treated as errors

Clang includes -W#warning in -Werror, so the #warning used for msan would
be an error.

v2:
- use -Wno-error=... so that the warning is still emitted, but not as an error.

5 years agoMerge pull request #11796 from yuwata/fuzz-link-parser
Zbigniew Jędrzejewski-Szmek [Mon, 25 Feb 2019 08:55:02 +0000 (09:55 +0100)]
Merge pull request #11796 from yuwata/fuzz-link-parser

fuzz: add fuzzer for .link files

5 years agotools: check all directives even if it detects non-updated files
Yu Watanabe [Fri, 22 Feb 2019 09:00:54 +0000 (18:00 +0900)]
tools: check all directives even if it detects non-updated files

5 years agotools: update check-directives.sh to support fuzz-link-parser
Yu Watanabe [Fri, 22 Feb 2019 05:47:36 +0000 (14:47 +0900)]
tools: update check-directives.sh to support fuzz-link-parser

5 years agofuzz: add directives.link and 99-default.link for fuzz-link-parser
Yu Watanabe [Fri, 22 Feb 2019 05:45:46 +0000 (14:45 +0900)]
fuzz: add directives.link and 99-default.link for fuzz-link-parser

Also adds several reproducers of errors fixed in earlier commits.

5 years agofuzz: add fuzzer for parsing .link files
Yu Watanabe [Fri, 22 Feb 2019 05:28:08 +0000 (14:28 +0900)]
fuzz: add fuzzer for parsing .link files

This also renames load_link() to link_load_one()

5 years agofuzz: use fflush() and drop unnecessary rewind()
Yu Watanabe [Mon, 25 Feb 2019 03:02:17 +0000 (12:02 +0900)]
fuzz: use fflush() and drop unnecessary rewind()

5 years agoudev/ethtool: fix error detection of ethtool_link_mode_bit_from_string()
Yu Watanabe [Mon, 25 Feb 2019 03:35:40 +0000 (12:35 +0900)]
udev/ethtool: fix error detection of ethtool_link_mode_bit_from_string()

5 years agoudev: fix memleak in conditions for .link file
Yu Watanabe [Fri, 22 Feb 2019 06:16:47 +0000 (15:16 +0900)]
udev: fix memleak in conditions for .link file

5 years agoudev/net: drop .link files earlier when their conditions do not match system environment
Yu Watanabe [Mon, 25 Feb 2019 02:54:50 +0000 (11:54 +0900)]
udev/net: drop .link files earlier when their conditions do not match system environment

5 years agoudev/net: use structured initializer at one more place
Yu Watanabe [Mon, 25 Feb 2019 02:53:57 +0000 (11:53 +0900)]
udev/net: use structured initializer at one more place