Jan Chren [Mon, 24 Aug 2020 14:40:11 +0000 (16:40 +0200)]
man: fix a fix of a typo in systemd.service example
The fix from
cb263973acf83de22a86f08fe502a9cbd6c01d2b was made the other way around,
i.e. `SIGKILL` was changed to `SIGUSR1`, but the sentence is about a "termination signal", i.e. `SIGKILL`, not `SIGUSR1`.
(cherry picked from commit
be3f62faf5d498aaab4cf6ceb3ca56e0d994ddf5)
Clemens Gruber [Fri, 21 Aug 2020 14:03:23 +0000 (16:03 +0200)]
network: can: Fix CAN initialization
When introducing CAN-FD support, the .can_fd_mode was not initalized
with -1 and due to cm.mask containing the CAN_CTRLMODE_FD bit, it was
not ignored when FDMode was not configured but instead disabled.
The same thing happened when listen-only mode support was introduced.
On chips that do not support these features, this lead to an error:
can0: Failed to configure CAN link: Operation not supported
Fix it by intializing all the CAN related tristate variables
(.can_listen_only, .can_fd_mode and .can_non_iso) to -1.
(cherry picked from commit
f594b5feabee38dded4b7ae288fba6c3b6c79a45)
Zbigniew Jędrzejewski-Szmek [Sat, 22 Aug 2020 10:25:44 +0000 (12:25 +0200)]
Yu Watanabe [Fri, 21 Aug 2020 06:30:05 +0000 (15:30 +0900)]
man: fix invalid tag place
(cherry picked from commit
d91b9bbce881c7e0d2ee80208325be59924b0e8f)
Zbigniew Jędrzejewski-Szmek [Thu, 20 Aug 2020 15:41:19 +0000 (17:41 +0200)]
man: add conditionals to more man pages
Fixes #16701.
(cherry picked from commit
bb5a34fb3eeef824afe02b679d391853244161b1)
Zbigniew Jędrzejewski-Szmek [Thu, 20 Aug 2020 15:35:50 +0000 (17:35 +0200)]
meson: add ENABLE_ANALYZE conditional
(cherry picked from commit
b3259a6e5f05ebaf5282e624f80ecf04b77a0adb)
Lennart Poettering [Thu, 20 Aug 2020 11:44:12 +0000 (13:44 +0200)]
core: add missing conditions/asserts to unit file parsing
(cherry picked from commit
4f55a5b0bf1e68e4595120d8ac4b518654355fc3)
Lennart Poettering [Thu, 20 Aug 2020 11:43:00 +0000 (13:43 +0200)]
analyze: rework condition testing
Let's drop the private table and just use the generic concepts we have
in place already that make the same information available.
Fixes: #16781
(cherry picked from commit
625a164069aff9efb61dcc5916c572f53c2a7ab0)
Lennart Poettering [Thu, 20 Aug 2020 10:59:23 +0000 (12:59 +0200)]
sd-bus: fix error handling on readv()
let's make sure we collect the right error code from errno, otherwise
we'll see EPERM (i.e. error 1) for all errors readv() returns (since it
returns -1 on error), including EAGAIN.
This is definitely backport material.
A fix-up for
3691bcf3c5eebdcca5b4f1c51c745441c57a6cd1.
Fixes: #16699
(cherry picked from commit
c1093c34d7d81b5b13cc72d4d1941000813001da)
Lennart Poettering [Wed, 19 Aug 2020 15:05:44 +0000 (17:05 +0200)]
user-runtime-dir: deal gracefully with missing logind properties
Fixes: #16685
(cherry picked from commit
5d1e68b49489574ef57947c5f1adfc761547eea9)
Zbigniew Jędrzejewski-Szmek [Tue, 18 Aug 2020 14:10:47 +0000 (16:10 +0200)]
shared/seccomp: do not use ifdef guards around textual syscall names
It is possible that we will be running with an upgraded libseccomp, in which
case libseccomp might know the syscall name, even if the number is not known at
the time when systemd is being compiled. The guard only serves to break such
upgrades, by requiring that we also recompile systemd.
For s390-specific syscalls, use a define to exclude them, so that that we don't
try to filter them on other arches.
(cherry picked from commit
6da432fd542af5553742b905a0f87a825a28a399)
Lennart Poettering [Wed, 19 Aug 2020 15:07:41 +0000 (17:07 +0200)]
machine-id-setup: don't use KVM or container manager supplied uuid if in chroot env
Fixes: #16758
(cherry picked from commit
1f894e682cb34d8d713378d01dc0565b7b5a245f)
Phaedrus Leeds [Wed, 19 Aug 2020 16:36:32 +0000 (09:36 -0700)]
man: Fix typo in systemd-tmpfiles
(cherry picked from commit
c2892a244c82ee142089f8fb7848547dada4ed32)
Lennart Poettering [Mon, 17 Aug 2020 20:07:55 +0000 (22:07 +0200)]
homework: downgrade chattr failure log message
NOCOW is a btrfs-only thing hence don't log louder than necessary if we
don't have it.
(cherry picked from commit
64dc138d1ebbe11eda7872522263a35237916183)
Lennart Poettering [Mon, 17 Aug 2020 20:09:04 +0000 (22:09 +0200)]
homework: explicitly close cryptsetup context, to not keep loopback device busy
The cryptsetup context pins the loop device even after deactivation.
Let's explicitly release the context to make sure the subsequent
loopback device detaching works cleanly.
(cherry picked from commit
df14bda2b5de8ea022a915774c5a4e4660e421b6)
Lennart Poettering [Mon, 17 Aug 2020 18:20:47 +0000 (20:20 +0200)]
homework: correct error passed into log message
(cherry picked from commit
6d7b47eb3eb71b37c768e588173f2c8169e953e7)
Lennart Poettering [Mon, 17 Aug 2020 17:54:38 +0000 (19:54 +0200)]
homework: sync everything to disk before we rename LUKS loopback file into place
This how this works on Linux: when atomically creating a file we need to
fully populate it under a temporary name and then when we are fully
done, sync it and the directory it is contained in, before renaming it
to the final name.
(cherry picked from commit
a2a8a509cd56955c0ce42ba0650d163e0d3eeb82)
Lennart Poettering [Mon, 17 Aug 2020 16:19:30 +0000 (18:19 +0200)]
homed: downgrade quota message in containers
quota syscalls and operations are typically prohibited in containers.
Let's not make noise about that, needlessly.
(cherry picked from commit
5e5e11b8744fbe9dcd87a2d165f342dc9bcd4008)
Zbigniew Jędrzejewski-Szmek [Sat, 1 Aug 2020 09:28:09 +0000 (11:28 +0200)]
analyze-security: do not assign badness to filtered-out syscalls
Fixes #16451, https://bugzilla.redhat.com/show_bug.cgi?id=
1856273.
(cherry picked from commit
01ecb3674ad3650bcbb14155b2dcbd4b9f4ed57e)
Zbigniew Jędrzejewski-Szmek [Fri, 31 Jul 2020 13:36:07 +0000 (15:36 +0200)]
NEWS: clarify two points
I was reading a summary of changes on Phoronix, and (while not incorrect)
those two points were rather misleading.
(cherry picked from commit
c2cfb12641eb6d47c66ae14d916f0df86de5d8f8)
Anita Zhang [Tue, 18 Aug 2020 06:09:38 +0000 (23:09 -0700)]
meson: add min version for libfdisk
Was trying to run src/partition/test-repart.sh on CentOS 8 and the first
resize call kept failing with ERANGE. Turned out that CentOS 8 comes
with libfdisk-devel-2.32.1 which is missing
https://github.com/karelzak/util-linux/commit/
2f35c1ead621f42f32f7777232568cb03185b473
(in libfdisk 2.33 and up).
(cherry picked from commit
e71f5585b9b0580428f9530d0a485265c9c25165)
Alyssa Ross [Tue, 18 Aug 2020 20:56:59 +0000 (20:56 +0000)]
load-fragment: fix grammar in error messages
(cherry picked from commit
556a7bbed607ec8cbbf4affc5d862ef92403418e)
Nicolas Fella [Tue, 18 Aug 2020 20:36:47 +0000 (22:36 +0200)]
Fix function description in logind man page
Fix a presumed copy&paste error. SetLockedHint corresponds to the "locked hint", not the "idle hint".
(cherry picked from commit
07b4f4496868578e56932a292de0f0b1881ecc84)
Yu Watanabe [Tue, 18 Aug 2020 10:21:25 +0000 (19:21 +0900)]
network: do not fail if UseMTU=yes on DHCP lease lost
This fixes a bug introduced by
6906794dd1698954b349ec3ec84f1494ecd63cd3.
Fixes #16768.
(cherry picked from commit
46b875fb803ce8ee9bcb6a23ad6339db4f735d3a)
Zbigniew Jędrzejewski-Szmek [Sun, 16 Aug 2020 14:19:29 +0000 (16:19 +0200)]
missing_syscall: do not use function name that may conflict with glibc
This was done for all replacements back in
5187dd2c403caf92d09f3491e41f1ceb3f10491f,
but some newer stuff didn't do this.
(cherry picked from commit
faeae444ea452139519718ceb681e8b5831b6890)
Zbigniew Jędrzejewski-Szmek [Sat, 15 Aug 2020 17:01:23 +0000 (19:01 +0200)]
missing_syscall: fix pidfd_{send_signal,open} numbers for alpha
Also order the syscalls by syscall number for easier comparisons with the
kernel headers.
Fixup for
5f152f43d04e5aad6a3f98f45f020a66e3aac717.
(cherry picked from commit
23654cee136862996d92e7f1e9887786ddb3dfe6)
Yu Watanabe [Sat, 8 Aug 2020 03:36:18 +0000 (12:36 +0900)]
network: wait for previous address removal before configuring static addresses
Fixes #16696.
(cherry picked from commit
9b966cee435fecfdee79f3e0aff0dec0a4e68f14)
Yu Watanabe [Sat, 8 Aug 2020 03:31:12 +0000 (12:31 +0900)]
network: only process non-error message
(cherry picked from commit
fb282d4e256a79b19d3299999024e8fafd2ab0a0)
Lennart Poettering [Fri, 14 Aug 2020 19:50:55 +0000 (21:50 +0200)]
test: accept that char device 0/0 can now be created witout privileges
Fixes: #16721
(cherry picked from commit
5b5ce6298e5a1c09beacd5c963e2350979cbf94a)
Haochen Tong [Sun, 16 Aug 2020 01:28:46 +0000 (03:28 +0200)]
tools/make-man-index: fix purpose text that contains tags
(cherry picked from commit
f3317336450e1145b97ae9e38bd626f3d4c88eb8)
Topi Miettinen [Mon, 17 Aug 2020 09:08:57 +0000 (12:08 +0300)]
test-fs-util: skip encrypted path test if we get EACCES
Unprivileged test-fs-util fails on my system since /sys/dev/block is
inaccessible for unprivileged users, so let's skip encrypted path test if we
get EACCES or similar.
(cherry picked from commit
209650b7200115d2cad9081cb97e22608fce41f8)
Michael Scherer [Sat, 15 Aug 2020 16:12:02 +0000 (18:12 +0200)]
Newer Glibc use faccessat2 to implement faccessat
cf https://repo.or.cz/glibc.git/commit/
3d3ab573a5f3071992cbc4f57d50d1d29d55bde2
This cause breakage on Fedora Rawhide: https://bugzilla.redhat.com/show_bug.cgi?id=
1869030
(cherry picked from commit
bcf08acbffdee0d6360d3c31d268e73d0623e5dc)
Lennart Poettering [Fri, 14 Aug 2020 09:07:18 +0000 (11:07 +0200)]
namespace: fix minor memory leak
(cherry picked from commit
3f181262f4aa746177ea311827c268652bdb1c33)
Lennart Poettering [Tue, 11 Aug 2020 12:50:32 +0000 (14:50 +0200)]
man: fix incorrectly placed full stop
(cherry picked from commit
6b49257f6b92c1bcdf02ca0e896009da36ed9bb0)
Zbigniew Jędrzejewski-Szmek [Wed, 5 Aug 2020 17:44:53 +0000 (19:44 +0200)]
man: fix typo
(cherry picked from commit
d08a529518c37734e4e77540844373249589fb78)
Zbigniew Jędrzejewski-Szmek [Wed, 5 Aug 2020 10:16:03 +0000 (12:16 +0200)]
bless-boot: add missing verb to --help
There is also "help" verb which duplicates the --help option. I don't
think we should advertise it.
(cherry picked from commit
ddd8e23dc9d6ab33b3b3c243369042a325ba618d)
Lennart Poettering [Thu, 6 Aug 2020 15:00:07 +0000 (17:00 +0200)]
user-record: deal with invalid GECOS fields gracefully
Let's fix up invalid GECOS fields both when we convert from NSS to JSON
and the other way round.
Kinda sucks we have to do that, but NSS does it when writing data to
/etc/passwd, so let's do the same.
Fixes: #16668
(cherry picked from commit
5cd12abaa0c0f3a06c9ff2048941fbe6e8b3577e)
Lennart Poettering [Thu, 6 Aug 2020 14:46:18 +0000 (16:46 +0200)]
user-util: add mangle_gecos() call for turning strings into fields suitable as GECOS fields
(cherry picked from commit
b10fd796f56e4f16f7430cd22f59f544766d3bef)
Matt Fenwick [Fri, 7 Aug 2020 14:43:11 +0000 (10:43 -0400)]
fix typo in systemctl help
(cherry picked from commit
c1c28fe2f70573270b0544670dba38b3a2f06c13)
Lennart Poettering [Thu, 6 Aug 2020 13:27:00 +0000 (15:27 +0200)]
man: clarify that LogNamespace= is for system services only
Fixes: #16638
(cherry picked from commit
a6991726f80c299ac7275f4570e310e1dd5bce96)
Kamil Dudka [Wed, 5 Aug 2020 21:53:40 +0000 (23:53 +0200)]
_sd-common.h: avoid parsing errors with Coverity
The commit
1070d271fa8fa553d57dd5f74dd1e3f60732d0b9 which was supposed
too fix this does not seem to take effect any more. We get again 34%
compilation success rate while scanning systemd itself. Moreover, the
installed header file breaks compilation of programs that include it:
"/usr/include/systemd/_sd-common.h", line 23: error #35: #error directive: "Do
not include _sd-common.h directly; it is a private header."
# error "Do not include _sd-common.h directly; it is a private header."
^
(cherry picked from commit
4191b3282afbca9f1ef333f91bb6566c374da1fe)
Zbigniew Jędrzejewski-Szmek [Sat, 1 Aug 2020 10:25:56 +0000 (12:25 +0200)]
analyze: fix 'cat-config systemd/zram-generator.conf'
Also makes this work for various systemd config files that support .d.
(cherry picked from commit
28365e88d0dfc6332b26120e23b2c39b7958f907)
Zbigniew Jędrzejewski-Szmek [Mon, 3 Aug 2020 11:22:01 +0000 (13:22 +0200)]
man: describe that changing Storage= does not move existing data
Fixes #16384.
(cherry picked from commit
f254abcd72b6ca6c4567c245a7dbaf739d02dfc2)
Zbigniew Jędrzejewski-Szmek [Mon, 3 Aug 2020 09:39:25 +0000 (11:39 +0200)]
core: reset bus error before reuse
From a report in https://bugzilla.redhat.com/show_bug.cgi?id=
1861463:
usb-gadget.target: Failed to load configuration: No such file or directory
usb-gadget.target: Failed to load configuration: No such file or directory
usb-gadget.target: Trying to enqueue job usb-gadget.target/start/fail
usb-gadget.target: Failed to load configuration: No such file or directory
Assertion '!bus_error_is_dirty(e)' failed at src/libsystemd/sd-bus/bus-error.c:239, function bus_error_setfv(). Ignoring.
sys-devices-platform-soc-
2100000.bus-
2184000.usb-ci_hdrc.0-udc-ci_hdrc.0.device: Failed to enqueue SYSTEMD_WANTS= job, ignoring: Unit usb-gadget.target not found.
I *think* this is the place where the reuse occurs: we call
bus_unit_validate_load_state(unit, e) twice in a row.
(cherry picked from commit
94efaa31812f664f0ad659f474db3da0f9c9bacd)
Daan De Meyer [Sat, 1 Aug 2020 14:05:01 +0000 (15:05 +0100)]
nspawn: Fix incorrect usage of putenv
strv_env_get only returns the environment variable value. putenv expects
KEY=VALUE format strings. Use setenv instead to fix the use.
(cherry picked from commit
6f646e01755df587bb33dae4ca78cdaad5721f5e)
Etienne Doms [Sat, 1 Aug 2020 10:47:17 +0000 (12:47 +0200)]
man: fix typo in systemd.service
Florian Klink [Fri, 31 Jul 2020 09:35:15 +0000 (11:35 +0200)]
network: fix DHCPv6 Prefix Delegation example after option rename
99e015e28c8322bf714f45cd1defcf20ac2103c5 missed to update the example
below - DHCPv6.AssignAcquiredDelegatedPrefixAddress was moved to
DHCPv6PrefixDelegation.Assign.
As it already defaulted to true since it's introduction in
9efa8a3cff9948d3a78597b74dca75c805716de4, there's no need to explicitly
list it at all.
Zbigniew Jędrzejewski-Szmek [Thu, 30 Jul 2020 18:57:50 +0000 (20:57 +0200)]
NEWS: last rites
Lennart Poettering [Thu, 30 Jul 2020 16:42:13 +0000 (18:42 +0200)]
loop-device: implicitly sync device on detach
Apparently, if IO is still in flight at the moment we invoke LOOP_CLR_FD
it is likely simply dropped (probably because yanking physical storage,
such as a USB stick would drop it too). Let's protect ourselves against
that and always sync explicitly before we invoke it.
Zbigniew Jędrzejewski-Szmek [Thu, 30 Jul 2020 18:47:41 +0000 (20:47 +0200)]
Merge pull request #16624 from keszybz/timesync-retry-interval
Make timesyncd retry interval grow more slowly
Amitanand.Chikorde [Thu, 30 Jul 2020 13:18:48 +0000 (18:48 +0530)]
udev: fix codesonar warnings
Fixed below systemd codesonar warning.
isprint() is invoked here with an argument of signed
type char, but only has defined behavior for int arguments that are
either representable as unsigned char or equal to the value
of macro EOF(-1).
As per codesonar report, in a number of libc implementations, isprint()
function implemented using lookup tables (arrays): passing in a
negative value can result in a read underrun.
Zbigniew Jędrzejewski-Szmek [Thu, 30 Jul 2020 11:36:10 +0000 (13:36 +0200)]
pid1: stop limiting size of /dev/shm
The explicit limit is dropped, which means that we return to the kernel default
of 50% of RAM. See
362a55fc14 for a discussion why that is not as much as it
seems. It turns out various applications need more space in /dev/shm and we
would break them by imposing a low limit.
While at it, rename the define and use a single macro for various tmpfs mounts.
We don't really care what the purpose of the given tmpfs is, so it seems
reasonable to use a single macro.
This effectively reverts part of
7d85383edbab7. Fixes #16617.
Lennart Poettering [Wed, 29 Jul 2020 17:09:48 +0000 (19:09 +0200)]
path-util: make use of TAKE_PTR() where we can
Kai-Heng Feng [Tue, 16 Jun 2020 05:24:27 +0000 (13:24 +0800)]
hwdb: Add EliteBook to use micmute hotkey
Like HP ZBooks, all EliteBooks use the same micmute scancode.
Lennart Poettering [Wed, 29 Jul 2020 17:20:39 +0000 (19:20 +0200)]
repart: log fixes
Zbigniew Jędrzejewski-Szmek [Thu, 30 Jul 2020 13:15:11 +0000 (15:15 +0200)]
timesync: increase retry interval more slowly
The new retry intervals are [15, 20, 26, 34, 45, 60, 80, 106, 141, 188, 250,
333, 360, ...]. This should allow graceful response if a transient network
failure is encountered. Growth is exponential, but with a small power and
capped to a non-too-large value so that we resynchronize within a few minutes
after network is restored. I made the minimum 15 s to make sure that we never
send packets more often than that.
Fixes #16492.
Benjamin Dahlhoff [Wed, 29 Jul 2020 18:02:55 +0000 (20:02 +0200)]
added alternative version of SurfTab Twin
Yu Watanabe [Thu, 30 Jul 2020 03:45:36 +0000 (12:45 +0900)]
network: fix use of uninitialized value
Follow-up for
6e537f62d71edea5bfcd2e2675c35ee840ffdc1f.
Michael Marley [Wed, 29 Jul 2020 19:13:35 +0000 (15:13 -0400)]
network: Fix "Unknown section 'DHCPv6PrefixDelegation'." message
Follow-up for https://github.com/systemd/systemd/commit/
99e015e28c8322bf714f45cd1defcf20ac2103c5
Yu Watanabe [Wed, 29 Jul 2020 16:02:52 +0000 (01:02 +0900)]
NEWS: mention about [DHCPv6PrefixDelegation] section
Follow-up for
99e015e28c8322bf714f45cd1defcf20ac2103c5.
Lennart Poettering [Wed, 29 Jul 2020 13:50:22 +0000 (15:50 +0200)]
meson: run 'ninja man/update-man-rules' again
Lennart Poettering [Wed, 29 Jul 2020 15:37:33 +0000 (17:37 +0200)]
man: fix link markup
Lennart Poettering [Wed, 29 Jul 2020 13:59:11 +0000 (15:59 +0200)]
Merge pull request #16585 from yuwata/network-dhcp6-fixes
network: fix several DHCP6 PD issues, and cleanup DHCP4 and NDISC
Lennart Poettering [Wed, 29 Jul 2020 13:54:51 +0000 (15:54 +0200)]
Merge pull request #16590 from keszybz/test-fs-util-relax
Small adjustements to let various tests pass in overloaded Fedora infra and related changes
Lennart Poettering [Wed, 29 Jul 2020 13:53:30 +0000 (15:53 +0200)]
Merge pull request #16576 from keszybz/bump-tmp-size
Increase /tmp size to 50% of RAM
Gaurav Singh [Tue, 28 Jul 2020 02:28:56 +0000 (22:28 -0400)]
test-cgroup-util: Handle result=NULL as empty string
Signed-off-by: Gaurav Singh <gaurav1086@gmail.com>
Daan De Meyer [Wed, 29 Jul 2020 07:21:01 +0000 (08:21 +0100)]
firstboot: Update help string with --root-shell options
Zbigniew Jędrzejewski-Szmek [Mon, 27 Jul 2020 15:36:56 +0000 (17:36 +0200)]
test-sleep: add more logging, show secure boot mode
In https://bugzilla.redhat.com/show_bug.cgi?id=
1858219 a user
reported that hibernation is not supported. This is probably caused
by secure boot, but our current logging does not make this
obvious.
Zbigniew Jędrzejewski-Szmek [Fri, 24 Jul 2020 20:24:59 +0000 (22:24 +0200)]
NEWS: mention new tmpfs limits
Zbigniew Jędrzejewski-Szmek [Fri, 24 Jul 2020 20:05:21 +0000 (22:05 +0200)]
Bump /tmp size back to 50% of RAM
This should be enough to fix https://bugzilla.redhat.com/show_bug.cgi?id=
1856514.
But the limit should be significantly higher than 10% anyway. By setting a
limit on /tmp at 10% we'll break many reasonable use cases, even though the
machine would deal fine with a much larger fraction devoted to /tmp.
(In the first version of this patch I made it 25% with the comment that
"Even 25% might be too low.". The kernel default is 50%, and we have been using
that seemingly without trouble since https://fedoraproject.org/wiki/Features/tmp-on-tmpfs.
So let's just make it 50% again.)
See
7d85383edbab73274dc81cc888d884bb01070bc2.
(Another consideration is that we learned from from the whole initiative with
zram in Fedora that a reasonable size for zram is 0.5-1.5 of RAM, and that pretty
much all systems benefit from having zram or zswap enabled. Thus it is reasonable
to assume that it'll become widely used. Taking the usual compression effectiveness
of 0.2 into account, machines have effective memory available of between
1.0 - 0.2*0.5 + 0.5 = 1.4 (for zram sized to 0.5 of RAM) and
1.0 - 0.2*1.5 + 1.5 = 2.2 (for zram 1.5 sized to 1.5 of RAM) times RAM size.
This means that the 10% was really like 7-4% of effective memory.)
A comment is added to mount-util.h to clarify that tmp.mount is separate.
Yu Watanabe [Tue, 28 Jul 2020 20:50:04 +0000 (05:50 +0900)]
network: rename settings about DHCPv6 Prefix Delegation
Closes #16602.
Yu Watanabe [Tue, 28 Jul 2020 20:09:38 +0000 (05:09 +0900)]
network: make RADVPrefixDelegation enum bitfield
This should not change any behavior.
Yu Watanabe [Thu, 23 Jul 2020 22:18:39 +0000 (07:18 +0900)]
network: update address infomation even if link is in failed or linger state
As the link may be reconfigured later. If we do not update the address
information, then its setup state or operstate may not be updated
correctly.
Yu Watanabe [Thu, 23 Jul 2020 15:52:32 +0000 (00:52 +0900)]
network: do not assume static addresses are configured
link_request_set_routes() is also called when a dynamic address is
configured. At that time, static addresses may not be configured yet.
Fixes #16546.
Yu Watanabe [Thu, 23 Jul 2020 12:18:24 +0000 (21:18 +0900)]
network: check at least one dynamic address is assigned when DHCP is enabled
Yu Watanabe [Wed, 22 Jul 2020 18:13:42 +0000 (03:13 +0900)]
network: dhcp6: drop addresses and delegated prefixes on client stop
Previously, we did not drop addresses and delegated prefixes when
DHCP6 client is stopped.
Fixes #15455.
Fixes #13564.
Yu Watanabe [Wed, 22 Jul 2020 16:21:40 +0000 (01:21 +0900)]
network: rename ipv4ll_address -> ipv4ll_address_configured
Yu Watanabe [Wed, 22 Jul 2020 12:44:44 +0000 (21:44 +0900)]
network: ndisc: also remove old DNSSL or RDNSS records after an SLAAC address is ready
Yu Watanabe [Wed, 22 Jul 2020 02:55:07 +0000 (11:55 +0900)]
network: ndisc: remove old addresses and routes after at least one SLAAC address becomes ready
Otherwise, the old addresses will exist in deperecated state.
Yu Watanabe [Tue, 21 Jul 2020 14:06:51 +0000 (23:06 +0900)]
network: dhcp4: release old lease after the new address become ready
Previously, on DHCPv4 address renewal, the old address may be removed
while the new address is not ready yet.
This also simplifies the logic of removing address and routes.
Yu Watanabe [Wed, 22 Jul 2020 00:41:30 +0000 (09:41 +0900)]
network: make address/route_configure optionally return created Address/Route object
Yu Watanabe [Tue, 21 Jul 2020 23:22:55 +0000 (08:22 +0900)]
network: set key destructor in several hash_ops
Yu Watanabe [Tue, 21 Jul 2020 21:07:42 +0000 (06:07 +0900)]
network: make link_check_ready() return earlier if the link is not in 'configuring' state
Yu Watanabe [Tue, 21 Jul 2020 21:03:10 +0000 (06:03 +0900)]
network: ndisc: do not set configured flags when addresses or routes are not assigned yet
Just for safety.
Yu Watanabe [Thu, 23 Jul 2020 18:16:42 +0000 (03:16 +0900)]
network: make link enter failed state if address_update() failed
Yu Watanabe [Tue, 21 Jul 2020 14:02:35 +0000 (23:02 +0900)]
network: introduce callback called when an address becomes ready
Yu Watanabe [Thu, 4 Jun 2020 04:21:02 +0000 (13:21 +0900)]
test-network: add tests for prefix routes
Yu Watanabe [Wed, 3 Jun 2020 01:11:08 +0000 (10:11 +0900)]
network: add debug log for configuring address
Zbigniew Jędrzejewski-Szmek [Mon, 27 Jul 2020 14:09:22 +0000 (16:09 +0200)]
test-ndisc-rs: increase timeouts
Timestamp: Mon 2020-07-27 13:50:50 UTC
Monotonic:
985702942708
Hop limit: 64
Flags: <|MANAGED>
Preference: medium
Lifetime: 180
No MTU set
>> Option 3
Valid Lifetime: 500
Preferred Lifetime: 440
Flags: <ONLINK|AUTO>
Prefix Length: 64
Prefix: 2001:db8:dead:beef::
>> Option 25
DNS: 2001:db8:dead:beef::1
Lifetime: 60
>> Option 31
Domain: lab.intra
Lifetime: 60
>> Option 1
Address:
782bcbb36d53
NDISC: Started IPv6 Router Solicitation client
backoff timeout interval 1 3.600s <= 3.987s <= 4.400s
NDISC: Sent Router Solicitation, next solicitation in 3s
backoff timeout interval 2 7.576s <= 8.114s <= 8.374s
NDISC: Sent Router Solicitation, next solicitation in 8s
Assertion 'false' failed at src/libsystemd-network/test-ndisc-rs.c:172, function test_rs_hangcheck(). Aborting.
Zbigniew Jędrzejewski-Szmek [Mon, 27 Jul 2020 13:08:35 +0000 (15:08 +0200)]
test-path: increase timeout
The tests fail in Fedora's koji with a timeout. Let's just bump
the timeout:
--- stderr ---
Failed to connect to system bus: No such file or directory
-.slice: Failed to enable/disable controllers on cgroup /system.slice/kojid.service, ignoring: Permission denied
path-exists.service: Failed to create cgroup /system.slice/kojid.service/path-exists.service: Permission denied
path-exists.service: Succeeded.
-.slice: Failed to enable/disable controllers on cgroup /system.slice/kojid.service, ignoring: Permission denied
path-exists.service: Failed to create cgroup /system.slice/kojid.service/path-exists.service: Permission denied
path-exists.service: Succeeded.
path-exists.path: Succeeded.
Failed to connect to system bus: No such file or directory
-.slice: Failed to enable/disable controllers on cgroup /system.slice/kojid.service, ignoring: Permission denied
path-existsglob.service: Failed to create cgroup /system.slice/kojid.service/path-existsglob.service: Permission denied
path-existsglob.service: Succeeded.
-.slice: Failed to enable/disable controllers on cgroup /system.slice/kojid.service, ignoring: Permission denied
path-existsglob.service: Failed to create cgroup /system.slice/kojid.service/path-existsglob.service: Permission denied
path-existsglob.service: Succeeded.
path-existsglob.path: Succeeded.
Failed to connect to system bus: No such file or directory
-.slice: Failed to enable/disable controllers on cgroup /system.slice/kojid.service, ignoring: Permission denied
path-changed.service: Failed to create cgroup /system.slice/kojid.service/path-changed.service: Permission denied
path-changed.service: Succeeded.
-.slice: Failed to enable/disable controllers on cgroup /system.slice/kojid.service, ignoring: Permission denied
path-changed.service: Failed to create cgroup /system.slice/kojid.service/path-changed.service: Permission denied
path-changed.service: Succeeded.
path-changed.path: Succeeded.
Failed to connect to system bus: No such file or directory
-.slice: Failed to enable/disable controllers on cgroup /system.slice/kojid.service, ignoring: Permission denied
path-modified.service: Failed to create cgroup /system.slice/kojid.service/path-modified.service: Permission denied
path-modified.service: Succeeded.
-.slice: Failed to enable/disable controllers on cgroup /system.slice/kojid.service, ignoring: Permission denied
path-modified.service: Failed to create cgroup /system.slice/kojid.service/path-modified.service: Permission denied
path-modified.service: Succeeded.
path-modified.path: Succeeded.
Failed to connect to system bus: No such file or directory
-.slice: Failed to enable/disable controllers on cgroup /system.slice/kojid.service, ignoring: Permission denied
path-mycustomunit.service: Failed to create cgroup /system.slice/kojid.service/path-mycustomunit.service: Permission denied
path-mycustomunit.service: Succeeded.
path-unit.path: Succeeded.
Failed to connect to system bus: No such file or directory
-.slice: Failed to enable/disable controllers on cgroup /system.slice/kojid.service, ignoring: Permission denied
path-directorynotempty.service: Failed to create cgroup /system.slice/kojid.service/path-directorynotempty.service: Permission denied
path-directorynotempty.service: Succeeded.
-.slice: Failed to enable/disable controllers on cgroup /system.slice/kojid.service, ignoring: Permission denied
path-directorynotempty.service: Failed to create cgroup /system.slice/kojid.service/path-directorynotempty.service: Permission denied
path-directorynotempty.service: Failed to attach to cgroup /system.slice/kojid.service/path-directorynotempty.service: No such file or directory
path-directorynotempty.service: Failed at step CGROUP spawning /bin/true: No such file or directory
path-directorynotempty.service: Main process exited, code=exited, status=219/CGROUP
path-directorynotempty.service: Failed with result 'exit-code'.
Test timeout when testing path-directorynotempty.path
Zbigniew Jędrzejewski-Szmek [Mon, 27 Jul 2020 11:49:12 +0000 (13:49 +0200)]
test-fs-util: do not assume /dev is always real
When building in Fedora's koji, test-fs-util would fail:
--- command ---
10:18:29 SYSTEMD_LANGUAGE_FALLBACK_MAP='/builddir/build/BUILD/systemd-246-rc2/src/locale/language-fallback-map' PATH='/builddir/build/BUILD/systemd-246-rc2/x86_64-redhat-linux-gnu:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin' SYSTEMD_KBD_MODEL_MAP='/builddir/build/BUILD/systemd-246-rc2/src/locale/kbd-model-map' /builddir/build/BUILD/systemd-246-rc2/x86_64-redhat-linux-gnu/test-fs-util
--- stderr ---
/* test_chase_symlinks */
/* test_unlink_noerrno */
/* test_readlink_and_make_absolute */
/* test_var_tmp */
/* test_dot_or_dot_dot */
/* test_access_fd */
/* test_touch_file */
/* test_unlinkat_deallocate */
/* test_fsync_directory_of_file */
/* test_rename_noreplace */
/* test_path_is_encrypted */
/home encrypted: yes
/var encrypted: yes
/ encrypted: yes
/proc encrypted: no
/sys encrypted: no
/dev encrypted: yes
Assertion 'expect < 0 || ((r > 0) == (expect > 0))' failed at src/test/test-fs-util.c:863, function test_path_is_encrypted_one(). Aborting.
-------
It seems / is encrypted, but /dev is just a normal directory.
Daan De Meyer [Sun, 26 Jul 2020 13:38:27 +0000 (14:38 +0100)]
firstboot: Check if the given shell exists
Michael Marley [Sun, 26 Jul 2020 03:23:48 +0000 (23:23 -0400)]
network: radv: Send RA on newly-added dynamic prefix
When a prefix is delegated to an interface that is already sending
RAs, send an RA immediately to inform clients of the new prefix.
This allows them to start using it immediately instead of waiting
up to nearly 10 minutes (depending on when the last timed RA was
sent). This type of situation might occur if, for example, an
outage of the WAN connection caused the addresses and prefixes to
be lost and later regained after service was restored. The
condition for the number of RAs sent being above 0 simultaneously
ensures that RADV is already running and that this code doesn't
send any RAs before the timed RAs have started when the interface
first comes up.
Christian Göttsche [Sat, 25 Jul 2020 16:23:11 +0000 (18:23 +0200)]
Fix clang-11 issues
Tested with clang 11.0.0-++
20200715043845+
0e377e253c1-1~exp1 on Debian sid
../src/network/test-networkd-conf.c:104:56: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
test_config_parse_duid_rawdata_one(BYTES_0_128 + 2, 0, &(DUID){0, 128, BYTES_1_128});
~~~~~~~~~~~~^~~
../src/network/test-networkd-conf.c:104:56: note: use array indexing to silence this warning
test_config_parse_duid_rawdata_one(BYTES_0_128 + 2, 0, &(DUID){0, 128, BYTES_1_128});
^
& [ ]
1 warning generated.
../src/test/test-clock.c:52:17: warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result]
ftruncate(fileno(f), 0);
^~~~~~~~~ ~~~~~~~~~~~~
1 warning generated.
(gdb) run
Starting program: systemd/build/test-alloc-util
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
x1: 0x7fffffffd2d0
x2: 0x7fffffffdac0
y: 0x7fffffffd2cc
z: 0x7fffffffd2c0
cleanup2(0x7fffffffd2cc)
cleanup3(0x7fffffffd2c0)
cleanup1(0x7fffffffdac0)
cleanup1(0x7fffffffd2d0)
*** buffer overflow detected ***: terminated
Program received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt full
set = {__val = {0,
18446744073709551615, 0, 0, 0, 0,
140737348658240,
140737348659520, 0, 0, 0, 0, 0, 0, 0, 0}}
pid = <optimized out>
tid = <optimized out>
ret = <optimized out>
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x22ff0, sa_sigaction = 0x22ff0}, sa_mask = {__val = {
140737349888603,
4217127,
4217127,
4217127,
4217127,
4217383, 0, 0, 0, 0, 143329, 143344,
140737351162752, 8959,
18446744073709551328,
4289072}},
sa_flags = -
138460788, sa_restorer = 0xffffffffffffffff}
sigs = {__val = {32, 0 <repeats 15 times>}}
ap = {{gp_offset = 24, fp_offset = 0, overflow_arg_area = 0x7fffffffd280, reg_save_area = 0x7fffffffd210}}
fd = <optimized out>
list = <optimized out>
nlist = <optimized out>
cp = <optimized out>
No locals.
No locals.
No locals.
No locals.
No locals.
l = 0
No locals.
p1 = 0x405500 "\223Nd\n\351\301mA\214\262A\247\306b\276\317\327\353\346k\035\024\273{\276&!kλ\233\217\t\207\276\327\347\351\355\307R\276\063{\235w=\237E\357\277KL\245\374\245\066M\201+\333\064\272\332g>1<@"
p2 = <optimized out>
i = <optimized out>
No locals.
Piotr Drąg [Fri, 24 Jul 2020 14:06:48 +0000 (16:06 +0200)]
catalog: update Polish translation
Yu Watanabe [Fri, 24 Jul 2020 12:03:25 +0000 (21:03 +0900)]
resolvectl: fix older resolved or networkd support to set DNS servers
Fixes #16573.
Yu Watanabe [Fri, 24 Jul 2020 04:37:31 +0000 (13:37 +0900)]
Merge pull request #16566 from poettering/nspawn-osrelease-fixes
nspawn: os-release reorganization, second try
Yu Watanabe [Fri, 24 Jul 2020 04:35:09 +0000 (13:35 +0900)]
Merge pull request #16567 from keszybz/more-news
NEWS and hwdb update for v246-rc2
Axel Rasmussen [Thu, 23 Jul 2020 17:54:23 +0000 (10:54 -0700)]
selinux: handle getcon_raw producing a NULL pointer, despite returning 0
Previously, we assumed that success meant we definitely got a valid
pointer. There is at least one edge case where this is not true (i.e.,
we can get both a 0 return value, and *also* a NULL pointer):
https://github.com/SELinuxProject/selinux/blob/
4246bb550dee5246c8567804325b7da206cd76cf/libselinux/src/procattr.c#L175
When this case occurrs, if we don't check the pointer we SIGSEGV in
early initialization.
Dan Streetman [Wed, 22 Jul 2020 22:51:41 +0000 (18:51 -0400)]
semaphoreci: update Debian release to bullseye
The Debian upstream-ci branch is updating to require debhelper 13,
which is only currently available from bullseye, or buster-backports.