]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
4 years agotree-wide: make parse_ifindex simply return the index
Zbigniew Jędrzejewski-Szmek [Wed, 18 Dec 2019 12:54:13 +0000 (13:54 +0100)] 
tree-wide: make parse_ifindex simply return the index

We don't need a seperate output parameter that is of type int.  glibc() says
that the type is "unsigned", but the kernel thinks it's "int".  And the
"alternative names" interface also uses ints. So let's standarize on ints,
since it's clearly not realisitic to have interface numbers in the upper half
of unsigned int range.

4 years agoinitctl: (void)ify epoll_ctl()
Anita Zhang [Fri, 10 Jan 2020 08:29:11 +0000 (00:29 -0800)] 
initctl: (void)ify epoll_ctl()
CID 996298

4 years agoMerge pull request #14534 from poettering/cgroup-sibling-fix
Anita Zhang [Fri, 10 Jan 2020 07:57:39 +0000 (23:57 -0800)] 
Merge pull request #14534 from poettering/cgroup-sibling-fix

core: fix re-realization of cgroup siblings

4 years agoMerge pull request #13927 from ddstreet/ll_no
Yu Watanabe [Fri, 10 Jan 2020 06:44:44 +0000 (15:44 +0900)] 
Merge pull request #13927 from ddstreet/ll_no

networkd: set addr_gen_mode and check for tentative ipv6ll before dro…

4 years agoformat-table: allow forcing arbitrary width tables
Lennart Poettering [Thu, 9 Jan 2020 17:24:00 +0000 (18:24 +0100)] 
format-table: allow forcing arbitrary width tables

Useful for implementing systemctl's --full.

See #14470

4 years agoMerge pull request #14527 from poettering/socket-state-fix
Anita Zhang [Fri, 10 Jan 2020 01:10:48 +0000 (17:10 -0800)] 
Merge pull request #14527 from poettering/socket-state-fix

core: propagate service state to socket in more load states

4 years agotest-network: simplify wait_online() by calling wait_operstate() 13927/head
Dan Streetman [Wed, 8 Jan 2020 12:32:19 +0000 (07:32 -0500)] 
test-network: simplify wait_online() by calling wait_operstate()

The wait_operstate() function now rechecks the condition for a timeout,
so the wait_online() function can simply call it to check for the
setup_state.

4 years agotest-network: convert wait_operstate() to recheck condition for timeout seconds
Dan Streetman [Wed, 8 Jan 2020 12:28:29 +0000 (07:28 -0500)] 
test-network: convert wait_operstate() to recheck condition for timeout seconds

Failing after a single check leads to extra sleeps scattered through
test cases, and can also lead to false failures.  Instead perform a
recheck for a number of seconds until the state matches, and fail only
if the timeout is exceeded.

This allows removing all the manual sleeps in the testcases.

4 years agotest-network: rename check_operstate() to wait_operstate()
Dan Streetman [Wed, 8 Jan 2020 12:25:16 +0000 (07:25 -0500)] 
test-network: rename check_operstate() to wait_operstate()

Rename only, no functional change; this makes following patches easier
to read.

4 years agonetwork: drop foreign config after addr_gen_mode has been set
Dan Streetman [Mon, 6 Jan 2020 21:35:28 +0000 (16:35 -0500)] 
network: drop foreign config after addr_gen_mode has been set

Interfaces may come up at any time, even during our initialization of
them, for various reasons; e.g. the kernel will raise VLAN when its
parent is raised; or we will raise an interface if configured with
BindCarrier and its associated interfaces come up.

When LinkLocalAddressing has been disabled for ipv6, we disable
addr_gen_mode in the kernel, so it will not automatically create a
ipv6ll address when the interface is raised.  However, we currently
drop all foreign addresses before disabling addr_gen_mode.

If the link has been up for a long time, then its kernel-created ipv6ll
address will be correctly dropped.  If the link is down, and stays
down until we raise it after finishing configuration, the addr_gen_mode
setting will be disabled when the interface is raised and the kernel
will not create any ipv6ll address.

However, if the interface is raised after dropping foreign config,
but before we have disabled addr_gen_mode, the kernel will create a
ipv6ll tentative address that will eventually finish DAD and become a
working ipv6ll address, even though we have been configured to disable
ipv6ll.

Moving our call to drop foreign addresses to after we have successfully
set addr_gen_mode closes this window; after we disable addr_gen_mode,
we can safely remove foreign ipv6ll addresses (including tentative ones)
and be sure that the kernel will not create any more.

Fixes: #13882.
4 years agonetwork: if ipv6ll is disabled, enumerate tentative ipv6 addrs before dropping foreig...
Dan Streetman [Sat, 4 Jan 2020 23:41:18 +0000 (18:41 -0500)] 
network: if ipv6ll is disabled, enumerate tentative ipv6 addrs before dropping foreign addrs

The kernel will create an ipv6ll tentative address immediately when an
interface is raised if addr_gen_mode is not disabled; and, the kernel does
not notify netlink listeners about any tentative addresses.  So it's
possible for an interface to contain tentative ipv6 link-local address(es)
that networkd doesn't know about when all foreign addresses are dropped.

In this case, networkd is later notified about the new ipv6ll address(es)
after they finish DAD and are no longer tentative; but since that's after
networkd has already dropped foreign addresses, they are incorrectly left
on the interface.

4 years agonetwork: add link->setting_genmode flag
Dan Streetman [Thu, 19 Dec 2019 18:17:45 +0000 (13:17 -0500)] 
network: add link->setting_genmode flag

Similar to the link->setting_mtu flag, this delays continued configuration
until after the genmode has been successfully set; this is important
because we do not want networkd to raise the interface before the genmode
has been set, as if we're disabling the genmode, raising the interface
before we have successfully disabled the genmode will result in the kernel
creating a ipv6ll address, even though we don't want that.

4 years agonetwork: rename linux_configure_after_setting_mtu() to linux_configure_continue()
Dan Streetman [Thu, 19 Dec 2019 18:14:42 +0000 (13:14 -0500)] 
network: rename linux_configure_after_setting_mtu() to linux_configure_continue()

This is a simple rename to make the function name more generic;
the next commit expands its usage to more than only the mtu handler.

4 years agoman: describe "symlink" and "systemctl link" explicitly in UNIT FILE LOAD PATH
HATAYAMA Daisuke [Wed, 18 Dec 2019 03:01:42 +0000 (22:01 -0500)] 
man: describe "symlink" and "systemctl link" explicitly in UNIT FILE LOAD PATH

There are sometimes users who put unit files in a location that is inaccessible
when systemd starts although they are not found and thus not started because
the corresponding mount units have not activated yet.

There is already a warning for such issue in man 8 systemctl:

     link PATH...
         ...<snip>...
         The file system where
         the linked unit files are located must be accessible
         when systemd is started (e.g. anything underneath /home
         or /var is not allowed, unless those directories are
         located on the root file system).

However, it looks that it's difficult to find the warning because introductory
users typically doesn't know systemctl link.

Although there is a description in UNIT FILE LOAD PATH pointing to systemctl
link, symlink is now not explicitly mentioned there and thus users doesn't
easily get aware of they should read it.

To deal with this, let's describe "symlink" and "systemctl link" more
explicitly in UNIT FILE LOAD PATH.

4 years agocore: fix re-realization of cgroup siblings 14534/head
Lennart Poettering [Thu, 9 Jan 2020 16:30:31 +0000 (17:30 +0100)] 
core: fix re-realization of cgroup siblings

This is a fix-up for eef85c4a3f8054d29383a176f6cebd1ef3a15b9a which
broke this.

Tracked down by @w-simon

Fixes: #14453
4 years agoMerge pull request #14525 from yuwata/mount-use-format-table
Lennart Poettering [Thu, 9 Jan 2020 14:47:24 +0000 (15:47 +0100)] 
Merge pull request #14525 from yuwata/mount-use-format-table

systemd-mount: use format-table.[ch]

4 years agobash-completion: networkctl: support --full and --lines
Yu Watanabe [Thu, 9 Jan 2020 11:21:28 +0000 (20:21 +0900)] 
bash-completion: networkctl: support --full and --lines

4 years agocore: be more restrictive on the dependency types we allow to be created transiently
Lennart Poettering [Thu, 9 Jan 2020 11:01:45 +0000 (12:01 +0100)] 
core: be more restrictive on the dependency types we allow to be created transiently

We should allow the ones that the [Unit] section of regular unit files
may accet, but no other, in particular not the internal deps we
synthesize as reverse of explicitly configured ones, such was WantedBy=.

Fixes: #14251
4 years agotimedatectl: use format-table.[ch]
Yu Watanabe [Thu, 9 Jan 2020 06:41:21 +0000 (15:41 +0900)] 
timedatectl: use format-table.[ch]

4 years agosystemd-mount: add --no-legend command line option 14525/head
Yu Watanabe [Thu, 9 Jan 2020 05:49:11 +0000 (14:49 +0900)] 
systemd-mount: add --no-legend command line option

4 years agosystemd-mount: use format-table.[ch]
Yu Watanabe [Thu, 9 Jan 2020 05:39:35 +0000 (14:39 +0900)] 
systemd-mount: use format-table.[ch]

4 years agoformat-table: introduce TABLE_PATH
Yu Watanabe [Thu, 9 Jan 2020 11:14:30 +0000 (20:14 +0900)] 
format-table: introduce TABLE_PATH

4 years agocore: propagate service state to socket in more load states 14527/head
Lennart Poettering [Thu, 9 Jan 2020 10:51:40 +0000 (11:51 +0100)] 
core: propagate service state to socket in more load states

It makes sense to filter state changes for some load states that
shouldn't happen, but the common cases should be accepted, because they
might happen during runtime when "systemctl daemon-reload" is issued and
unit files changed state in between. Otherwise we lose events.

Fixes: #4708
4 years agoudev: don't import parent ID_FS_ data on partitions
Thomas Schmitt [Mon, 6 Jan 2020 07:10:32 +0000 (15:10 +0800)] 
udev: don't import parent ID_FS_ data on partitions

When probing partitions, we inherit important information from the parent
disk device such as ID_MODEL, and usage of such properties is seen to
be acceptable and well established.

However, we need to exclude filesystem information from the properties
that get inherited. Information about the device content should not be
passed on in this way.

For example, Linux distro install media commonly uses an ISO filesystem
plus a partition table. The ISO filesystem is detected on the main disk
device, but we should not pass down those details to the partitions,
some or all of which may be pointing at storage areas completely distinct
from the ISO filesystem.

This is particularly problematic when adding new partitions on media
set up in this way (since the new partitions are then reported to contain
the parent device's ISO filesystem), or when dealing with more unusual
hybrid ISO layouts. The inaccuracy of information here inversely affects
users of blkid and udev's persistent storage symlinks.

Exclude ID_FS_* properties from the inheritance chain to avoid these
problems.

Fixes: #14408
4 years agoMerge pull request #14523 from keszybz/refactorings
Yu Watanabe [Thu, 9 Jan 2020 03:50:11 +0000 (12:50 +0900)] 
Merge pull request #14523 from keszybz/refactorings

Refactorings inspired by recent pull requests

4 years agosd-event: use _cleanup_ in one more place 14523/head
Zbigniew Jędrzejewski-Szmek [Wed, 8 Jan 2020 15:22:23 +0000 (16:22 +0100)] 
sd-event: use _cleanup_ in one more place

4 years agosd-event: use RAII for struct epoll_event
Zbigniew Jędrzejewski-Szmek [Wed, 8 Jan 2020 15:20:20 +0000 (16:20 +0100)] 
sd-event: use RAII for struct epoll_event

Inspired by #14353.

4 years agonetwork: use automatic stack allocation and structured init
Zbigniew Jędrzejewski-Szmek [Wed, 8 Jan 2020 11:08:48 +0000 (12:08 +0100)] 
network: use automatic stack allocation and structured init

4 years agonetwork: do not require ethtool_get_permanent_macaddr() to get an fd
Zbigniew Jędrzejewski-Szmek [Wed, 8 Jan 2020 11:02:01 +0000 (12:02 +0100)] 
network: do not require ethtool_get_permanent_macaddr() to get an fd

4 years agotest: minor typo fix
Lennart Poettering [Wed, 8 Jan 2020 11:12:16 +0000 (12:12 +0100)] 
test: minor typo fix

As pointed out on: https://github.com/systemd/systemd/pull/14465#discussion_r364152064

4 years agoMerge pull request #14448 from yuwata/network-permanent-mac-address
Lennart Poettering [Wed, 8 Jan 2020 14:36:27 +0000 (15:36 +0100)] 
Merge pull request #14448 from yuwata/network-permanent-mac-address

network, udev: support permanent mac address

4 years agoMerge pull request #14518 from keszybz/interface-text
Lennart Poettering [Wed, 8 Jan 2020 13:26:33 +0000 (14:26 +0100)] 
Merge pull request #14518 from keszybz/interface-text

doc: tweak grammar in CONTAINER_INTERFACE description

4 years agoMerge pull request #14511 from keszybz/sleep-check-rework
Lennart Poettering [Wed, 8 Jan 2020 13:26:17 +0000 (14:26 +0100)] 
Merge pull request #14511 from keszybz/sleep-check-rework

Sleep check rework

4 years agoMerge pull request #14512 from poettering/root-image-devices
Lennart Poettering [Wed, 8 Jan 2020 11:18:38 +0000 (12:18 +0100)] 
Merge pull request #14512 from poettering/root-image-devices

Make RootImage= work reliable with DeviceAllow= in the mix

4 years agotest: pin meson to 0.52.1 for fuzzit/fuzzbuzz
Frantisek Sumsal [Wed, 8 Jan 2020 09:44:10 +0000 (10:44 +0100)] 
test: pin meson to 0.52.1 for fuzzit/fuzzbuzz

Latest meson doesn't work with older python 3.5, which is present on
Ubuntu 16.04. Let's pin in to the latest working version (0.52.1) until
we properly bump all necessary Ubuntu images to 18.04.

See: https://github.com/mesonbuild/meson/issues/6427

4 years agonetwork: rename *fd to *ethtool_fd
Zbigniew Jędrzejewski-Szmek [Wed, 8 Jan 2020 10:55:07 +0000 (11:55 +0100)] 
network: rename *fd to *ethtool_fd

4 years agoman: use xi:include to avoid duplication
Zbigniew Jędrzejewski-Szmek [Wed, 8 Jan 2020 10:43:09 +0000 (11:43 +0100)] 
man: use xi:include to avoid duplication

... and fix some unwarranted discrepancies between the two man pages.

4 years agoMerge pull request #14465 from poettering/setprio-rework
Zbigniew Jędrzejewski-Szmek [Wed, 8 Jan 2020 10:06:46 +0000 (11:06 +0100)] 
Merge pull request #14465 from poettering/setprio-rework

When Nice= is used, clamp to RLIMIT_NICE

4 years agoMerge pull request #14488 from yuwata/networkctl-show-logs
Zbigniew Jędrzejewski-Szmek [Wed, 8 Jan 2020 09:49:39 +0000 (10:49 +0100)] 
Merge pull request #14488 from yuwata/networkctl-show-logs

networkctl: status command also shows logs of networkd

4 years agoman: fix option name 14518/head
Zbigniew Jędrzejewski-Szmek [Wed, 8 Jan 2020 09:39:44 +0000 (10:39 +0100)] 
man: fix option name

4 years agodoc: tweak grammar in CONTAINER_INTERFACE description
Zbigniew Jędrzejewski-Szmek [Wed, 8 Jan 2020 09:29:10 +0000 (10:29 +0100)] 
doc: tweak grammar in CONTAINER_INTERFACE description

The only non-stylistic change is to replace descriptions of how we are
encouraging people to use PrivateTmp= and such, because now they are widely
used.

4 years agoMerge pull request #14494 from poettering/container-interface
Zbigniew Jędrzejewski-Szmek [Wed, 8 Jan 2020 08:58:57 +0000 (09:58 +0100)] 
Merge pull request #14494 from poettering/container-interface

Let's import the container interface description text from the fdo wiki

4 years agonetworkctl: show permanent mac address if it is not used now 14448/head
Yu Watanabe [Mon, 7 Jan 2019 11:16:20 +0000 (20:16 +0900)] 
networkctl: show permanent mac address if it is not used now

4 years agonetwork, udev: introduce PermanentMACAddress= setting in [Match] section
Yu Watanabe [Mon, 7 Jan 2019 11:16:19 +0000 (20:16 +0900)] 
network, udev: introduce PermanentMACAddress= setting in [Match] section

Closes #13983.

4 years agoSupport Plugable UD-PRO8 dock
ezst036 [Wed, 8 Jan 2020 00:47:15 +0000 (19:47 -0500)] 
Support Plugable UD-PRO8 dock

Add support for Plugable Pro8 docking station for auto-configuring seat

4 years agoethtool: introduce ethtool_get_permanent_macaddr()
Yu Watanabe [Mon, 7 Jan 2019 11:16:18 +0000 (20:16 +0900)] 
ethtool: introduce ethtool_get_permanent_macaddr()

Will be used in later commits.

4 years agogpt-auto: don't assume XBOOTLDR is vfat
Lennart Poettering [Tue, 7 Jan 2020 16:21:24 +0000 (17:21 +0100)] 
gpt-auto: don't assume XBOOTLDR is vfat

Let's not assume "umask=" is a valid mount option for XBOOTLDR
partitions unconditionally.

Fixes: #14165
4 years agonetwork, meson: allow statically linked build
Robert Scheck [Wed, 8 Jan 2020 01:36:07 +0000 (02:36 +0100)] 
network, meson: allow statically linked build

Build option "link-networkd-shared" to build a statically linked
systemd-networkd by using

  -Dlink-udev-shared=false -Dlink-networkd-shared=false

on systems with full systemd stack except systemd-networkd, such
as RHEL/CentOS 8.

4 years agoMerge pull request #14510 from poettering/net-naming-scheme-fixlets
Zbigniew Jędrzejewski-Szmek [Wed, 8 Jan 2020 08:46:49 +0000 (09:46 +0100)] 
Merge pull request #14510 from poettering/net-naming-scheme-fixlets

some net naming scheme documentation fixes

4 years agozsh: Complete systemctl subcommands in separate tags
Daniel Shahaf [Tue, 7 Jan 2020 20:17:26 +0000 (20:17 +0000)] 
zsh: Complete systemctl subcommands in separate tags

Fixes #14422

4 years agoshared/sleep-config: do not ignore resume_offset when resume not set 14511/head
Zbigniew Jędrzejewski-Szmek [Tue, 7 Jan 2020 17:16:01 +0000 (18:16 +0100)] 
shared/sleep-config: do not ignore resume_offset when resume not set

This is most likely a user error, let's make it easier to diagnose.

4 years agoshared/sleep-config: make swap detection stricter again
Zbigniew Jędrzejewski-Szmek [Tue, 7 Jan 2020 15:44:12 +0000 (16:44 +0100)] 
shared/sleep-config: make swap detection stricter again

To make this easier to understand, let's always log (at debug level)
when we accept or reject each device:
/swapfile: detection of swap file offset on Btrfs is not supported
/swapfile: is a candidate device.
/dev/zram0: ignoring zram swap
/dev/vdb: ignoring device with lower priority
/dev/vdc: ignoring device with lower usable space
...

If we know that hibernation will fail, refuse. This includes cases where
/sys/power/resume is set and doesn't match any device, or
/sys/power/resume_offset is set and we're not on btrfs and it doesn't match.
If /sys/power/resume is not set at all, we still accept the device with the
highest priority (see 6d176522f5480ea9e9a83de5ef5ea5e0d95b79cb and
88bc86fcf895da0d51ddaf93d17b4280f4e60d74)

Tested cases:
1. no swap active → refuse
2. just zram swap active → refuse
3. swapfile on btrfs with /sys/power/resume{,_offset} set → OK
4. swapfile on btrfs with /sys/power/resume set, offset not set → refuse
5. swapfile on btrfs with /sys/power/resume set to nonexistent device, offset set → refuse
6. /sys/power/resume not set, offset set, candidate exists → OK (*)
7. /sys/power/resume not set, offset not set, candidate exists → OK

(*) I think this should fail, but I'm leaving that for the next commit.

4 years agoMerge pull request #14423 from danielshahaf/zsh-add-missing-completions
Chris Down [Tue, 7 Jan 2020 19:34:55 +0000 (19:34 +0000)] 
Merge pull request #14423 from danielshahaf/zsh-add-missing-completions

zsh: Add missing completions

4 years agoboot: fix osrel parser
Lennart Poettering [Tue, 7 Jan 2020 14:20:32 +0000 (15:20 +0100)] 
boot: fix osrel parser

let's check VERSION instead of VERSION_ID where appropriate.

Fixes: #14493
4 years agoMerge pull request #14472 from poettering/test-43-fixes
Anita Zhang [Tue, 7 Jan 2020 18:53:13 +0000 (10:53 -0800)] 
Merge pull request #14472 from poettering/test-43-fixes

Various robustness fixes for TEST-43-PRIVATEUSER-UNPRIV

4 years agoMerge pull request #14499 from yuwata/network-gateway-dhcp
Lennart Poettering [Tue, 7 Jan 2020 18:17:51 +0000 (19:17 +0100)] 
Merge pull request #14499 from yuwata/network-gateway-dhcp

network: static route via DHCP gateway

4 years agoman: stop recommending modprobe -abq in ExecStartPre= 14512/head
Lennart Poettering [Tue, 7 Jan 2020 18:00:56 +0000 (19:00 +0100)] 
man: stop recommending modprobe -abq in ExecStartPre=

4 years agounits: tweaks to modprobe@.service
Lennart Poettering [Tue, 7 Jan 2020 17:54:24 +0000 (18:54 +0100)] 
units: tweaks to modprobe@.service

Let's use uppercase wording in the description string, like we usually
do.

Let's allow using this service in early boot.

If it's pulled into the initial transaction it's better to finish
loading this before sysinit.target.

Don't bother with this in containers that lack CAP_SYS_MODULE

4 years agounit: make sure to pull in modprobe@loop.service when RootImage= is used with DeviceA...
Lennart Poettering [Tue, 7 Jan 2020 17:53:31 +0000 (18:53 +0100)] 
unit: make sure to pull in modprobe@loop.service when RootImage= is used with DeviceAllow=

Fixes: #14214
4 years agobpf-devices: line-break some overly long function signatures
Lennart Poettering [Tue, 7 Jan 2020 17:21:26 +0000 (18:21 +0100)] 
bpf-devices: line-break some overly long function signatures

4 years agounits: Split modprobing out into a separate service unit
Iain Lane [Tue, 7 Jan 2020 14:33:29 +0000 (14:33 +0000)] 
units: Split modprobing out into a separate service unit

Devices referred to by `DeviceAllow=` sandboxing are resolved into their
corresponding major numbers when the unit is loaded by looking at
`/proc/devices`. If a reference is made to a device which is not yet
available, the `DeviceAllow` is ignored and the unit's processes cannot
access that device.

In both logind and nspawn, we have `DeviceAllow=` lines, and `modprobe`
in `ExecStartPre=` to load some kernel modules. Those kernel modules
cause device nodes to become available when they are loaded: the device
nodes may not exist when the unit itself is loaded. This means that the
unit's processes will not be able to access the device since the
`DeviceAllow=` will have been resolved earlier and denied it.

One way to fix this would be to re-evaluate the available devices and
re-apply the policy to the cgroup, but this cannot work atomically on
cgroupsv1. So we fall back to a second approach: instead of running
`modprobe` via `ExecStartPre`, we move this out to a separate unit and
order it before the units which want the module.

Closes #14322.
Fixes: #13943.
4 years agoudev: use dot_or_dot_dot() where appropriate 14510/head
Lennart Poettering [Tue, 7 Jan 2020 17:02:53 +0000 (18:02 +0100)] 
udev: use dot_or_dot_dot() where appropriate

4 years agoman: fix documentation of IBM VIO device naming
Lennart Poettering [Tue, 7 Jan 2020 17:02:15 +0000 (18:02 +0100)] 
man: fix documentation of IBM VIO device naming

We generate "v" in two different ways, and they got mixed up.

4 years agoman: slightly extend documentation on difference between ID_NET_NAME_ONBOARD and...
Lennart Poettering [Tue, 7 Jan 2020 17:01:56 +0000 (18:01 +0100)] 
man: slightly extend documentation on difference between ID_NET_NAME_ONBOARD and ID_NET_LABEL_ONBOARD

4 years agoshared/sleep: use stat() instead of open()+fstat() in one place
Zbigniew Jędrzejewski-Szmek [Tue, 7 Jan 2020 15:20:35 +0000 (16:20 +0100)] 
shared/sleep: use stat() instead of open()+fstat() in one place

No functional change.

4 years agoudev: do not use exact match of file permission
Yu Watanabe [Tue, 7 Jan 2020 10:22:59 +0000 (19:22 +0900)] 
udev: do not use exact match of file permission

This partially reverts 25de7aa7b90c23d33ea50ada1e50c5834a414237.

Fixes #14473.

4 years agoMerge pull request #14481 from yuwata/virt-string-table
Lennart Poettering [Tue, 7 Jan 2020 14:16:31 +0000 (15:16 +0100)] 
Merge pull request #14481 from yuwata/virt-string-table

virt: use string table to detect VM or container

4 years agonspawn: set original ifname as alternative if it is truncated
Yu Watanabe [Sat, 4 Jan 2020 20:35:13 +0000 (05:35 +0900)] 
nspawn: set original ifname as alternative if it is truncated

4 years agonetwork: append INTERFACE= attributes for logs corresponds to a netif 14488/head
Yu Watanabe [Tue, 7 Jan 2020 03:53:19 +0000 (12:53 +0900)] 
network: append INTERFACE= attributes for logs corresponds to a netif

4 years agotest-network: suppress logs in status command
Yu Watanabe [Tue, 7 Jan 2020 02:32:04 +0000 (11:32 +0900)] 
test-network: suppress logs in status command

4 years agonetworkctl: status command also shows logs of networkd
Yu Watanabe [Tue, 7 Jan 2020 02:32:03 +0000 (11:32 +0900)] 
networkctl: status command also shows logs of networkd

Closes #14050.

4 years agoman: drop unnecessary white space
Yu Watanabe [Tue, 7 Jan 2020 08:54:55 +0000 (17:54 +0900)] 
man: drop unnecessary white space

4 years agolocale-util: extend comments on unicode glyph use, and drop mdash (that actually...
Lennart Poettering [Tue, 7 Jan 2020 09:51:50 +0000 (10:51 +0100)] 
locale-util: extend comments on unicode glyph use, and drop mdash (that actually was an ndash)

Let's add the actual unicode names of the glyphs we use. Let's also add
in comments what the width expectations of these glyphs are on the
console.

Also, remove the "mdash" definition. First of all it wasn't used, but
what's worse the glyph encoded was actually an "ndash"...

Fixes: #14075
4 years agoMerge pull request #14420 from DaanDeMeyer/nspawn-fix-read-only-overlay-rootfs
Lennart Poettering [Tue, 7 Jan 2020 11:14:24 +0000 (12:14 +0100)] 
Merge pull request #14420 from DaanDeMeyer/nspawn-fix-read-only-overlay-rootfs

nspawn: Don't mount read-only if we have a custom mount on root.

4 years agotest-network: add test for Gateway=DHCP 14499/head
Yu Watanabe [Tue, 7 Jan 2020 05:55:58 +0000 (14:55 +0900)] 
test-network: add test for Gateway=DHCP

4 years agonetwork: static routes via DHCP gateway
Yu Watanabe [Tue, 7 Jan 2020 05:43:09 +0000 (14:43 +0900)] 
network: static routes via DHCP gateway

This makes Gateway= also take "DHCP". If "DHCP" is set, then the gateway
address provided by DHCP or IPv6 RA is used.

Closes #8213.

4 years agovirt: drop trailing white spaces 14481/head
Yu Watanabe [Tue, 7 Jan 2020 02:49:40 +0000 (11:49 +0900)] 
virt: drop trailing white spaces

4 years agovirt: use string table to detect VM or container
Yu Watanabe [Tue, 7 Jan 2020 02:49:39 +0000 (11:49 +0900)] 
virt: use string table to detect VM or container

4 years agopkcs11-util: don't mask return value of the first asprintf()
Frantisek Sumsal [Mon, 6 Jan 2020 09:44:19 +0000 (10:44 +0100)] 
pkcs11-util: don't mask return value of the first asprintf()

Fixes CID#1409666

4 years agonetwork: lower the log-level of harmless message
Yu Watanabe [Mon, 6 Jan 2020 07:48:27 +0000 (16:48 +0900)] 
network: lower the log-level of harmless message

Closes #14285.

4 years agomeson: drop unnecessary linking of libudev_core
Yu Watanabe [Mon, 6 Jan 2020 03:16:53 +0000 (12:16 +0900)] 
meson: drop unnecessary linking of libudev_core

4 years agosd-netlink: fix copy and paste mistake
Yu Watanabe [Mon, 6 Jan 2020 10:32:22 +0000 (19:32 +0900)] 
sd-netlink: fix copy and paste mistake

4 years agoman: change links to container interface doc to https://systemd.io/ 14494/head
Lennart Poettering [Mon, 6 Jan 2020 17:15:07 +0000 (18:15 +0100)] 
man: change links to container interface doc to https://systemd.io/

Now that we converted the documentation we should also link to it.

4 years agodocs: move container interface docs from wiki to markdown
Lennart Poettering [Mon, 6 Jan 2020 17:12:19 +0000 (18:12 +0100)] 
docs: move container interface docs from wiki to markdown

Let's move
https://www.freedesktop.org/wiki/Software/systemd/ContainerInterface/
into our tree and convert it to Markdown.

This also incldues some minor fixes and other changes.

4 years agosd-netlink: use uint8_t* for non-character data
Yu Watanabe [Mon, 6 Jan 2020 01:48:42 +0000 (10:48 +0900)] 
sd-netlink: use uint8_t* for non-character data

4 years agotestsuite: drop "systemctl is-system-running --wait" invocation 14472/head
Lennart Poettering [Mon, 6 Jan 2020 12:40:36 +0000 (13:40 +0100)] 
testsuite: drop "systemctl is-system-running --wait" invocation

We wait for "basic.target" being reached in the user instance anyway
before allowing the user's session to start, hence doing such a wait is
unnecessary, since that would just mean we'd wait for "default.target"
on top of "basic.target", but we shouldn#t need anything of that...

Hence, let's simplify this, reduce explicit sync points.

4 years agotest: don't rely on "nobody" user for TEST-43
Lennart Poettering [Fri, 3 Jan 2020 17:27:14 +0000 (18:27 +0100)] 
test: don't rely on "nobody" user for TEST-43

The name is not as universal as we want, still, hence let's use our own
user we create with sysusers.d/. That should yield same behaviour
everywhere (and also test sysusers a bit as side effect).

4 years agotest: hardcode shell to use
Lennart Poettering [Fri, 3 Jan 2020 17:25:51 +0000 (18:25 +0100)] 
test: hardcode shell to use

let's make sure we always invoke our commands through /bin/sh, since
on some distros su will use /bin/nologin (or whatever is listed in
/etc/passwd) as shell otherwise and we don#t want that.

4 years agosystemd-sleep: always attempt hibernation if configured 14270/head
Zach Smith [Sat, 7 Dec 2019 00:37:22 +0000 (16:37 -0800)] 
systemd-sleep: always attempt hibernation if configured

When calculation of swap file offset is unsupported, rely on the
/sys/power/resume & /sys/power/resume_offset values if configured
rather than requiring a matching swap entry to be identified.

Refactor to use dev_t for comparison of resume= device instead of string.

4 years agodbus-execute: avoid extra strdup()
Topi Miettinen [Thu, 2 Jan 2020 17:59:48 +0000 (19:59 +0200)] 
dbus-execute: avoid extra strdup()

bind_mount_add does the strdup(), so we can avoid
strdup()ing the strings.

4 years agotest: use symlinks for Makefiles
Lennart Poettering [Fri, 3 Jan 2020 17:00:03 +0000 (18:00 +0100)] 
test: use symlinks for Makefiles

for some reason the newer tests used file copyies instead of symlinks.
let's fix that.

4 years agojob: Don't mark as redundant if deps are relevant
Kevin Kuehler [Tue, 19 Nov 2019 21:43:58 +0000 (13:43 -0800)] 
job: Don't mark as redundant if deps are relevant

In the steps given in #13850, the resulting graph looks like:

    C (Anchor) -> B -> A

Since B is inactive, it will be flagged as redundant and removed from
the transaction, causing A to get garbage collected. The proposed fix is
to not mark nodes as redundant if doing so causes a relevant node to be
garbage collected.

Fixes #13850

4 years agoMerge pull request #14194 from yuwata/network-multipath-routing-12541
Lennart Poettering [Fri, 3 Jan 2020 14:38:03 +0000 (15:38 +0100)] 
Merge pull request #14194 from yuwata/network-multipath-routing-12541

network: introduce multipath routing

4 years agoMerge pull request #14469 from aburch/man-tmpfiles.d-minor-improvements
Lennart Poettering [Fri, 3 Jan 2020 13:18:16 +0000 (14:18 +0100)] 
Merge pull request #14469 from aburch/man-tmpfiles.d-minor-improvements

man: tmpfiles.d: minor improvements

4 years agonspawn: Make a custom mount on root imply --read-only. 14420/head
Daan De Meyer [Tue, 24 Dec 2019 10:40:03 +0000 (11:40 +0100)] 
nspawn: Make a custom mount on root imply --read-only.

4 years agonspawn: Don't mount read-only if we have a custom mount on root.
Daan De Meyer [Mon, 23 Dec 2019 10:50:02 +0000 (11:50 +0100)] 
nspawn: Don't mount read-only if we have a custom mount on root.

4 years agoMerge pull request #14401 from DaanDeMeyer/nspawn-move-veth-back-to-host
Lennart Poettering [Fri, 3 Jan 2020 11:47:03 +0000 (12:47 +0100)] 
Merge pull request #14401 from DaanDeMeyer/nspawn-move-veth-back-to-host

nspawn: move virtual interfaces added with --network-interface back to the host

4 years agoman: tmpfiles.d: only list "v" once 14469/head
Ansgar Burchardt [Fri, 3 Jan 2020 11:21:57 +0000 (20:21 +0900)] 
man: tmpfiles.d: only list "v" once

4 years agoman: tmpfiles.d: "b", "c" options require major and minor numbers
Ansgar Burchardt [Fri, 3 Jan 2020 11:13:51 +0000 (20:13 +0900)] 
man: tmpfiles.d: "b", "c" options require major and minor numbers

4 years agohwdb: Lenovo T490 Synaptics Touchpad hwdb entry
Mike Auty [Fri, 3 Jan 2020 00:44:54 +0000 (00:44 +0000)] 
hwdb: Lenovo T490 Synaptics Touchpad hwdb entry

The Synaptics Touchpad that comes with the T490 doesn't explicitly set
its resolution, so these lines are needed to provide that, in order to
help the libinput code detect overly large jumps.  Since this device
contains buttons under the lower section of the touchpad, large jumps
are common, so having the resolution helps libinput greatly reduce
the number of occurances of pointer jump.

This comes from
https://gitlab.freedesktop.org/libinput/libinput/issues/402.