Gergely Polonkai
c28904dae0
Update the rsync command in CONVERTING_TO_HOMED
...
The old version of this command will delete everything under the new home directory (including `.identity`), rendering the directory unusable with homed.
2020-05-06 10:52:22 +02:00
Daan De Meyer
eff7c2d3c9
sd-bus: Add a nicer way of specifying sd-bus vtable method arguments
...
SD_BUS_NAMES_WITH_ARGS is a less error-prone way of specifying D-Bus
method arguments.
2020-05-06 10:22:54 +02:00
Evgeny Vereshchagin
7f3a5eb70e
build-system: bring back 'nonnull'
...
Having taken a look at https://github.com/systemd/systemd/runs/645252074?check_suite_focus=true
where fuzz-journal-remote failed with
```
AddressSanitizer:DEADLYSIGNAL
=================================================================
==16==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7f864f98948e bp 0x7ffde5c6b7c0 sp 0x7ffde5c6b560 T0)
==16==The signal is caused by a READ memory access.
==16==Hint: address points to the zero page.
SCARINESS: 10 (null-deref)
#0 0x7f864f98948e in output_short /work/build/../../src/systemd/src/shared/logs-show.c
#1 0x7f864f984624 in show_journal_entry /work/build/../../src/systemd/src/shared/logs-show.c:1154:15
#2 0x7f864f984b63 in show_journal /work/build/../../src/systemd/src/shared/logs-show.c:1239:21
#3 0x4cabab in LLVMFuzzerTestOneInput /work/build/../../src/systemd/src/fuzz/fuzz-journal-remote.c:67:21
#4 0x51fd16 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) /src/libfuzzer/FuzzerLoop.cpp:556:15
#5 0x51c330 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool*) /src/libfuzzer/FuzzerLoop.cpp:470:3
#6 0x523700 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__1::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) /src/libfuzzer/FuzzerLoop.cpp:765:7
#7 0x5246cd in fuzzer::Fuzzer::Loop(std::__1::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) /src/libfuzzer/FuzzerLoop.cpp:792:3
#8 0x4de3d1 in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) /src/libfuzzer/FuzzerDriver.cpp:824:6
#9 0x4cfb47 in main /src/libfuzzer/FuzzerMain.cpp:19:10
#10 0x7f864e69782f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
#11 0x41f2a8 in _start (out/fuzz-journal-remote+0x41f2a8)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /work/build/../../src/systemd/src/shared/logs-show.c in output_short
==16==ABORTING
MS: 0 ; base unit: 0000000000000000000000000000000000000000
0x44,0x3d,0xa,0x5f,0x5f,0x52,0x45,0x41,0x4c,0x54,0x49,0x4d,0x45,0x5f,0x54,0x49,0x4d,0x45,0x53,0x54,0x41,0x4d,0x50,0x3d,0x31,0xa,0xa,
D=\x0a__REALTIME_TIMESTAMP=1\x0a\x0a
artifact_prefix='./'; Test unit written to ./crash-d635b9dd31cceff3c912fd45e1a58d7e90f0ad73
Base64: RD0KX19SRUFMVElNRV9USU1FU1RBTVA9MQoK
```
I was wondering why it hadn't been caught by the compiler even though clang should have failed to compile it with
```
../src/shared/logs-show.c:624:25: warning: null passed to a callee that requires a non-null argument [-Wnonnull]
print_multiline(f, 4 + fieldlen + 1, 0, OUTPUT_FULL_WIDTH, 0, false,
^
../src/shared/logs-show.c:161:24: note: callee declares array parameter as static here
size_t highlight[static 2]) {
^ ~~~~~~~~~~
../src/shared/logs-show.c:1239:21: warning: null passed to a callee that requires a non-null argument [-Wnonnull]
r = show_journal_entry(f, j, mode, n_columns, flags, NULL, NULL, ellipsized);
^ ~~~~
../src/shared/logs-show.c:1133:30: note: callee declares array parameter as static here
const size_t highlight[static 2],
^ ~~~~~~~~~~
2 warnings generated.
```
Given that judging by https://github.com/systemd/systemd/issues/13039 it doesn't seem to be
the first time issues like that have been missed I think it would be better to turn nonnull on
and get around false positives on a case-by-case basis with DISABLE_WARNING_NONNULL .. REENABLE_WARNING
Reopens https://github.com/systemd/systemd/issues/6119
2020-05-06 09:50:57 +02:00
Lennart Poettering
fc58c0c7bf
sysusers: be extra careful when locking accounts
...
Let's use "!*" instead of "!!" as invalid password string.
Generally, any invalid password string can be used to for locking an
account, according to shadow(5). To temporarily lock a password of an
account it is commonly implemented to prefix the original password with
a single "!", so that it can later on be unlocked again by removing the
"!", restoring the original password. Thus, the "!" marker is an
indicator for a locked password; the act of prefixing "!" to a
password string is the locking operation; and the removal of a "!"
prefix is the unlock operation. (This is also suggested in shadow(5)).
If we want to entirely lock an account we previously used "!!" as
password string. This is nice since it indicates the password is locked.
However, it is less than ideal, since applying the password unlock
operation once will change the string to "!", which is still a locked
password. Unlocking the password a second time will result in "", i.e.
the empty password, which will in many cases allow logging in without
password. And that's a problem. Hopefully, tools do not allow such
duplicate unlocking, but it's still not a nice property.
By changing our password string to "!*" we get different behaviour: the
password will appear locked. When it is unlocked the password is "*"
which is an invalid password. In that case the password is hence
unlocked but invalid, which is a much better state to be in than the
above.
This is paranoia hardening. Not more. There's no report that anyone
every unlocked an account twice and people could log in.
2020-05-06 09:44:35 +02:00
Lennart Poettering
c92391f52f
Merge pull request #15692 from keszybz/preset-cleanup
...
Make systemctl list-unit-files output more useful
2020-05-06 08:19:37 +02:00
Zbigniew Jędrzejewski-Szmek
31b8895af7
systemctl: do not show preset state for "static"/"alias"/"generated"/"transient" units
...
This modifies list-unit-files and status.
The output of list-unit-files would contain various lines with "static
disabled", which is just misleading, because systemctl preset will not touch
those files, so the preset configuration is not relevant. Similarly, for
"generated" and "transient" units, preset state is irrelevant. For "alias"
lines, the preset for the alias target would be used. In all cases let's just
skip preset status in those cases.
Diff for a a Fedora rawhide container:
--- $ systemctl --root=/tmp/root2 list-unit-files
+++ $ build/systemctl --root=/tmp/root2 list-unit-files
@@ -1,125 +1,125 @@
UNIT FILE STATE VENDOR PRESET
-proc-sys-fs-binfmt_misc.automount static disabled
-dev-hugepages.mount static disabled
-dev-mqueue.mount static disabled
-proc-fs-nfsd.mount static disabled
+proc-sys-fs-binfmt_misc.automount static
+dev-hugepages.mount static
+dev-mqueue.mount static
+proc-fs-nfsd.mount static
proc-sys-fs-binfmt_misc.mount disabled disabled
-sys-fs-fuse-connections.mount static disabled
-sys-kernel-config.mount static disabled
-sys-kernel-debug.mount static disabled
-sys-kernel-tracing.mount static disabled
-tmp.mount static disabled
-var-lib-nfs-rpc_pipefs.mount static disabled
+sys-fs-fuse-connections.mount static
+sys-kernel-config.mount static
+sys-kernel-debug.mount static
+sys-kernel-tracing.mount static
+tmp.mount static
+var-lib-nfs-rpc_pipefs.mount static
ostree-finalize-staged.path disabled enabled
-systemd-ask-password-console.path static disabled
-systemd-ask-password-plymouth.path static disabled
-systemd-ask-password-wall.path static disabled
+systemd-ask-password-console.path static
+systemd-ask-password-plymouth.path static
+systemd-ask-password-wall.path static
abrt-journal-core.service enabled enabled
abrt-oops.service enabled enabled
abrt-pstoreoops.service disabled disabled
abrt-vmcore.service enabled enabled
abrt-xorg.service enabled enabled
abrtd.service enabled enabled
-anaconda-direct.service static disabled
-anaconda-nm-config.service static disabled
-anaconda-noshell.service static disabled
-anaconda-pre.service static disabled
-anaconda-shell@.service static disabled
-anaconda-sshd.service static disabled
-anaconda-tmux@.service static disabled
-anaconda.service static disabled
+anaconda-direct.service static
+anaconda-nm-config.service static
+anaconda-noshell.service static
+anaconda-pre.service static
+anaconda-shell@.service static
+anaconda-sshd.service static
+anaconda-tmux@.service static
+anaconda.service static
arp-ethers.service disabled disabled
atd.service enabled enabled
auditd.service enabled enabled
-auth-rpcgss-module.service static disabled
+auth-rpcgss-module.service static
autofs.service disabled disabled
-autovt@.service enabled disabled
-blivet.service static disabled
+autovt@.service alias
+blivet.service static
blk-availability.service disabled disabled
bluetooth.service enabled enabled
-btattach-bcm@.service static disabled
+btattach-bcm@.service static
certmonger.service disabled disabled
-chrony-dnssrv@.service static disabled
+chrony-dnssrv@.service static
chrony-wait.service disabled disabled
chronyd.service enabled enabled
-clean-mount-point@.service static disabled
-cockpit-motd.service static disabled
-cockpit-wsinstance-http-redirect.service static disabled
-cockpit-wsinstance-http.service static disabled
-cockpit-wsinstance-https-factory@.service static disabled
-cockpit-wsinstance-https@.service static disabled
-cockpit.service static disabled
+clean-mount-point@.service static
+cockpit-motd.service static
+cockpit-wsinstance-http-redirect.service static
+cockpit-wsinstance-http.service static
+cockpit-wsinstance-https-factory@.service static
+cockpit-wsinstance-https@.service static
+cockpit.service static
console-getty.service disabled disabled
-container-getty@.service static disabled
+container-getty@.service static
dbus-broker.service enabled enabled
dbus-daemon.service disabled disabled
-dbus-org.bluez.service enabled disabled
-dbus-org.fedoraproject.FirewallD1.service enabled disabled
-dbus-org.freedesktop.home1.service static disabled
-dbus-org.freedesktop.hostname1.service static disabled
-dbus-org.freedesktop.locale1.service static disabled
-dbus-org.freedesktop.login1.service static disabled
-dbus-org.freedesktop.ModemManager1.service enabled disabled
-dbus-org.freedesktop.nm-dispatcher.service enabled disabled
-dbus-org.freedesktop.portable1.service static disabled
-dbus-org.freedesktop.timedate1.service static disabled
-dbus.service enabled disabled
+dbus-org.bluez.service alias
+dbus-org.fedoraproject.FirewallD1.service alias
+dbus-org.freedesktop.home1.service alias
+dbus-org.freedesktop.hostname1.service alias
+dbus-org.freedesktop.locale1.service alias
+dbus-org.freedesktop.login1.service alias
+dbus-org.freedesktop.ModemManager1.service alias
+dbus-org.freedesktop.nm-dispatcher.service alias
+dbus-org.freedesktop.portable1.service alias
+dbus-org.freedesktop.timedate1.service alias
+dbus.service alias
dbxtool.service enabled enabled
debug-shell.service disabled disabled
-dm-event.service static enabled
+dm-event.service static
dmraid-activation.service enabled enabled
-dnf-makecache.service static disabled
+dnf-makecache.service static
dnsmasq.service disabled disabled
-dracut-cmdline.service static disabled
-dracut-initqueue.service static disabled
-dracut-mount.service static disabled
-dracut-pre-mount.service static disabled
-dracut-pre-pivot.service static disabled
-dracut-pre-trigger.service static disabled
-dracut-pre-udev.service static disabled
-dracut-shutdown.service static disabled
+dracut-cmdline.service static
+dracut-initqueue.service static
+dracut-mount.service static
+dracut-pre-mount.service static
+dracut-pre-pivot.service static
+dracut-pre-trigger.service static
+dracut-pre-udev.service static
+dracut-shutdown.service static
ead.service disabled disabled
-emergency.service static disabled
+emergency.service static
fancontrol.service disabled disabled
firewalld.service enabled enabled
-fprintd.service static disabled
-fstrim.service static disabled
+fprintd.service static
+fstrim.service static
getty@.service enabled enabled
-grub-boot-indeterminate.service static disabled
+grub-boot-indeterminate.service static
gssproxy.service disabled disabled
import-state.service enabled enabled
initial-setup-reconfiguration.service disabled disabled
initial-setup.service enabled disabled
-initrd-cleanup.service static disabled
-initrd-parse-etc.service static disabled
-initrd-switch-root.service static disabled
-initrd-udevadm-cleanup-db.service static disabled
-instperf.service static disabled
+initrd-cleanup.service static
+initrd-parse-etc.service static
+initrd-switch-root.service static
+initrd-udevadm-cleanup-db.service static
+instperf.service static
io.podman.service disabled disabled
irqbalance.service enabled enabled
-iscsi-shutdown.service static disabled
+iscsi-shutdown.service static
iscsi.service enabled disabled
iscsid.service disabled disabled
iscsiuio.service disabled disabled
iwd.service disabled disabled
kdump.service disabled disabled
-kmod-static-nodes.service static disabled
-ldconfig.service static disabled
+kmod-static-nodes.service static
+ldconfig.service static
lm_sensors.service enabled enabled
loadmodules.service disabled disabled
-logrotate.service static disabled
-lvm2-lvmpolld.service static enabled
+logrotate.service static
+lvm2-lvmpolld.service static
lvm2-monitor.service enabled enabled
-lvm2-pvscan@.service static disabled
-man-db-cache-update.service static disabled
+lvm2-pvscan@.service static
+man-db-cache-update.service static
man-db-restart-cache-update.service disabled disabled
-mdadm-grow-continue@.service static disabled
-mdadm-last-resort@.service static disabled
-mdmon@.service static disabled
+mdadm-grow-continue@.service static
+mdadm-last-resort@.service static
+mdmon@.service static
mdmonitor.service enabled enabled
-mlocate-updatedb.service static disabled
+mlocate-updatedb.service static
ModemManager.service enabled enabled
-modprobe@.service static disabled
+modprobe@.service static
multipathd.service enabled enabled
ndctl-monitor.service disabled disabled
NetworkManager-dispatcher.service enabled enabled
@@ -127,53 +127,53 @@
NetworkManager.service enabled enabled
nfs-blkmap.service disabled disabled
nfs-convert.service enabled disabled
-nfs-idmapd.service static disabled
-nfs-mountd.service static disabled
+nfs-idmapd.service static
+nfs-mountd.service static
nfs-server.service disabled disabled
-nfs-utils.service static disabled
-nfsdcld.service static disabled
+nfs-utils.service static
+nfsdcld.service static
nftables.service disabled disabled
nis-domainname.service disabled disabled
oddjobd.service disabled disabled
openhpid.service disabled disabled
-ostree-finalize-staged.service static disabled
-ostree-prepare-root.service static disabled
+ostree-finalize-staged.service static
+ostree-prepare-root.service static
ostree-remount.service enabled enabled
-packagekit-offline-update.service static disabled
-packagekit.service static disabled
+packagekit-offline-update.service static
+packagekit.service static
pcscd.service indirect disabled
-plymouth-halt.service static disabled
-plymouth-kexec.service static disabled
-plymouth-poweroff.service static disabled
-plymouth-quit-wait.service static disabled
-plymouth-quit.service static disabled
-plymouth-read-write.service static disabled
-plymouth-reboot.service static disabled
-plymouth-start.service static disabled
-plymouth-switch-root.service static disabled
+plymouth-halt.service static
+plymouth-kexec.service static
+plymouth-poweroff.service static
+plymouth-quit-wait.service static
+plymouth-quit.service static
+plymouth-read-write.service static
+plymouth-reboot.service static
+plymouth-start.service static
+plymouth-switch-root.service static
podman.service disabled disabled
-polkit.service static enabled
+polkit.service static
psacct.service disabled disabled
qemu-guest-agent.service enabled enabled
-quotaon.service static disabled
+quotaon.service static
raid-check.service disabled disabled
-rc-local.service static disabled
+rc-local.service static
rdisc.service disabled disabled
-realmd.service static disabled
-rescue.service static disabled
+realmd.service static
+rescue.service static
rngd.service enabled enabled
-rpc-gssd.service static disabled
-rpc-statd-notify.service static disabled
-rpc-statd.service static disabled
+rpc-gssd.service static
+rpc-statd-notify.service static
+rpc-statd.service static
rpcbind.service disabled disabled
rsyslog.service enabled enabled
selinux-autorelabel-mark.service enabled enabled
-selinux-autorelabel.service static disabled
+selinux-autorelabel.service static
serial-getty@.service disabled disabled
smartd.service enabled enabled
sshd-keygen@.service disabled disabled
sshd.service enabled enabled
-sshd@.service static disabled
+sshd@.service static
sssd-autofs.service indirect disabled
sssd-kcm.service indirect disabled
sssd-nss.service indirect disabled
@@ -182,84 +182,84 @@
sssd-ssh.service indirect disabled
sssd-sudo.service indirect disabled
sssd.service enabled enabled
-system-update-cleanup.service static disabled
-systemd-ask-password-console.service static disabled
-systemd-ask-password-plymouth.service static disabled
-systemd-ask-password-wall.service static disabled
-systemd-backlight@.service static disabled
-systemd-binfmt.service static disabled
-systemd-bless-boot.service static disabled
+system-update-cleanup.service static
+systemd-ask-password-console.service static
+systemd-ask-password-plymouth.service static
+systemd-ask-password-wall.service static
+systemd-backlight@.service static
+systemd-binfmt.service static
+systemd-bless-boot.service static
systemd-boot-check-no-failures.service disabled disabled
-systemd-boot-system-token.service static disabled
-systemd-coredump@.service static disabled
-systemd-exit.service static disabled
-systemd-firstboot.service static disabled
-systemd-fsck-root.service static disabled
-systemd-fsck@.service static disabled
-systemd-halt.service static disabled
-systemd-hibernate-resume@.service static disabled
-systemd-hibernate.service static disabled
-systemd-homed.service static disabled
-systemd-hostnamed.service static disabled
-systemd-hwdb-update.service static disabled
-systemd-hybrid-sleep.service static disabled
-systemd-initctl.service static disabled
-systemd-journal-catalog-update.service static disabled
-systemd-journal-flush.service static disabled
-systemd-journald.service static disabled
-systemd-journald@.service static disabled
-systemd-kexec.service static disabled
-systemd-localed.service static disabled
-systemd-logind.service static disabled
-systemd-machine-id-commit.service static disabled
-systemd-modules-load.service static disabled
+systemd-boot-system-token.service static
+systemd-coredump@.service static
+systemd-exit.service static
+systemd-firstboot.service static
+systemd-fsck-root.service static
+systemd-fsck@.service static
+systemd-halt.service static
+systemd-hibernate-resume@.service static
+systemd-hibernate.service static
+systemd-homed.service static
+systemd-hostnamed.service static
+systemd-hwdb-update.service static
+systemd-hybrid-sleep.service static
+systemd-initctl.service static
+systemd-journal-catalog-update.service static
+systemd-journal-flush.service static
+systemd-journald.service static
+systemd-journald@.service static
+systemd-kexec.service static
+systemd-localed.service static
+systemd-logind.service static
+systemd-machine-id-commit.service static
+systemd-modules-load.service static
systemd-network-generator.service disabled disabled
systemd-networkd-wait-online.service disabled disabled
systemd-networkd.service disabled disabled
-systemd-portabled.service static disabled
-systemd-poweroff.service static disabled
+systemd-portabled.service static
+systemd-poweroff.service static
systemd-pstore.service disabled enabled
-systemd-quotacheck.service static disabled
-systemd-random-seed.service static disabled
-systemd-reboot.service static disabled
-systemd-remount-fs.service static disabled
-systemd-repart.service static disabled
+systemd-quotacheck.service static
+systemd-random-seed.service static
+systemd-reboot.service static
+systemd-remount-fs.service static
+systemd-repart.service static
systemd-resolved.service disabled disabled
-systemd-rfkill.service static disabled
-systemd-suspend-then-hibernate.service static disabled
-systemd-suspend.service static disabled
-systemd-sysctl.service static disabled
-systemd-sysusers.service static disabled
+systemd-rfkill.service static
+systemd-suspend-then-hibernate.service static
+systemd-suspend.service static
+systemd-sysctl.service static
+systemd-sysusers.service static
systemd-time-wait-sync.service disabled disabled
-systemd-timedated.service static disabled
+systemd-timedated.service static
systemd-timesyncd.service disabled disabled
-systemd-tmpfiles-clean.service static disabled
-systemd-tmpfiles-setup-dev.service static disabled
-systemd-tmpfiles-setup.service static disabled
-systemd-udev-settle.service static disabled
-systemd-udev-trigger.service static disabled
-systemd-udevd.service static disabled
-systemd-update-done.service static disabled
-systemd-update-utmp-runlevel.service static disabled
-systemd-update-utmp.service static disabled
-systemd-user-sessions.service static disabled
-systemd-userdbd.service static disabled
-systemd-vconsole-setup.service static disabled
-systemd-volatile-root.service static disabled
-teamd@.service static disabled
+systemd-tmpfiles-clean.service static
+systemd-tmpfiles-setup-dev.service static
+systemd-tmpfiles-setup.service static
+systemd-udev-settle.service static
+systemd-udev-trigger.service static
+systemd-udevd.service static
+systemd-update-done.service static
+systemd-update-utmp-runlevel.service static
+systemd-update-utmp.service static
+systemd-user-sessions.service static
+systemd-userdbd.service static
+systemd-vconsole-setup.service static
+systemd-volatile-root.service static
+teamd@.service static
udisks2.service enabled enabled
-user-runtime-dir@.service static disabled
-user@.service static disabled
+user-runtime-dir@.service static
+user@.service static
winbind.service disabled disabled
zram-swap.service enabled disabled
-zram.service static disabled
-system-cockpithttps.slice static disabled
-system-systemd\x2dcryptsetup.slice static disabled
-user.slice static disabled
-cockpit-wsinstance-http-redirect.socket static disabled
-cockpit-wsinstance-http.socket static disabled
-cockpit-wsinstance-https-factory.socket static disabled
-cockpit-wsinstance-https@.socket static disabled
+zram.service static
+system-cockpithttps.slice static
+system-systemd\x2dcryptsetup.slice static
+user.slice static
+cockpit-wsinstance-http-redirect.socket static
+cockpit-wsinstance-http.socket static
+cockpit-wsinstance-https-factory.socket static
+cockpit-wsinstance-https@.socket static
cockpit.socket enabled enabled
dbus.socket enabled enabled
dm-event.socket enabled enabled
@@ -280,95 +280,95 @@
sssd-pam.socket disabled disabled
sssd-ssh.socket disabled disabled
sssd-sudo.socket disabled disabled
-syslog.socket static disabled
-systemd-coredump.socket static disabled
-systemd-initctl.socket static disabled
-systemd-journald-audit.socket static disabled
-systemd-journald-dev-log.socket static disabled
-systemd-journald-varlink@.socket static disabled
-systemd-journald.socket static disabled
-systemd-journald@.socket static disabled
+syslog.socket static
+systemd-coredump.socket static
+systemd-initctl.socket static
+systemd-journald-audit.socket static
+systemd-journald-dev-log.socket static
+systemd-journald-varlink@.socket static
+systemd-journald.socket static
+systemd-journald@.socket static
systemd-networkd.socket disabled disabled
-systemd-rfkill.socket static disabled
-systemd-udevd-control.socket static disabled
-systemd-udevd-kernel.socket static disabled
-systemd-userdbd.socket static disabled
-anaconda.target static disabled
-basic.target static disabled
-blockdev@.target static disabled
-bluetooth.target static enabled
-boot-complete.target static disabled
-cryptsetup-pre.target static disabled
-cryptsetup.target static disabled
-ctrl-alt-del.target enabled disabled
-default.target indirect disabled
-emergency.target static disabled
+systemd-rfkill.socket static
+systemd-udevd-control.socket static
+systemd-udevd-kernel.socket static
+systemd-userdbd.socket static
+anaconda.target static
+basic.target static
+blockdev@.target static
+bluetooth.target static
+boot-complete.target static
+cryptsetup-pre.target static
+cryptsetup.target static
+ctrl-alt-del.target alias
+default.target alias
+emergency.target static
exit.target disabled disabled
-final.target static disabled
-getty-pre.target static disabled
-getty.target static disabled
-graphical.target static disabled
+final.target static
+getty-pre.target static
+getty.target static
+graphical.target static
halt.target disabled disabled
-hibernate.target static disabled
-hybrid-sleep.target static disabled
-initrd-fs.target static disabled
-initrd-root-device.target static disabled
-initrd-root-fs.target static disabled
-initrd-switch-root.target static disabled
-initrd.target static disabled
+hibernate.target static
+hybrid-sleep.target static
+initrd-fs.target static
+initrd-root-device.target static
+initrd-root-fs.target static
+initrd-switch-root.target static
+initrd.target static
kexec.target disabled disabled
-local-fs-pre.target static disabled
-local-fs.target static disabled
+local-fs-pre.target static
+local-fs.target static
multi-user.target indirect disabled
-network-online.target static disabled
-network-pre.target static disabled
-network.target static disabled
+network-online.target static
+network-pre.target static
+network.target static
nfs-client.target enabled disabled
-nss-lookup.target static disabled
-nss-user-lookup.target static disabled
-paths.target static disabled
+nss-lookup.target static
+nss-user-lookup.target static
+paths.target static
poweroff.target disabled disabled
-printer.target static disabled
+printer.target static
reboot.target enabled enabled
remote-cryptsetup.target disabled enabled
-remote-fs-pre.target static disabled
+remote-fs-pre.target static
remote-fs.target enabled enabled
-rescue.target static disabled
-rpc_pipefs.target static disabled
-rpcbind.target static disabled
-runlevel0.target disabled disabled
-runlevel1.target static disabled
-runlevel2.target indirect disabled
-runlevel3.target indirect disabled
-runlevel4.target indirect disabled
-runlevel5.target static disabled
-runlevel6.target enabled disabled
-selinux-autorelabel.target static disabled
-shutdown.target static disabled
-sigpwr.target static disabled
-sleep.target static disabled
-slices.target static disabled
-smartcard.target static disabled
-sockets.target static disabled
-sound.target static disabled
-sshd-keygen.target static disabled
-suspend-then-hibernate.target static disabled
-suspend.target static disabled
-swap.target static disabled
-sysinit.target static disabled
-system-update-pre.target static disabled
-system-update.target static disabled
-time-set.target static disabled
-time-sync.target static disabled
-timers.target static disabled
-umount.target static disabled
+rescue.target static
+rpc_pipefs.target static
+rpcbind.target static
+runlevel0.target alias
+runlevel1.target alias
+runlevel2.target alias
+runlevel3.target alias
+runlevel4.target alias
+runlevel5.target alias
+runlevel6.target alias
+selinux-autorelabel.target static
+shutdown.target static
+sigpwr.target static
+sleep.target static
+slices.target static
+smartcard.target static
+sockets.target static
+sound.target static
+sshd-keygen.target static
+suspend-then-hibernate.target static
+suspend.target static
+swap.target static
+sysinit.target static
+system-update-pre.target static
+system-update.target static
+time-set.target static
+time-sync.target static
+timers.target static
+umount.target static
chrony-dnssrv@.timer disabled disabled
dnf-makecache.timer enabled enabled
fstrim.timer enabled enabled
logrotate.timer enabled enabled
-mdadm-last-resort@.timer static disabled
+mdadm-last-resort@.timer static
mlocate-updatedb.timer enabled enabled
raid-check.timer disabled disabled
-systemd-tmpfiles-clean.timer static disabled
+systemd-tmpfiles-clean.timer static
371 unit files listed.
In particular, this allows a meaningful comparison to be made:
$ ~/src/systemd/build/systemctl --root=/tmp/root2 list-unit-files|rg 'enabled.*disabled|disabled.*enabled'
ostree-finalize-staged.path disabled enabled
initial-setup.service enabled disabled
iscsi.service enabled disabled
nfs-convert.service enabled disabled
systemd-pstore.service disabled enabled
zram-swap.service enabled disabled
iscsid.socket enabled disabled
iscsiuio.socket enabled disabled
multipathd.socket enabled disabled
nfs-client.target enabled disabled
remote-cryptsetup.target disabled enabled
(It turns out that most of the services on this list that are enabled without a
corresponding preset are against rpm packaging and do direct 'systemctl enable'
calls in %post, instead of going through presets as they are supposed to.)
systemctl: also skip preset status in status verb
2020-05-05 22:03:53 +02:00
Zbigniew Jędrzejewski-Szmek
15d7ab87c4
systemctl: add new enablement state "alias"
...
For units which are aliases of other units, reporting preset status as
"enabled" is rather misleading. For example, dbus.service is an alias of
dbus-broker.service. In list-unit-files we'd show both as "enabled". In
particular, systemctl preset ignores aliases, so showing any preset status at
all is always going to be misleading. Let's introduce a new state "alias" and
use that for all aliases.
I was trying to avoid adding a new state, to keep compatibility with previous
behaviour, but for alias unit files it simply doesn't seem very useful to show
any of the existing states. It seems that the clearly showing that those are
aliases for other units will be easiest to understand for users.
2020-05-05 21:50:38 +02:00
Zbigniew Jędrzejewski-Szmek
9c894b8579
shared/install: rename variable for clarity
2020-05-05 21:50:38 +02:00
Zbigniew Jędrzejewski-Szmek
bce84e10f8
shared/install: print name of offending file in error
...
"Unit type slice cannot be templated."
↓
"/etc/systemd/system.control/user@.slice: unit type slice cannot be templated."
2020-05-05 21:50:38 +02:00
Zbigniew Jędrzejewski-Szmek
babccf14ce
shared/install: indent tables
2020-05-05 21:50:38 +02:00
Zbigniew Jędrzejewski-Szmek
8f7b256665
shared/install: optionally cache the preset list
...
When doing list-unit-files with --root, we would re-read the preset
list for every unit. This uses a cache to only do it once. The time
for list-unit-files goes down by about ~30%.
unit_file_query_preset() is also called from src/core/. This patch does not
touch that path, since the saving there are smaller, since preset status is
only read on demand over dbus, and caching would be more complicated.
2020-05-05 21:50:31 +02:00
Chris Down
87afd40b5a
man: systemd.service: systemd-analyze exit-codes -> exit-status
...
5238d9a83a
renames this to exit-status, but systemd.service was not
updated.
The rest of the doc seems a bit inconsistent in its use of the terms
"exit code" and "exit status", but it's not that confusing, so leave
those alone for now.
2020-05-05 21:38:29 +02:00
Ferran Pallarès Roca
a8acbf9748
Add Zowie ZA12 details to mouse hwdb
2020-05-05 19:06:29 +02:00
Zbigniew Jędrzejewski-Szmek
c39b7821f6
systemctl: fix --root support in querying presets
...
We would always look on the host, ignoring --root.
2020-05-05 18:05:32 +02:00
Zbigniew Jędrzejewski-Szmek
4cb1015e6b
systemctl: refuse online-only ops with --root
...
It is super confusing when a command does not support --root, and is called
with it specified, and returns some bogus results. Let's just catch this
early and refuse.
2020-05-05 18:05:23 +02:00
Zbigniew Jędrzejewski-Szmek
9321e23c40
shared/verbs: split out helper to find verbs
...
It will be used later, but I think it makes the code clearer anyway.
Also change the message about ignoring to include the name for default
verbs.
2020-05-05 18:04:55 +02:00
Zbigniew Jędrzejewski-Szmek
d8b065e056
shared/verbs: add a modicum of documentation
2020-05-05 18:04:44 +02:00
Zbigniew Jędrzejewski-Szmek
ae98f726ff
systemctl: mark log-level,log-target,service-watchdogs as online-only
...
They were added in 6ab863190d
and
38fcb7f766
. I don't see a good reason to
exclude them from the online-only check.
2020-05-05 18:04:36 +02:00
Zbigniew Jędrzejewski-Szmek
77102db288
systemctl: fix hint when 'systemctl help' is given
...
Not all verbs require unit names, but that is beside the point. We need a verb
here, and help is not a valid verb.
2020-05-05 18:04:28 +02:00
Zbigniew Jędrzejewski-Szmek
eaf7ac4929
Merge pull request #15645 from poettering/calender-expression-doc-fix
...
some calendar expression fixes and documentation updates
2020-05-05 16:07:11 +02:00
Frantisek Sumsal
05c7d9bf5b
Revert "logs-show: declare [static 2] on all highlight parameters"
...
This reverts commit 5444520628
.
See: https://github.com/systemd/systemd/pull/15706
2020-05-05 16:37:45 +03:00
Zbigniew Jędrzejewski-Szmek
640ebaa952
Merge pull request #15648 from poettering/journalctl-cat-beefup
...
journalctl: honour --output-fields= in -o cat mode
2020-05-05 14:00:26 +02:00
Lennart Poettering
c83347b49d
man: migrate more specifier explanations to standard-specifiers.xml
...
We probably can migrate even more, but for now let's just migrate those
which have the 1:1 identical text everywhere.
(Also, let's add the % entry to all specifier tables)
2020-05-05 11:33:13 +02:00
Zbigniew Jędrzejewski-Szmek
90f1f8188b
Merge pull request #15701 from poettering/systemctl-json-table
...
systemctl: optionally output tables as json
2020-05-05 11:05:00 +02:00
ianhi
cae97f3b60
correct evdev dimensions for T490 trackpad
...
The original source of these dimensions had swapped the x y dimension
arguments to touchpad-edge-detector. The correct dimensions are
x = 100 mm, y = 68 mm
2020-05-05 10:30:43 +02:00
Diego Escalante Urrelo
4723f9ef16
hwdb: Fix brightness keys for Logitech K811
...
Closes : #15698
2020-05-05 10:28:54 +02:00
Lennart Poettering
5fe4d1b514
shutdown: fix spacing in shutdown error message
2020-05-05 10:23:47 +02:00
Lennart Poettering
5444520628
logs-show: declare [static 2] on all highlight parameters
2020-05-05 09:22:27 +02:00
Lennart Poettering
e0e3d38726
man: document the new -o cat feature
2020-05-05 09:22:27 +02:00
Lennart Poettering
4d5d1bba73
journalctl: optionally, show a different field than MESSAGE in -o cat mode
...
Fixes : #15621
2020-05-05 09:22:26 +02:00
Lennart Poettering
54ff74d273
journal: use set_contains() where appropriate
2020-05-05 09:04:30 +02:00
Motiejus Jakštys
5c4deb9a5c
nspawn: mount custom paths before writing to /etc
...
Consider such configuration:
$ systemd-nspawn --read-only --timezone=copy --resolv-conf=copy-host \
--overlay="+/etc::/etc" <...>
Assuming one wants `/` to be read-only, DNS and `/etc/localtime` to
work. One way to do it is to create an overlay filesystem in `/etc/`.
However, systemd-nspawn tries to create `/etc/resolv.conf` and
`/etc/localtime` before mounting the custom paths, while `/` (and, by
extension, `/etc`) is read-only. Thus it fails to create those files.
Mounting custom paths before modifying anything in `/etc/` makes this
possible.
Full example:
```
$ debootstrap buster /var/lib/machines/t1 http://deb.debian.org/debian
$ systemd-nspawn --private-users=false --timezone=copy --resolv-conf=copy-host --read-only --tmpfs=/var --tmpfs=/run --overlay="+/etc::/etc" -D /var/lib/machines/t1 ping -c 1 example.com
Spawning container t1 on /var/lib/machines/t1.
Press ^] three times within 1s to kill container.
ping: example.com: Temporary failure in name resolution
Container t1 failed with error code 130.
```
With the patch:
```
$ sudo ./build/systemd-nspawn --private-users=false --timezone=copy --resolv-conf=copy-host --read-only --tmpfs=/var --tmpfs=/run --overlay="+/etc::/etc" -D /var/lib/machines/t1 ping -qc 1 example.com
Spawning container t1 on /var/lib/machines/t1.
Press ^] three times within 1s to kill container.
PING example.com (93.184.216.34) 56(84) bytes of data.
--- example.org ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 110.912/110.912/110.912/0.000 ms
Container t1 exited successfully.
```
2020-05-05 09:02:57 +02:00
Lennart Poettering
2edc7aea7a
man: expand on the star…end/repetition time expressions
...
And attempt to explain what is requested in #15030 , but still be
concise.
Fixes : #15030
2020-05-05 08:57:14 +02:00
Lennart Poettering
c9c9f6f450
calendarspec: be more graceful with two kinds of calendar expressions
...
This changes the calendarspec parser to allow expressions such as
"00:05..05", i.e. a range where start and end is the same. It also
allows expressions such as "00:1-2/3", i.e. where the repetition value
does not fit even once in the specified range. With this patch both
cases will now be optimized away, i.e. the range is removed and a fixed
value is used, which is functionally equivalent.
See #15030 for an issue where the inability to parse such expressions
caused confusion.
I think it's probably better to accept these gracefully and optimizing
them away instead of refusing them with a plain EINVAL. With a tool such
as "systemd-analyze" calendar it should be easy to figure out the
normalized form with the redundant bits optimized away.
2020-05-05 08:57:14 +02:00
Lennart Poettering
05851cb9df
calendarspec: minor simplification
2020-05-05 08:57:14 +02:00
Lennart Poettering
3c6f0300ae
calendarspec: drop _pure_ from static function
...
For static functions the compiler should be able to determine this on
its own, let's not add needless decorators.
2020-05-05 08:57:14 +02:00
Lennart Poettering
80b19994a4
calendarspec: pack our flags a bit
2020-05-05 08:57:14 +02:00
Lennart Poettering
a4d6d711cf
calendarspec: encode that it's OK to store µs in 'int's
2020-05-05 08:57:14 +02:00
Lennart Poettering
49cd06fa2d
systemctl: optionally output tables in JSON format
2020-05-05 08:15:04 +02:00
Lennart Poettering
e21b76cd68
format-table: generate better JSON field names
...
Let's try to mangle table contents a bit to make them more suitable as
JSON field names. Specifically when we see "foo bar" convert this to
"foo_bar" as field name, as variable/field names are generally assumed
to be without spaces.
2020-05-05 08:13:58 +02:00
Anita Zhang
848cfa74d2
Merge pull request #15636 from poettering/sensitivity-training
...
be more careful when setting json variant + dbus message sensitive flag
2020-05-04 17:48:13 -07:00
Anita Zhang
53491f7fe7
Merge pull request #15647 from benzea/benzea/graphical-use-app-prefix
...
docs: Change prefix for desktop applications to app-
2020-05-04 16:28:51 -07:00
Michal Koutný
05d9125ece
mkosi: Fix openSUSE image declaration
...
User accounts of given names are necessary for the build script and
tests to succeed.
(Fixup of #15527 , too keen cleaning of dependencies and cached image
caused this.)
2020-05-04 22:12:58 +02:00
Lukas Klingsbo
8049c79b65
Add Kensington SlimBlade Trackball
2020-05-04 18:48:01 +02:00
Piotr Drąg
793452e0ba
catalog,po: update Polish translation
2020-05-04 17:13:02 +02:00
Frantisek Sumsal
111e71c431
test: fix potential use-after-free
...
CID#1428676.
2020-05-04 17:10:18 +02:00
Evgeny Vereshchagin
80cf50120c
Merge pull request #15422 from nolange/add_zstd_coredump
...
coredump: add zstandard support for coredumps
2020-05-04 14:57:39 +03:00
Norbert Lange
8012d5c08e
install libzstd-dev for CI builds
2020-05-04 10:59:43 +02:00
Norbert Lange
ef5924aa31
coredump: add zstandard support for coredumps
...
this will hook libzstd into coredump,
using this format as default.
2020-05-04 10:59:43 +02:00
Lennart Poettering
ddd6a22a0f
basic: add STRCASE_IN_SET() which is to STR_IN_SET() what strcaseeq() is to streq()
2020-05-04 10:11:19 +02:00