Krayushkin Konstantin [Fri, 31 May 2019 08:16:17 +0000 (11:16 +0300)]
coredump: fixed bug - some coredump temp files could be lost
If the machine was suddenly shutted down (hard reboot for example) while
processing core dump, temp files created manually (not with a O_TEMPFILE flag)
stay in the system. After reboot systemd-coredump treat them as usual files, so
they wouldn't be rotated and shall pollute the filesystem.
Solution is to simply add those temp files to systemd-tmpfiles configs.
Zbigniew Jędrzejewski-Szmek [Fri, 31 May 2019 09:38:18 +0000 (11:38 +0200)]
Merge pull request #12707 from yuwata/test-network-lsan-options
test-network: add --lsan-options option
Yu Watanabe [Thu, 30 May 2019 18:30:31 +0000 (03:30 +0900)]
networkctl: do not show zero maximum MTU
Yu Watanabe [Fri, 31 May 2019 04:54:08 +0000 (13:54 +0900)]
test-network: show systemd-networkd.service
As there may exist some other drop-in configs.
Yu Watanabe [Fri, 31 May 2019 00:52:27 +0000 (09:52 +0900)]
test-network: stop service before editing unit file
Yu Watanabe [Thu, 30 May 2019 23:49:48 +0000 (08:49 +0900)]
test-network: add --lsan-options option
Yu Watanabe [Thu, 30 May 2019 23:28:37 +0000 (08:28 +0900)]
Merge pull request #12705 from keszybz/varlink-json-fix-and-two-cleanups
Varlink json fix and two cleanups
Zbigniew Jędrzejewski-Szmek [Thu, 30 May 2019 21:05:31 +0000 (23:05 +0200)]
sd-journal: voidify call
To appease coverity, CID#1400674.
Zbigniew Jędrzejewski-Szmek [Thu, 30 May 2019 20:56:03 +0000 (22:56 +0200)]
networkd: shorter two error statements a bit
Also let's not use a cast if we don't have to.
Zbigniew Jędrzejewski-Szmek [Thu, 30 May 2019 20:49:00 +0000 (22:49 +0200)]
basic/memory-util: do not "return" anything from memzero() macro
The macro is not used in expressions, so we don't need the ternary statement.
Frantisek Sumsal [Thu, 11 Apr 2019 12:34:32 +0000 (14:34 +0200)]
systemctl: process all units matched by a glob in the cat verb by default
Originally, `systemctl cat` would match only active units, for example:
$ systemctl cat sshd.service
would cat the sshd.service unit file even if the service was inactive.
However:
$ systemctl cat ssh*
would show it only if it was active.
Let's unify the behavior and cat all unit files regardless of a state,
if no state was given explicitly to filter.
Zbigniew Jędrzejewski-Szmek [Thu, 30 May 2019 18:36:54 +0000 (20:36 +0200)]
shared/varlink: add missing va_end()
Coverity CID#1401347.
Zbigniew Jędrzejewski-Szmek [Thu, 30 May 2019 17:39:05 +0000 (19:39 +0200)]
Revert "varlink: initialize Varlink with 0"
This reverts commit
8688c29b5aece49805a244676cba5bba0196f509, but leaves the
reproducer. Structured assignment should be enough to fully initialize the
variable and new0 is not necessary.
Yu Watanabe [Thu, 30 May 2019 17:33:10 +0000 (02:33 +0900)]
Merge pull request #12699 from yuwata/test-network-argparse
test-network: make path to networkd or friends configurable
Zbigniew Jędrzejewski-Szmek [Thu, 30 May 2019 16:35:22 +0000 (18:35 +0200)]
shared/varlink: add missing terminator in json strings
Should finally fix oss-fuzz-14688.
8688c29b5aece49805a244676cba5bba0196f509 wasn't enough.
The buffer retrieved from memstream has the size that the same as the written
data. When we write do write(f, s, strlen(s)), then no terminating NUL is written,
and the buffer is not (necessarilly) a proper C string.
Zbigniew Jędrzejewski-Szmek [Tue, 28 May 2019 14:11:55 +0000 (16:11 +0200)]
networkd: rewrite condition to make it easier to understand
Zbigniew Jędrzejewski-Szmek [Tue, 28 May 2019 12:35:20 +0000 (14:35 +0200)]
test-user-util: add simple test for make_salt()
Frantisek Sumsal [Thu, 25 Apr 2019 10:33:25 +0000 (12:33 +0200)]
bash-completion: correctly react to an unescaped unit name
Zbigniew Jędrzejewski-Szmek [Thu, 30 May 2019 12:27:22 +0000 (14:27 +0200)]
Merge pull request #12636 from mbroz/master
Cryptsetup: call crypt_load() once for LUKS and support LUKS2 tokens
Yu Watanabe [Thu, 30 May 2019 11:58:33 +0000 (20:58 +0900)]
networkctl: fix memleak
Closes #12701.
Yu Watanabe [Thu, 30 May 2019 06:49:11 +0000 (15:49 +0900)]
test-network: make the test take ASAN and UBSAN options
Yu Watanabe [Thu, 30 May 2019 03:33:57 +0000 (12:33 +0900)]
test-network: make path to networkd or friends configurable
Michal Sekletar [Thu, 30 May 2019 10:32:53 +0000 (12:32 +0200)]
Merge pull request #12628 from keszybz/dbus-execute
Rework cpu affinity parsing
Yu Watanabe [Thu, 30 May 2019 01:22:18 +0000 (10:22 +0900)]
nspawn: also support ifindex when specifying network interface
Zbigniew Jędrzejewski-Szmek [Thu, 30 May 2019 09:02:03 +0000 (11:02 +0200)]
Merge pull request #12646 from yuwata/networkctl-use-table
networkctl: use Table
Yu Watanabe [Thu, 30 May 2019 01:32:36 +0000 (10:32 +0900)]
dhcp4: use memdup_suffix0() instead of strndup() for binary data
C.f.
ac0a94f7438b49a0890d9806db1fa211a5bca10a.
Fixes #12693.
Felix Riemann [Wed, 29 May 2019 19:17:42 +0000 (21:17 +0200)]
pager: Fix deadlock when using built-in pager
The parent is waiting for an EOF on the pipe transmitting the pager name
before starting to send data. With external pagers this happens due to
execlp() CLOEXEC'ing the pipe, so the internal pager needs to close it
manually.
Roberto Santalla [Sun, 26 May 2019 11:55:30 +0000 (13:55 +0200)]
cryptsetup: Add dependency for detached header
Fixes #12650
cryptsetup: Extract dependency check to a separate function
cryptsetup: style improvements, error checking
Return early on failure/nothing to do
Removed braces from single-line ifs
Check return value of fstab_filter_options
cryptsetup: code style
Evgeny Vereshchagin [Thu, 30 May 2019 01:29:50 +0000 (03:29 +0200)]
tests: skip test-bpf only when we're 100% sure it's run in containers
This is just a follow-up to https://github.com/systemd/systemd/pull/12617.
Evgeny Vereshchagin [Wed, 29 May 2019 20:11:01 +0000 (23:11 +0300)]
Merge pull request #12617 from mbiebl/skip-test-bpf-containers
test-bpf: skip test when run inside containers
Zbigniew Jędrzejewski-Szmek [Wed, 29 May 2019 08:17:43 +0000 (10:17 +0200)]
shared/cpu-set-util: only force range printing one time
The idea is to have at least one range to make the new format clearly
distinguishable from the old. But it is enough to just do it once.
In particular, in case the affinity would be specified like 0, 2, 4, 6…,
this gives much shorter output.
Michal Sekletar [Wed, 22 May 2019 15:14:21 +0000 (17:14 +0200)]
systemctl: present CPUAffinity mask as a list of CPU index ranges
Michal Sekletar [Thu, 23 May 2019 12:27:18 +0000 (14:27 +0200)]
shared/cpu-set-util: introduce cpu_set_to_range()
Zbigniew Jędrzejewski-Szmek [Wed, 29 May 2019 07:44:16 +0000 (09:44 +0200)]
test-cpu-set-util: add test for dbus conversions
Michal Sekletar [Wed, 22 May 2019 11:55:49 +0000 (13:55 +0200)]
shared/cpu-set-util: make transfer of cpu_set_t over bus endian safe
Zbigniew Jędrzejewski-Szmek [Wed, 29 May 2019 10:39:58 +0000 (12:39 +0200)]
Merge pull request #12690 from yuwata/test-network-and-man-netdev
test-network,man: trivial cleanups
Feldwor [Wed, 29 May 2019 08:38:56 +0000 (11:38 +0300)]
hwdb: add axis range corrections for the Asus N53SV
Yu Watanabe [Wed, 29 May 2019 03:07:36 +0000 (12:07 +0900)]
test-network: bump time limit for wait_address()
Maximum time interval of DHCPv4 request is 63sec.
So, setting 100sec is enough.
Lennart Poettering [Wed, 29 May 2019 10:23:13 +0000 (12:23 +0200)]
Merge pull request #12449 from ljmf00/hwdb-accel-location-patch
hwdb: Add support for Teclast F6 Pro base sensor
Zbigniew Jędrzejewski-Szmek [Tue, 28 May 2019 19:40:10 +0000 (21:40 +0200)]
shared/cpu-set-util: drop now-unused cleanup function
Zbigniew Jędrzejewski-Szmek [Tue, 28 May 2019 19:38:41 +0000 (21:38 +0200)]
test-execute: use CPUSet too
cpu_set_malloc() was the last user. It doesn't seem useful to keep
it just to save the allocation of a few hundred bytes in a test, so
it is dropped and a fixed maximum is allocated (1024 bytes).
Zbigniew Jędrzejewski-Szmek [Fri, 24 May 2019 07:41:44 +0000 (09:41 +0200)]
pid1: when reloading configuration, forget old settings
If we had a configuration setting from a configuration file, and it was
removed, we'd still remember the old value, because there's was no mechanism to
"reset" everything, just to assign new values.
Note that the effect of this is limited. For settings that have an "ongoing" effect,
like systemd.confirm_spawn, the new value is simply used. But some settings can only
be set at start.
In particular, CPUAffinity= will be updated if set to a new value, but if
CPUAffinity= is fully removed, it will not be reset, simply because we don't
know what to reset it to. We might have inherited a setting, or we might have
set it ourselves. In principle we could remember the "original" value that was
set when we were executed, but propagate this over reloads and reexecs, but
that would be a lot of work for little gain. So this corner case of removal of
CPUAffinity= is not handled fully, and a reboot is needed to execute the
change. As a work-around, a full mask of CPUAffinity=0-8191 can be specified.
Zbigniew Jędrzejewski-Szmek [Fri, 24 May 2019 06:59:23 +0000 (08:59 +0200)]
pid1: don't reset setting from /proc/cmdline upon restart
We have settings which may be set on the kernel command line, and also
in /proc/cmdline (for pid1). The settings in /proc/cmdline have higher priority
of course. When a reload was done, we'd reload just the configuration file,
losing the overrides.
So read /proc/cmdline again during reload.
Also, when initially reading the configuration file when program starts,
don't treat any errors as fatal. The configuration done in there doesn't
seem important enough to refuse boot.
Zbigniew Jędrzejewski-Szmek [Fri, 24 May 2019 06:35:51 +0000 (08:35 +0200)]
pid1: parse CPUAffinity= in incremental fashion
This makes the handling of this option match what we do in unit files. I think
consistency is important here. (As it happens, it is the only option in
system.conf that is "non-atomic", i.e. where there's a list of things which can
be split over multiple assignments. All other options are single-valued, so
there's no issue of how to handle multiple assignments.)
Zbigniew Jędrzejewski-Szmek [Fri, 24 May 2019 06:50:41 +0000 (08:50 +0200)]
test-cpu-set-util: add a smoke test for test_parse_cpu_set_extend()
Zbigniew Jędrzejewski-Szmek [Tue, 21 May 2019 07:01:34 +0000 (09:01 +0200)]
test-cpu-set-util: add simple test for cpus_in_affinity_mask()
Zbigniew Jędrzejewski-Szmek [Tue, 28 May 2019 19:28:31 +0000 (21:28 +0200)]
Move cpus_in_affinity_mask() to cpu-set-util.[ch]
It just seems to fit better there and it's always better to have things
in shared/ rather than basic/.
Zbigniew Jędrzejewski-Szmek [Tue, 21 May 2019 06:45:19 +0000 (08:45 +0200)]
Rework cpu affinity parsing
The CPU_SET_S api is pretty bad. In particular, it has a parameter for the size
of the array, but operations which take two (CPU_EQUAL_S) or even three arrays
(CPU_{AND,OR,XOR}_S) still take just one size. This means that all arrays must
be of the same size, or buffer overruns will occur. This is exactly what our
code would do, if it received an array of unexpected size over the network.
("Unexpected" here means anything different from what cpu_set_malloc() detects
as the "right" size.)
Let's rework this, and store the size in bytes of the allocated storage area.
The code will now parse any number up to 8191, independently of what the current
kernel supports. This matches the kernel maximum setting for any architecture,
to make things more portable.
Fixes #12605.
Yu Watanabe [Wed, 29 May 2019 08:17:08 +0000 (17:17 +0900)]
man: re-indent systemd.netdev.xml
Yu Watanabe [Wed, 29 May 2019 07:38:08 +0000 (16:38 +0900)]
test-network: drop 25-nlmon.network
Franz Pletz [Thu, 23 May 2019 14:14:10 +0000 (16:14 +0200)]
man: add vrf section
Yu Watanabe [Wed, 29 May 2019 05:18:41 +0000 (14:18 +0900)]
tree-wide: replace if_indextoname() with format_ifname()
Yu Watanabe [Wed, 29 May 2019 05:03:18 +0000 (14:03 +0900)]
util: introduce format_ifname()
Yu Watanabe [Wed, 22 May 2019 20:13:13 +0000 (05:13 +0900)]
networkctl: use Table for 'lldp' command
Yu Watanabe [Wed, 22 May 2019 20:03:42 +0000 (05:03 +0900)]
networkctl: use Table for 'label' command
Yu Watanabe [Wed, 22 May 2019 16:43:21 +0000 (01:43 +0900)]
networkctl: use Table for 'status' command
Yu Watanabe [Wed, 22 May 2019 17:21:17 +0000 (02:21 +0900)]
networkctl: use Table for 'list' command
Yu Watanabe [Fri, 24 May 2019 09:11:13 +0000 (18:11 +0900)]
table: add TABLE_IFINDEX type
Yu Watanabe [Fri, 24 May 2019 09:01:04 +0000 (18:01 +0900)]
table: add more basic types
Yu Watanabe [Thu, 23 May 2019 10:59:06 +0000 (19:59 +0900)]
table: add teble_add_string_cell()
Yu Watanabe [Wed, 29 May 2019 05:20:36 +0000 (14:20 +0900)]
Merge pull request #12687 from yuwata/parse_ifindex_or_ifname
util: introduce parse_ifindex_or_ifname() and use it in networkctl and resolvectl
Yu Watanabe [Wed, 29 May 2019 02:02:09 +0000 (11:02 +0900)]
networkctl: use parse_ifindex_or_ifname()
Yu Watanabe [Wed, 29 May 2019 01:56:55 +0000 (10:56 +0900)]
resolvectl: use parse_ifindex_or_ifname()
Yu Watanabe [Wed, 29 May 2019 04:21:43 +0000 (13:21 +0900)]
util: add assertions
Yu Watanabe [Wed, 29 May 2019 01:43:12 +0000 (10:43 +0900)]
util: introduce parse_ifindex_or_ifname()
Susant Sahani [Wed, 22 May 2019 09:46:41 +0000 (15:16 +0530)]
networkctl: add support to delete virtual netdevs
We now don't have the support to delete netdevs and dependent
upon iproute to delete. With this we can delete via networkctl
and use in our test cases too.
Note that it supports deleting multiple links at once.
```
sudo ./networkctl delete test1 test2 test3 test4
```
Yu Watanabe [Wed, 29 May 2019 01:22:09 +0000 (10:22 +0900)]
Merge pull request #12635 from yuwata/nlmon-support
network: add nlmon support
Yu Watanabe [Wed, 29 May 2019 01:21:31 +0000 (10:21 +0900)]
Merge pull request #12573 from yuwata/network-dhcp-issue-12490
network: set preferred source in removing route entry on address lost
Zach Smith [Thu, 16 May 2019 16:12:41 +0000 (11:12 -0500)]
systemd-sleep: replace rtc wakealarm with CLOCK_BOOTTIME_ALARM s2h
refactor to use timerfd in place of rtc wakealarm
confirm CLOCK_BOOTTIME_ALARM support in can_s2h
Remove CLOCK_BOOTTIME_ALARM task from TODO
remove unnecessary check on clock_supported return
Lennart Poettering [Tue, 28 May 2019 13:06:49 +0000 (15:06 +0200)]
seccomp: add new 5.1 syscall pidfd_send_signal() to filter set list
Lennart Poettering [Fri, 24 May 2019 19:09:07 +0000 (21:09 +0200)]
test: exit cleanly on success
Milan Broz [Mon, 27 May 2019 07:44:14 +0000 (09:44 +0200)]
cryptsetup: Add LUKS2 token support.
LUKS2 supports so-called tokens. The libcryptsetup internally
support keyring token (it tries to open device using specified
keyring entry).
Only if all token fails (or are not available), it uses a passphrase.
This patch aligns the functionality with the cryptsetup utility
(cryptsetup luksOpen tries tokens first) but does not replace
the systemd native ask-password function (can be used the same in
combination with this patch).
Yu Watanabe [Thu, 23 May 2019 02:37:53 +0000 (11:37 +0900)]
test-network: add a basic test for nlmon
Yu Watanabe [Thu, 23 May 2019 02:36:25 +0000 (11:36 +0900)]
network: add nlmon support
nlmon is a Netlink monitor device.
Yu Watanabe [Thu, 23 May 2019 02:27:12 +0000 (11:27 +0900)]
network: add NetDevVTable::generate_mac flag
Milan Broz [Mon, 27 May 2019 07:43:03 +0000 (09:43 +0200)]
cryptsetup: call crypt_load() for LUKS only once
The crypt_load() for LUKS2 can read a quite big area of disk
(metadata area size is configurable and can increase up to megabytes).
This initialization is not needed to be repeated, just use the existing context.
(This patch is also required for the following change.)
Milan Broz [Mon, 27 May 2019 07:27:54 +0000 (09:27 +0200)]
cryptsetup: Do not fallback to PLAIN mapping if LUKS data device set fails.
If crypt_load() for LUKS succeeds, we know that it is a LUKS device.
Failure of data device setting should fail in this case; remapping
as a PLAIN device late could mean data corruption.
(If a user wants to map PLAIN device over a device with LUKS header,
it should be said explicitly with "plain" argument type.)
Also, if there is no explicit PLAIN type requested and crypt device
is already initialized (crypt_data_type() is set), do not run
the initialization again.
Yu Watanabe [Mon, 27 May 2019 20:45:10 +0000 (05:45 +0900)]
network: do not send DHCPRELEASE when CriticalConnection= is enabled
Yu Watanabe [Fri, 24 May 2019 06:43:14 +0000 (15:43 +0900)]
test-network: use wait_online() in NetworkdDHCPServerTests or friends
Yu Watanabe [Fri, 24 May 2019 06:34:19 +0000 (15:34 +0900)]
test-network: move test_domain() to NetworkdNetworkTests class
Yu Watanabe [Fri, 24 May 2019 06:17:41 +0000 (15:17 +0900)]
test-network: rename needlessly long class names
Yu Watanabe [Fri, 24 May 2019 04:59:34 +0000 (13:59 +0900)]
test-network: use wait_online() instead of waiting for 10 seconds
But some tests requires both IPv4 and IPv6 addresses are configured.
Only in that case wait for addresses to be configured.
Yu Watanabe [Fri, 24 May 2019 05:03:07 +0000 (14:03 +0900)]
test-network: drop unused link
Yu Watanabe [Fri, 24 May 2019 04:50:51 +0000 (13:50 +0900)]
test-network: rename link_remove() to remove_links()
Yu Watanabe [Fri, 24 May 2019 04:49:51 +0000 (13:49 +0900)]
test-network: remove routes even on failure
Yu Watanabe [Fri, 24 May 2019 04:44:49 +0000 (13:44 +0900)]
test-network: use setUp() and tearDown() to delete routing policy rule tables
Yu Watanabe [Fri, 24 May 2019 04:39:50 +0000 (13:39 +0900)]
test-network: remove fou ports on failure
Yu Watanabe [Fri, 24 May 2019 04:38:08 +0000 (13:38 +0900)]
test-network: stop dnsmasq before removing links
Yu Watanabe [Fri, 24 May 2019 03:04:59 +0000 (12:04 +0900)]
test-network: warn when firewalld.service is running
Yu Watanabe [Fri, 24 May 2019 02:39:26 +0000 (11:39 +0900)]
test-network: add tests for issue #12490
Yu Watanabe [Fri, 24 May 2019 05:14:12 +0000 (14:14 +0900)]
network: lower log level about critical connection
Yu Watanabe [Fri, 24 May 2019 07:47:47 +0000 (16:47 +0900)]
network: split dhcp_lease_lost() into small pieces
Yu Watanabe [Tue, 28 May 2019 13:14:13 +0000 (22:14 +0900)]
network: set dhcp4_configured flag false before configuring address
Otherwise, even if dhcp_lease_acquired() fails, the flag is still on.
Yu Watanabe [Tue, 28 May 2019 13:13:01 +0000 (22:13 +0900)]
network: reset Link::dhcp4_configured flag earlier
Yu Watanabe [Wed, 15 May 2019 05:55:31 +0000 (14:55 +0900)]
network: set preferred source in removing route entry on address lost
Closes #12490.
Zbigniew Jędrzejewski-Szmek [Tue, 28 May 2019 13:12:20 +0000 (15:12 +0200)]
Merge pull request #12437 from poettering/chmod-and-chown-rewrite
chmod_and_chown() rewrite
Zbigniew Jędrzejewski-Szmek [Tue, 28 May 2019 12:42:55 +0000 (14:42 +0200)]
Merge pull request #12390 from poettering/string-file-mkdir
fileio: add a WRITE_STRING_FILE_MKDIR_0755 flag to write_string_file() that creates parent directories if needed
Zbigniew Jędrzejewski-Szmek [Tue, 28 May 2019 12:36:54 +0000 (14:36 +0200)]
Merge pull request #12392 from poettering/firstboot-salt
generalize crypt_r() salt generation code
Lennart Poettering [Tue, 28 May 2019 12:34:53 +0000 (14:34 +0200)]
Merge pull request #12597 from keszybz/analyze-timestamp
Analyze timestamps
Lennart Poettering [Tue, 28 May 2019 12:28:59 +0000 (14:28 +0200)]
Merge pull request #12682 from keszybz/pull-in-user-targets
rules: enable hardware-related targets also for user instances