]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
5 years agocgroup: analyze: Report memory configurations that deviate from systemd 13690/head
Chris Down [Thu, 3 Oct 2019 12:21:29 +0000 (13:21 +0100)] 
cgroup: analyze: Report memory configurations that deviate from systemd

This is the most basic consumer of the new systemd-vs-kernel checker,
both acting as a reasonable standalone exerciser of the code, and also
as a way for easy inspection of deviations from systemd internal state.

5 years agocgroup: analyze: Match standard dump format
Chris Down [Mon, 30 Sep 2019 15:09:18 +0000 (16:09 +0100)] 
cgroup: analyze: Match standard dump format

We're the only ones left using = as the delimiter, which looks really
weird in `systemd-analyze dump`. Use `: ` like everyone else.

5 years agocgroup: Allow checking systemd-internal limits against the kernel
Chris Down [Mon, 30 Sep 2019 15:13:32 +0000 (16:13 +0100)] 
cgroup: Allow checking systemd-internal limits against the kernel

We currently don't have any mitigations against another privileged user
on the system messing with the cgroup hierarchy, bringing the system out
of line with what we've set in systemd. We also don't have any real way
to surface this to the user (we do have logs, but you have to know to
look in the first place).

There are a few possible solutions:

1. Maintaining our own cgroup tree with the new fsopen API and having a
   read-only copy for everyone else. However, there are some
   complications on this front, and this may be infeasible in some
   environments. I'd rate this as a longer term effort that's tangential
   to this patch.
2. Actively checking for changes with {fa,i}notify and changing them
   back afterwards to match our configuration again. This is also
   possible, but it's also good to have a way to do passive monitoring
   of the situation without taking hard action. Also, currently daemons
   like senpai do actually need to modify the tree behind systemd's
   back (although hopefully this should be more integrated soon).

This patch implements another option, where one can, on demand, monitor
deviations in cgroup memory configuration from systemd's internal state.
Currently the only consumer is `systemd-analyze dump`, but the interface
is generic enough that it can also be exposed elsewhere later (for
example, over D-Bus).

Currently only memory limit style properties are supported, but later I
also plan to expand this out to other properties that systemd should
have ultimate control over.

5 years agomemory-util: Add PAGE_ALIGN_DOWN
Chris Down [Thu, 3 Oct 2019 13:41:06 +0000 (14:41 +0100)] 
memory-util: Add PAGE_ALIGN_DOWN

For example, cgroup v2 rounds down to the previous page when returning
memory limits.

5 years agoMerge pull request #13246 from keszybz/add-SystemdOptions-efi-variable
Zbigniew Jędrzejewski-Szmek [Thu, 3 Oct 2019 10:19:44 +0000 (12:19 +0200)] 
Merge pull request #13246 from keszybz/add-SystemdOptions-efi-variable

Add efi variable to augment /proc/cmdline

5 years agofix build with compilers with default stack-protector enabled
Norbert Lange [Thu, 19 Sep 2019 15:49:20 +0000 (17:49 +0200)] 
fix build with compilers with default stack-protector enabled

building systemd fails with a compiler that supports
-fstack-protector but does not enable it by default.
(will miss several __stack_chk_* symbols).

fix this by also adding the switch during linking.

Signed-off-by: Norbert Lange <nolange79@gmail.com>
5 years agonspawn: surrender controlling terminal to PID2 when using the PID1 stub
Nicolas Douma [Tue, 17 Sep 2019 03:07:00 +0000 (05:07 +0200)] 
nspawn: surrender controlling terminal to PID2 when using the PID1 stub

5 years agoMerge pull request #13696 from keszybz/keep-dhcp-on-restart
Zbigniew Jędrzejewski-Szmek [Thu, 3 Oct 2019 09:25:12 +0000 (11:25 +0200)] 
Merge pull request #13696 from keszybz/keep-dhcp-on-restart

Add a way to differentiate restart from stop and keep dhcp config on restart

5 years agopid1: fix DefaultTasksMax initialization
Franck Bui [Wed, 2 Oct 2019 09:58:16 +0000 (11:58 +0200)] 
pid1: fix DefaultTasksMax initialization

Otherwise DefaultTasksMax is always set to "inifinity".

This was broken by fb39af4ce42.

5 years agohwdb: Add trackpoint rules for Lenovo Thinkpad 70, 80, 90
Torsten Hilbrich [Wed, 2 Oct 2019 09:38:07 +0000 (11:38 +0200)] 
hwdb: Add trackpoint rules for Lenovo Thinkpad 70, 80, 90

Extend the existing rules to match the Thinkpad models for the
previous 3 generations. It will work if a Synaptic Trackpoint is
built into the notebook. It will not work for Elantech trackpoints.

Succcessfully tested with T470s and T490 model.

5 years agopo: update Polish translation
Piotr Drąg [Sat, 28 Sep 2019 13:17:59 +0000 (15:17 +0200)] 
po: update Polish translation

5 years agosrc/core/automount: use DirectoryMode when calling mkdir -p
Dan Streetman [Sun, 29 Sep 2019 21:16:55 +0000 (17:16 -0400)] 
src/core/automount: use DirectoryMode when calling mkdir -p

mkdir -p is called both when setting up the autofs mount, as well
as after being notified that the real mount unit should be called.
However the first mkdir -p is hardcoded with 0555, while the second
uses the value specified to DirectoryMode in the automount unit; the
second mkdir -p is only needed when called from coldplug, so under
normal operation the dirs are incorrectly created with mode 0555.

This replaces the hardcoded 0555 mode with the value of DirectoryMode.

Closes #13683.

5 years agoudevadm trigger: do not propagate EACCES and ENODEV
Yu Watanabe [Thu, 26 Sep 2019 12:33:59 +0000 (21:33 +0900)] 
udevadm trigger: do not propagate EACCES and ENODEV

Inside container, writing file returns EACCESS. Moreover, some devices
return ENODEV rather than EACCES. So, let's also ignore these two
error causes.

Closes #13652.

5 years agosd-dhcp-client: do not crash if sd_dhcp_client_send_release() is called with no lease 13696/head
Zbigniew Jędrzejewski-Szmek [Wed, 2 Oct 2019 08:29:41 +0000 (10:29 +0200)] 
sd-dhcp-client: do not crash if sd_dhcp_client_send_release() is called with no lease

Again, a public function should not crash if called at an inopportune moment.

Also, make sure we don't call the function if we have no lease.

5 years agosd-dhcp-client: merge client_send_release() into sd_dhcp_client_send_release()
Zbigniew Jędrzejewski-Szmek [Wed, 2 Oct 2019 08:22:49 +0000 (10:22 +0200)] 
sd-dhcp-client: merge client_send_release() into sd_dhcp_client_send_release()

The public function and the implementation were split into two for
no particular reason.

We would assert() on the internal state of the client. This should not be done
in a function that is directly called from a public function. (I.e., we should
not crash if the public function is called at the wrong time.)
assert() is changed to assert_return().

And before anyone asks: I put the assert_returns() *above* the internal
variables on purpose. This makes it easier to see that the assert_returns()
are about the state that is passed in, and if they are not satisfied, the
function returns immediately. The compiler doesn't care either way, so
the ordering that is clearest to the reader should be chosen.

5 years agonetworkd: change SendRelease default to true
Zbigniew Jędrzejewski-Szmek [Tue, 1 Oct 2019 15:25:31 +0000 (17:25 +0200)] 
networkd: change SendRelease default to true

Now that we don't drop DHCP config on restart, this seems appropriate.

5 years agonetworkd: drop DHCPv4 config on stop, keep on restart, by default
Zbigniew Jędrzejewski-Szmek [Tue, 1 Oct 2019 15:12:31 +0000 (17:12 +0200)] 
networkd: drop DHCPv4 config on stop, keep on restart, by default

This partially reverts 95355a281c06c5970b7355c38b066910c3be4958.

It seems that other parts of link_stop_clients() should be skipped
when restarting, but I don't know enough about those other clients to have
an opinion if it is better to stop&start them on restart or not.
Anyway, that can be done in later patches now that the support for restarts
is there.

Fixes #13625.

5 years agonetworkd: use SIGUSR2 to do a restart
Zbigniew Jędrzejewski-Szmek [Tue, 1 Oct 2019 14:23:19 +0000 (16:23 +0200)] 
networkd: use SIGUSR2 to do a restart

The code supports SIGTERM and SIGINT to termiante the process. It would
be possible to reporpose one of those signals for the restart operation,
but I think it's better to use a completely different signal to avoid
misunderstandings.

5 years agocore: rework how logging level is calculated for kill operations
Zbigniew Jędrzejewski-Szmek [Tue, 1 Oct 2019 13:53:42 +0000 (15:53 +0200)] 
core: rework how logging level is calculated for kill operations

Setting the log level based on the signal made sense when signals that
were used were fixed. Since we allow signals to be configured, it doesn't
make sense to log at notice level about e.g. a restart or stop operation
just because the signal used is different.

This avoids messages like:
  six.service: Killing process 210356 (sleep) with signal SIGINT.

5 years agoman: document the RestartKillSignal= setting
Zbigniew Jędrzejewski-Szmek [Wed, 2 Oct 2019 11:53:49 +0000 (13:53 +0200)] 
man: document the RestartKillSignal= setting

5 years agocore: add support for RestartKillSignal= to override signal used for restart jobs
Zbigniew Jędrzejewski-Szmek [Tue, 1 Oct 2019 13:15:06 +0000 (15:15 +0200)] 
core: add support for RestartKillSignal= to override signal used for restart jobs

v2:
- if RestartKillSignal= is not specified, fall back to KillSignal=. This is necessary
  to preserve backwards compatibility (and keep KillSignal= generally useful).

5 years agobasic: fix ASSERT_SIDE_EFFECT Coverity report in assert_se()
Frantisek Sumsal [Sat, 21 Sep 2019 15:48:50 +0000 (17:48 +0200)] 
basic: fix ASSERT_SIDE_EFFECT Coverity report in assert_se()

5 years agoMerge pull request #13691 from mrc0mmand/coverity-fixes
Chris Down [Wed, 2 Oct 2019 09:42:53 +0000 (10:42 +0100)] 
Merge pull request #13691 from mrc0mmand/coverity-fixes

Coverity fixes for unchecked return values

5 years agohwdb: Correct WWWW Pattern In Documentation Comment
Jonas Thelemann [Wed, 2 Oct 2019 00:42:58 +0000 (02:42 +0200)] 
hwdb: Correct WWWW Pattern In Documentation Comment

5 years agonspawn: rename UNIFIED_CGROUP_HIERARCHY to SYSTEMD_NSPAWN_UNIFIED_HIERARCHY
Zbigniew Jędrzejewski-Szmek [Fri, 27 Sep 2019 12:17:41 +0000 (14:17 +0200)] 
nspawn: rename UNIFIED_CGROUP_HIERARCHY to SYSTEMD_NSPAWN_UNIFIED_HIERARCHY

We should never have used an unprefixed environment variable name.
All other systemd-nspawn variables have the "SYSTEMD_NSPAWN_" prefix,
and all other systemd variables have the "SYSTEMD_" prefix.

The new variable name takes precedence, but we fall back to checking the
old one. If only the old one is found, a warning is emitted.

In addition, SYSTEMD_NSPAWN_UNIFIED_HIERARCHY="" is accepted as an override
to avoid looking for the old variable name.

We have a variable with the same name ($UNIFIED_CGROUP_HIERARCHY) in tests,
which governs both systemd-nspawn and qemu behaviour. It is not renamed.

5 years agonspawn: consistenly fail if parsing the environment fails
Zbigniew Jędrzejewski-Szmek [Fri, 27 Sep 2019 11:58:06 +0000 (13:58 +0200)] 
nspawn: consistenly fail if parsing the environment fails

We would parse the environment twice (to re-apply settings after reading
config from disk), but we would not check the return code first time.
This means that for some settings we would ignore invalid values, while
for others, we'd fail at some point.

Let's just consistently fail. Those environment variables define important
aspects of behaviour, and it is better for the user if we ignore invalid
values. (Unknown settings are still ignored, so forward compatibility is
maintained.)

5 years agonspawn: default to unified hierarchy if --as-pid2 is used
Zbigniew Jędrzejewski-Szmek [Fri, 27 Sep 2019 12:51:53 +0000 (14:51 +0200)] 
nspawn: default to unified hierarchy if --as-pid2 is used

See comment added in the patch.

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1756143.

5 years agonetwork: DHCPv6 client add support for prefix delegation hint
Susant Sahani [Wed, 25 Sep 2019 03:14:12 +0000 (05:14 +0200)] 
network: DHCPv6 client add support for prefix delegation hint

Add support for prefix hint lenth and prefix hint address
```
Frame 43: 177 bytes on wire (1416 bits), 177 bytes captured (1416 bits) on interface 0
Ethernet II, Src: f6:c1:08:4d:45:f1 (f6:c1:08:4d:45:f1), Dst: IPv6mcast_01:00:02 (33:33:00:01:00:02)
Internet Protocol Version 6, Src: fe80::d250:c82:7f6e:28d6, Dst: ff02::1:2
User Datagram Protocol, Src Port: 546, Dst Port: 547
DHCPv6
    Message type: Solicit (1)
    Transaction ID: 0x5c7902
    Rapid Commit
    Identity Association for Non-temporary Address
    Fully Qualified Domain Name
    Identity Association for Prefix Delegation
        Option: Identity Association for Prefix Delegation (25)
        Length: 41
        Value: 1b97b1690000000000000000001a0019ffffffffffffffff
        IAID: 1b97b169
        T1: 0
        T2: 0
        IA Prefix
            Option: IA Prefix (26)
            Length: 25
            Value: ffffffffffffffff3c000000000000000000000000000000
            Preferred lifetime: infinity
            Valid lifetime: infinity
            Prefix length: 60
            Prefix address: ::
    Option Request
    Client Identifier
    Elapsed time
```

5 years agocore: add helper function to check job status
Zbigniew Jędrzejewski-Szmek [Tue, 1 Oct 2019 12:58:55 +0000 (14:58 +0200)] 
core: add helper function to check job status

Since job.h includes unit.h, and unit.h includes job.h, imports need to
be adjusted to make sure unit.h is included first if the helper is used.

5 years agocore: remove unused prototypes
Zbigniew Jędrzejewski-Szmek [Tue, 1 Oct 2019 12:25:10 +0000 (14:25 +0200)] 
core: remove unused prototypes

5 years agocore: minor formatting adjustment
Zbigniew Jędrzejewski-Szmek [Tue, 1 Oct 2019 12:13:35 +0000 (14:13 +0200)] 
core: minor formatting adjustment

5 years agocryptsetup: bump minimum libcryptsetup version to v2.0.1
Jay Strict [Thu, 26 Sep 2019 13:54:29 +0000 (15:54 +0200)] 
cryptsetup: bump minimum libcryptsetup version to v2.0.1

libcryptsetup v2.0.1 introduced new API calls, supporting 64 bit wide
integers for `keyfile_offset`. This change invokes the new function
call, gets rid of the warning that was added in #7689, and removes
redundant #ifdefery and constant definitions.
See https://gitlab.com/cryptsetup/cryptsetup/issues/359.

Fixes #7677.

5 years agoexecute: explicitly ignore fd_wait_for_event()'s return value 13691/head
Frantisek Sumsal [Tue, 1 Oct 2019 08:25:36 +0000 (10:25 +0200)] 
execute: explicitly ignore fd_wait_for_event()'s return value

Fixes CID#1402316

5 years agosd-event: explicitly ignore waitipid()'s return value
Frantisek Sumsal [Tue, 1 Oct 2019 08:14:10 +0000 (10:14 +0200)] 
sd-event: explicitly ignore waitipid()'s return value

Fixes CID#1393252

5 years agoMerge pull request #13689 from cdown/default_memory_min
Chris Down [Tue, 1 Oct 2019 02:08:15 +0000 (03:08 +0100)] 
Merge pull request #13689 from cdown/default_memory_min

cgroup: A bunch of protection-related fixes

5 years agocgroup: Mark memory protections as explicitly set in transient units 13689/head
Chris Down [Mon, 30 Sep 2019 17:36:13 +0000 (18:36 +0100)] 
cgroup: Mark memory protections as explicitly set in transient units

A later version of the DefaultMemory{Low,Min} patch changed these to
require explicitly setting memory_foo_set, but we only set that in
load-fragment, not dbus-cgroup.

Without these, we may fall back to either DefaultMemoryFoo or
CGROUP_LIMIT_MIN when we really shouldn't.

5 years agoMerge pull request #13687 from cdown/cgroupv2_docs
Anita Zhang [Mon, 30 Sep 2019 21:00:38 +0000 (14:00 -0700)] 
Merge pull request #13687 from cdown/cgroupv2_docs

cgroup: minor doc improvements

5 years agocgroup: Respect DefaultMemoryMin when setting memory.min
Chris Down [Mon, 30 Sep 2019 17:25:09 +0000 (18:25 +0100)] 
cgroup: Respect DefaultMemoryMin when setting memory.min

This is an oversight from https://github.com/systemd/systemd/pull/12332.

Sadly the tests didn't catch it since it requires a real cgroup
hierarchy to see, and it wasn't seen in prod since we're only currently
using DefaultMemoryLow, not DefaultMemoryMin. :-(

5 years agocgroup: Check ancestor memory min for unified memory config
Chris Down [Mon, 30 Sep 2019 17:24:26 +0000 (18:24 +0100)] 
cgroup: Check ancestor memory min for unified memory config

Otherwise we might not enable it when we should, ie. DefaultMemoryMin is
set in a parent, but not MemoryMin in the current unit.

5 years agoConsider smb3 as remote filesystem
Kenneth D'souza [Mon, 30 Sep 2019 10:31:21 +0000 (16:01 +0530)] 
Consider smb3 as remote filesystem

Currently systemd will treat smb3 as local filesystem and cause
can't boot failures. Add smb3 to the list of remote filesystems
to fix this issue.

Signed-off-by: Kenneth D'souza <kdsouza@redhat.com>
5 years agocgroup: docs: memory.high doc fixups 13687/head
Chris Down [Mon, 30 Sep 2019 13:25:14 +0000 (14:25 +0100)] 
cgroup: docs: memory.high doc fixups

The docs just tautologically call this the "high limit". Just call it
throttling as we do in cgroup-v2.rst.

5 years agocgroup: docs: Mention unbounded protection for memory.{low,min}
Chris Down [Mon, 30 Sep 2019 13:23:32 +0000 (14:23 +0100)] 
cgroup: docs: Mention unbounded protection for memory.{low,min}

I got asked why Memory{Low,Min} don't allow "infinity". They do, but the
docs don't say that like they already do for Memory{High,Max}.

5 years agoHandle d_type == DT_UNKNOWN correctly
Michael Olbrich [Sun, 29 Sep 2019 11:43:00 +0000 (13:43 +0200)] 
Handle d_type == DT_UNKNOWN correctly

As documented in the man-page, readdir() may return a directory entry with
d_type == DT_UNKNOWN. This must be handled for regular filesystems.

dirent_ensure_type() is available to set d_type if necessary. Use it in
some more places.

Without this systemd will fail to boot correctly with nfsroot and some
other filesystems.

Closes #13609

5 years agotest: allow use of nested KVM
Frantisek Sumsal [Thu, 26 Sep 2019 21:29:38 +0000 (23:29 +0200)] 
test: allow use of nested KVM

Introduce TEST_NESTED_KVM variable, which allows use of nested KVM for
QEMU VMs (which is disabled by default by KVM autodetection).

5 years agoMerge pull request #13651 from cdown/find_binary_2
Anita Zhang [Fri, 27 Sep 2019 16:39:10 +0000 (09:39 -0700)] 
Merge pull request #13651 from cdown/find_binary_2

util-lib: Don't propagate EACCES from find_binary PATH lookup to caller

5 years agoshared: fix a copy-paste error in ethtool-util
Frantisek Sumsal [Thu, 26 Sep 2019 13:13:21 +0000 (15:13 +0200)] 
shared: fix a copy-paste error in ethtool-util

CID#1405818

5 years agoutil-lib: Don't propagate EACCES from find_binary PATH lookup to caller 13651/head
Chris Down [Wed, 25 Sep 2019 16:09:38 +0000 (17:09 +0100)] 
util-lib: Don't propagate EACCES from find_binary PATH lookup to caller

On one of my test machines, test-path-util was failing because the
find_binary("xxxx-xxxx") was returning -EACCES instead of -ENOENT. This
happens because the PATH entry on that host contains a directory which
the user in question doesn't have access to. Typically applications
ignore permission errors when searching through PATH, for example in
bash:

    $ whoami
    cdown
    $ PATH=/root:/bin type sh
    sh is /bin/sh

This behaviour is present on zsh and other shells as well, though. This
patch brings our PATH search behaviour closer to other major Unix tools.

5 years agodhcp4: make IPServiceType configurable
Siddharth Chandrasekara [Mon, 23 Sep 2019 11:25:21 +0000 (04:25 -0700)] 
dhcp4: make IPServiceType configurable

IPServiceType set to CS6 (network control) causes problems on some old
network setups that continue to interpret the field as IP TOS.

Make DHCP work on such networks by allowing this field to be set to
CS4 (Realtime) instead, as this maps to IPTOS_LOWDELAY.

Signed-off-by: Siddharth Chandrasekaran <csiddharth@vmware.com>
5 years agonetwork: drop noisy log message
Yu Watanabe [Wed, 25 Sep 2019 15:21:00 +0000 (00:21 +0900)] 
network: drop noisy log message

Closes #13595.

5 years agoMerge pull request #13649 from keszybz/arphrd-minimization
Yu Watanabe [Wed, 25 Sep 2019 15:12:20 +0000 (00:12 +0900)] 
Merge pull request #13649 from keszybz/arphrd-minimization

Arphrd minimization

5 years agoUpdated log message when the timesync happens for the first time (#13624)
cbzxt [Wed, 25 Sep 2019 15:02:46 +0000 (20:32 +0530)] 
Updated log message when the timesync happens for the first time (#13624)

5 years agounits: make systemd-binfmt.service easier to work with no autofs
Zbigniew Jędrzejewski-Szmek [Wed, 18 Sep 2019 10:01:41 +0000 (12:01 +0200)] 
units: make systemd-binfmt.service easier to work with no autofs

See https://bugzilla.redhat.com/show_bug.cgi?id=1731772:
when autofs4 is disabled in the kernel,
proc-sys-fs-binfmt_misc.automount is not started, so the binfmt_misc module is
never loaded. If we added a dependency on proc-sys-fs-binfmt_misc.mount
to systemd-binfmt.service, things would work even if autofs4 was disabled, but
we would unconditionally pull in the module and mount, which we don't want to do.
(Right now we ony load the module if some binfmt is configured.)
But let's make it easier to handle this case by doing two changes:
1. order systemd-binfmt.service after the .mount unit (so that the .service
   can count on the mount if both units are pulled in, even if .automount
   is skipped)
2. add [Install] section to the service unit. This way the user can do
   'systemctl enable proc-sys-fs-binfmt_misc.mount' to get the appropriate behaviour.

5 years agobasic/arphrd: stop discriminating against NETROM and CISCO 13649/head
Zbigniew Jędrzejewski-Szmek [Wed, 25 Sep 2019 10:14:07 +0000 (12:14 +0200)] 
basic/arphrd: stop discriminating against NETROM and CISCO

ARPHRD_NETROM was excluded, most likely just because it is protocol No. 0,
and ARPHRD_CISCO was reported under its alias name "HDLC". Let's just
allow defined aliases under the main name.

5 years agobasic: massively reduce the size of arphdr lookup functions
Zbigniew Jędrzejewski-Szmek [Wed, 25 Sep 2019 10:06:05 +0000 (12:06 +0200)] 
basic: massively reduce the size of arphdr lookup functions

Our biggest object in libsystemd was a table full of zeros, for the arphdr
names. Let's use a switch (which gcc nicely optimizes for us), instead a
table with a gap between 826 and 65534:

$ ls -l build{,2}/src/basic/a6ba3eb@@basic@sta/arphrd-list.c.o
-rw-rw-r--. 1 zbyszek zbyszek 540232 Sep 22 00:29 build/src/basic/a6ba3eb\@\@basic\@sta/arphrd-list.c.o
-rw-rw-r--. 1 zbyszek zbyszek  20512 Sep 25 11:56 build2/src/basic/a6ba3eb\@\@basic\@sta/arphrd-list.c.o

$ ls -l build{,2}/src/shared/libsystemd-shared-243.so
-rwxrwxr-x. 1 zbyszek zbyszek 6774368 Sep 22 00:29 build/src/shared/libsystemd-shared-243.so
-rwxrwxr-x. 1 zbyszek zbyszek 6254808 Sep 25 12:16 build2/src/shared/libsystemd-shared-243.so

No functional change.

5 years agoMerge pull request #13648 from evverx/unbreak-semaphore
Chris Down [Wed, 25 Sep 2019 09:41:03 +0000 (11:41 +0200)] 
Merge pull request #13648 from evverx/unbreak-semaphore

semaphore: turn on systemd-networkd in lxc-containers on Semaphore

5 years agotest-arphdr-list: modernize and provide some useful output
Zbigniew Jędrzejewski-Szmek [Wed, 25 Sep 2019 09:39:10 +0000 (11:39 +0200)] 
test-arphdr-list: modernize and provide some useful output

5 years agoMerge pull request #13636 from traylenator/manpage
Chris Down [Wed, 25 Sep 2019 09:32:20 +0000 (11:32 +0200)] 
Merge pull request #13636 from traylenator/manpage

Corect man page reference in systemd-nologin.conf comments

5 years agoMerge pull request #13641 from pwithnall/machinectl-docs-typo
Chris Down [Wed, 25 Sep 2019 09:24:11 +0000 (11:24 +0200)] 
Merge pull request #13641 from pwithnall/machinectl-docs-typo

man: Add a missing space in machinectl(1)

5 years agolog: Add missing "%" in "%m" log format strings
Filipe Brandenburger [Tue, 24 Sep 2019 22:31:27 +0000 (15:31 -0700)] 
log: Add missing "%" in "%m" log format strings

These were clearly intended to be "%m" to display the human readable version
of the error stored in errno.

5 years agosemaphore: turn on systemd-networkd in lxc-containers on Semaphore 13648/head
Evgeny Vereshchagin [Wed, 25 Sep 2019 05:19:12 +0000 (05:19 +0000)] 
semaphore: turn on systemd-networkd in lxc-containers on Semaphore

It appears networking.service has broken down on Debian Buster.

5 years agoMerge pull request #13481 from Antique/cgroupv2
Chris Down [Tue, 24 Sep 2019 19:57:06 +0000 (21:57 +0200)] 
Merge pull request #13481 from Antique/cgroupv2

cgroup: introduce support for cgroup v2 CPUSET controller

5 years agoman: Add a missing space in machinectl(1) 13641/head
Philip Withnall [Tue, 24 Sep 2019 15:07:23 +0000 (16:07 +0100)] 
man: Add a missing space in machinectl(1)

Signed-off-by: Philip Withnall <withnall@endlessm.com>
5 years agolink: Add support to configure NIC ring buffer size
Susant Sahani [Mon, 23 Sep 2019 14:51:02 +0000 (16:51 +0200)] 
link: Add support to configure NIC ring buffer size

5 years agotest-mountpoint-util: improve output a bit
Zbigniew Jędrzejewski-Szmek [Tue, 24 Sep 2019 13:21:47 +0000 (15:21 +0200)] 
test-mountpoint-util: improve output a bit

5 years agocgroup-util: fix obsolete comment about supported controllers 13481/head
Pavel Hrdina [Tue, 10 Sep 2019 07:09:46 +0000 (09:09 +0200)] 
cgroup-util: fix obsolete comment about supported controllers

The list might grow so make the comment more generic to not worry about
it if some controller is implemented.

5 years agocgroup: introduce support for cgroup v2 CPUSET controller
Pavel Hrdina [Mon, 29 Jul 2019 15:50:05 +0000 (17:50 +0200)] 
cgroup: introduce support for cgroup v2 CPUSET controller

Introduce support for configuring cpus and mems for processes using
cgroup v2 CPUSET controller.  This allows users to limit which cpus
and memory NUMA nodes can be used by processes to better utilize
system resources.

The cgroup v2 interfaces to control it are cpuset.cpus and cpuset.mems
where the requested configuration is written.  However, it doesn't mean
that the requested configuration will be actually used as parent cgroup
may limit the cpus or mems as well.  In order to reflect the real
configuration cgroup v2 provides read-only files cpuset.cpus.effective
and cpuset.mems.effective which are exported to users as well.

5 years agoCorect man page reference in systemd-nologin.conf comments 13636/head
Steve Traylen [Tue, 24 Sep 2019 07:48:03 +0000 (09:48 +0200)] 
Corect man page reference in systemd-nologin.conf comments

The reference to the man page of `systemd-user-sessions.service`
in the comments of `tmpfiles.d/systemd-nologin.conf` is corrected.

5 years agoMerge pull request #13600 from keszybz/ratelimit
Lennart Poettering [Mon, 23 Sep 2019 10:59:09 +0000 (12:59 +0200)] 
Merge pull request #13600 from keszybz/ratelimit

Clean up ratelimit functions and disable /dev/kmsg ratelimit

5 years agoMerge pull request #11883 from yuwata/network-dhcp-renew
Yu Watanabe [Sun, 22 Sep 2019 05:44:23 +0000 (07:44 +0200)] 
Merge pull request #11883 from yuwata/network-dhcp-renew

network: dhcp renew

5 years agoMerge pull request #13610 from yuwata/network-check-one-more-section
Yu Watanabe [Sun, 22 Sep 2019 05:18:28 +0000 (07:18 +0200)] 
Merge pull request #13610 from yuwata/network-check-one-more-section

network: assorted follow-ups

5 years agoman: fix typo
Michael Biebl [Sat, 21 Sep 2019 15:06:25 +0000 (17:06 +0200)] 
man: fix typo

5 years agotree-wide: various code-formatting improvements
Frantisek Sumsal [Sat, 21 Sep 2019 14:01:14 +0000 (16:01 +0200)] 
tree-wide: various code-formatting improvements

Reported/found by Coccinelle

5 years agonetworkctl: add renew command 11883/head
Yu Watanabe [Thu, 18 Jul 2019 13:26:49 +0000 (22:26 +0900)] 
networkctl: add renew command

5 years agonetwork: introduce new bus method Renew() and RenewLink()
Yu Watanabe [Mon, 4 Mar 2019 08:54:48 +0000 (17:54 +0900)] 
network: introduce new bus method Renew() and RenewLink()

5 years agonetwork: add one more section validty check 13610/head
Yu Watanabe [Thu, 19 Sep 2019 06:20:00 +0000 (15:20 +0900)] 
network: add one more section validty check

Follow-up for 203d4df5732b1fdcf50db498ddeb74a934b21f87.

5 years agopo: update Japanese translations
Yu Watanabe [Sat, 21 Sep 2019 11:15:06 +0000 (20:15 +0900)] 
po: update Japanese translations

Follow-up for ea2552639b22004c89df26f2374e3d3f1d2acace.

5 years agol10n: update Czech Translation
AsciiWolf [Thu, 19 Sep 2019 13:36:42 +0000 (15:36 +0200)] 
l10n: update Czech Translation

5 years agoMerge pull request #13605 from cdown/ono
Chris Down [Fri, 20 Sep 2019 16:10:34 +0000 (18:10 +0200)] 
Merge pull request #13605 from cdown/ono

Fixes for recent SIP work

5 years agobasic/log: put a ratelimit on our logging to /dev/kmsg 13600/head
Zbigniew Jędrzejewski-Szmek [Thu, 19 Sep 2019 16:01:23 +0000 (18:01 +0200)] 
basic/log: put a ratelimit on our logging to /dev/kmsg

See the inline comment for details.

5 years agopid1: disable printk ratelimit in early boot
Zbigniew Jędrzejewski-Szmek [Wed, 18 Sep 2019 19:02:07 +0000 (21:02 +0200)] 
pid1: disable printk ratelimit in early boot

We have the problem that many early boot or late shutdown issues are harder
to solve than they could be because we have no logs. When journald is not
running, messages are redirected to /dev/kmsg. It is also the time when many
things happen in a rapid succession, so we tend to hit the kernel printk
ratelimit fairly reliably. The end result is that we get no logs from the time
where they would be most useful. Thus let's disable the kernels ratelimit.

Once the system is up and running, the ratelimit is not a problem. But during
normal runtime, things also log to journald, and not to /dev/kmsg, so the
ratelimit is not useful. Hence, there doesn't seem to be much point in trying
to restore the ratelimit after boot is finished and journald is up and running.

See kernel's commit 750afe7babd117daabebf4855da18e4418ea845e for the
description of the kenrel interface. Our setting has lower precedence than
explicit configuration on the kenrel command line.

5 years agotree-wide: say "ratelimit" not "rate_limit"
Zbigniew Jędrzejewski-Szmek [Thu, 19 Sep 2019 15:49:14 +0000 (17:49 +0200)] 
tree-wide: say "ratelimit" not "rate_limit"

"ratelimit" is a real word, so we don't need to use the other form anywhere.
We had both forms in various places, let's standarize on the shorter and more
correct one.

5 years agopid1: rename start_limit to start_ratelimit
Zbigniew Jędrzejewski-Szmek [Thu, 19 Sep 2019 15:45:41 +0000 (17:45 +0200)] 
pid1: rename start_limit to start_ratelimit

This way it is clearer what the type is. We also have auto_stop_ratelimit adjacent,
and it feels ugly to have a different suffix for those two.

5 years agoDrop RATELIMIT macros
Zbigniew Jędrzejewski-Szmek [Thu, 19 Sep 2019 15:41:20 +0000 (17:41 +0200)] 
Drop RATELIMIT macros

Using plain structure initialization is both shorter _and_ more clearer.
We get type safety for free.

5 years agosd-radv: if lifetime < SD_RADV_DEFAULT_MAX_TIMEOUT_USEC, adjust timeout (#13491)
Georg Müller [Fri, 20 Sep 2019 08:23:45 +0000 (10:23 +0200)] 
sd-radv: if lifetime < SD_RADV_DEFAULT_MAX_TIMEOUT_USEC, adjust timeout (#13491)

The RFC states that lifetime (AdvDefaultLifetime) must be at least
MaxRtrAdvInterval (which more or less corresponds to SD_RADV_DEFAULT_MAX_TIMEOUT_USEC
in systemd).

To fulfill this limit, virtually lower MaxRtrAdvInterval and MinRtrAdvInterval
accordingly.

Also check that min is not lower than 3s and max is not lower than 4s.

5 years agonetworkd: Fix SIP double-free 13605/head
Chris Down [Fri, 20 Sep 2019 13:14:05 +0000 (15:14 +0200)] 
networkd: Fix SIP double-free

This is already strv_freed right above

5 years agodhcp: Log SIP server information correctly
Chris Down [Fri, 20 Sep 2019 13:13:00 +0000 (15:13 +0200)] 
dhcp: Log SIP server information correctly

5 years agonetwork: DHCP server Add support to transmit SIP server
Susant Sahani [Wed, 18 Sep 2019 13:22:47 +0000 (15:22 +0200)] 
network: DHCP server Add support to transmit SIP server

1. DHCP server trasmit
2. Client parses and saves in leases
Implements http://www.rfc-editor.org/rfc/rfc3361.txt

```
Frame 134: 348 bytes on wire (2784 bits), 348 bytes captured (2784 bits) on interface 0
Ethernet II, Src: 42:65:85:d6:4e:32 (42:65:85:d6:4e:32), Dst: 1e:04:f8:b8:2f:d4 (1e:04:f8:b8:2f:d4)
Internet Protocol Version 4, Src: 192.168.5.1, Dst: 192.168.5.11
User Datagram Protocol, Src Port: 67, Dst Port: 68
Dynamic Host Configuration Protocol (ACK)
    Message type: Boot Reply (2)
    Hardware type: Ethernet (0x01)
    Hardware address length: 6
    Hops: 0
    Transaction ID: 0x7cc87cb4
    Seconds elapsed: 0
    Bootp flags: 0x0000 (Unicast)
    Client IP address: 0.0.0.0
    Your (client) IP address: 192.168.5.11
    Next server IP address: 0.0.0.0
    Relay agent IP address: 0.0.0.0
    Client MAC address: 1e:04:f8:b8:2f:d4 (1e:04:f8:b8:2f:d4)
    Client hardware address padding: 00000000000000000000
    Server host name not given
    Boot file name not given
    Magic cookie: DHCP
    Option: (53) DHCP Message Type (ACK)
        Length: 1
        DHCP: ACK (5)
    Option: (51) IP Address Lease Time
        Length: 4
        IP Address Lease Time: (3600s) 1 hour
    Option: (1) Subnet Mask (255.255.255.0)
        Length: 4
        Subnet Mask: 255.255.255.0
    Option: (3) Router
        Length: 4
        Router: 192.168.5.1
    Option: (6) Domain Name Server
        Length: 4
        Domain Name Server: 192.168.5.1
    Option: (42) Network Time Protocol Servers
        Length: 4
        Network Time Protocol Server: 192.168.1.1
    Option: (120) SIP Servers <=====here
        Length: 9
        SIP Server Encoding: IPv4 Address (1)
        SIP Server Address: 192.168.1.1
        SIP Server Address: 192.168.5.2
    Option: (101) TCode
        Length: 13
        TZ TCode: Europe/Berlin
    Option: (54) DHCP Server Identifier (192.168.5.1)
        Length: 4
        DHCP Server Identifier: 192.168.5.1
    Option: (255) End
        Option End: 255
```

```
cat /run/systemd/netif/state                                                                                                   ✔  ⚡  3148  16:40:51
OPER_STATE=routable
CARRIER_STATE=carrier
ADDRESS_STATE=routable
DNS=192.168.94.2 192.168.5.1
NTP=192.168.5.1
SIP=192.168.1.1 192.168.5.2

```

aa

5 years agonetwork dhcp4: Add support send request options in a generic manner
Susant Sahani [Tue, 17 Sep 2019 12:49:22 +0000 (14:49 +0200)] 
network dhcp4: Add support send request options in a generic manner

5 years agopolkit: fix typo
AsciiWolf [Thu, 19 Sep 2019 12:34:31 +0000 (14:34 +0200)] 
polkit: fix typo

5 years agotest-network: Drop start dnsmasq
Susant Sahani [Wed, 18 Sep 2019 12:14:15 +0000 (14:14 +0200)] 
test-network: Drop start dnsmasq

5 years agodhcp6: use unaligned_read_be32()
Yu Watanabe [Wed, 18 Sep 2019 13:14:45 +0000 (22:14 +0900)] 
dhcp6: use unaligned_read_be32()

Closes #13591.

5 years agopid1: do not warn if /run/systemd/relabel-extra.d/ doesn't exist
Zbigniew Jędrzejewski-Szmek [Wed, 18 Sep 2019 15:52:30 +0000 (17:52 +0200)] 
pid1: do not warn if /run/systemd/relabel-extra.d/ doesn't exist

After all, that is the expected state.

5 years agoMerge pull request #13582 from yuwata/udevadm-reload
Yu Watanabe [Tue, 17 Sep 2019 23:15:01 +0000 (08:15 +0900)] 
Merge pull request #13582 from yuwata/udevadm-reload

udevadm: use 'udevadm control' to reload udevd

5 years agoMerge pull request #13583 from keszybz/networkd-hash-compare-equality
Yu Watanabe [Tue, 17 Sep 2019 23:09:48 +0000 (08:09 +0900)] 
Merge pull request #13583 from keszybz/networkd-hash-compare-equality

Networkd hash compare equality

5 years agodhcp6: add missing option length check
Yu Watanabe [Tue, 17 Sep 2019 13:18:49 +0000 (22:18 +0900)] 
dhcp6: add missing option length check

Closes #13578.

5 years agoMerge pull request #13577 from yuwata/network-fix-ci-failure
Frantisek Sumsal [Tue, 17 Sep 2019 17:42:26 +0000 (17:42 +0000)] 
Merge pull request #13577 from yuwata/network-fix-ci-failure

network: fix CI failure

5 years agonetworkd: unbreak routing_policy_rule_compare_func() 13583/head
Zbigniew Jędrzejewski-Szmek [Tue, 17 Sep 2019 17:27:58 +0000 (19:27 +0200)] 
networkd: unbreak routing_policy_rule_compare_func()

!r is the same r == 0, so this was short-circuiting the comparison when
streq(a->iff, b->iff) or streq(a->off, b->off). Before the parent commit which
moved those comparisons to the end, this was short-circuiting quite a bit
of the comparison function.

5 years agoMerge pull request #13508 from yuwata/network-route-fix-13506
Zbigniew Jędrzejewski-Szmek [Tue, 17 Sep 2019 17:20:21 +0000 (19:20 +0200)] 
Merge pull request #13508 from yuwata/network-route-fix-13506

network: takes more route information into hash func

5 years agonetworkd: make neighbor_hash_func() handle the same data as neighbor_compare_func()
Zbigniew Jędrzejewski-Szmek [Tue, 17 Sep 2019 17:13:09 +0000 (19:13 +0200)] 
networkd: make neighbor_hash_func() handle the same data as neighbor_compare_func()

In practice this probably makes little difference, because we only use AF_INET
and AF_INET6, but it's cleaner to use the same logic in both places.

5 years agonetworkd: use same order in _hash_func() and _compare_func()
Zbigniew Jędrzejewski-Szmek [Tue, 17 Sep 2019 17:11:31 +0000 (19:11 +0200)] 
networkd: use same order in _hash_func() and _compare_func()

This makes it easier to see that the same data is handled in both cases.
No functional change.