platform/upstream/systemd.git
5 years agotest-barrier: skip the test in virtualized/containerized environments
Frantisek Sumsal [Sat, 26 Jan 2019 16:03:34 +0000 (17:03 +0100)]
test-barrier: skip the test in virtualized/containerized environments

5 years agoMerge pull request #11566 from poettering/alloca-assert
Lennart Poettering [Mon, 28 Jan 2019 11:19:36 +0000 (12:19 +0100)]
Merge pull request #11566 from poettering/alloca-assert

add a safety size assert() on most alloca() calls

5 years agokernel-install: fix dracut initrd detection (240 backward compatibility) (#11570)
Marc-Antoine Perennou [Sun, 27 Jan 2019 16:32:21 +0000 (17:32 +0100)]
kernel-install: fix dracut initrd detection (240 backward compatibility) (#11570)

* kernel-install: fix initrd when called as installkernel

Running make install from the kernel runs e.g.:
installkernel 4.20.5 arch/x86/boot/bzImage System.map "/boot"

Since 0912c0b80eb24fb9a4e1cc4abf274a1358b9943d this would
cal 90-loaderentry.install with those arguments:
add 4.20.5 /boot/... arch/x86/boot/bzImage System.map "/boot"

The two last arguments would then be handled as the initrd files.
As System.map exists in current directory but not in /boot/...
it would get copied there, and used as initrd intead of the initrd
which has been generated by dracut.

With this change, nothing changes when kernel-install is called
directly, but when it's called as installkernel, we now pass
thos arguments to 90-loaderentry.install:
add 4.20.5 /boot/... arch/x86/boot/bzImage initrd
initrd is thus detected as the file to use for the initrd, and as it
exists, nothing is copied over and the initrd line generated is
consistent with what one would expect

* kernel-install: fix dracut initrd detection when called directly

This brings back the systemd 240 behaviour when called directly too

* kernel-install: unify initrd fallback

* kernel-install: move initrd fallback handling to 90-loaderentry.install

* kernel-install: move initrd fallback just before creating loader entry

5 years agoMerge pull request #11513 from poettering/cryptsetup-msg
Zbigniew Jędrzejewski-Szmek [Sat, 26 Jan 2019 15:43:20 +0000 (16:43 +0100)]
Merge pull request #11513 from poettering/cryptsetup-msg

improve cryptsetup messaging

5 years agotree-wide: use newa() instead of alloca() wherever we can
Lennart Poettering [Sat, 26 Jan 2019 14:52:18 +0000 (15:52 +0100)]
tree-wide: use newa() instead of alloca() wherever we can

Typesafety is nice. And this way we can take benefit of the new size
assert() the previous commit added.

5 years agoalloc-util: whenever any of our alloca() wrappers is used to allocate overly large...
Lennart Poettering [Sat, 26 Jan 2019 14:42:35 +0000 (15:42 +0100)]
alloc-util: whenever any of our alloca() wrappers is used to allocate overly large memory blocks, hit an assert()

Of course, this should never happen, but let's better be safe than
sorry, and abort rather than continue when a too large memory block is
allocated, simply asa safety precaution.

An early abort is better than continuing with a likely memory corruption
later.

5 years agoMerge pull request #11460 from yuwata/fix-11458
Lennart Poettering [Sat, 26 Jan 2019 14:41:06 +0000 (15:41 +0100)]
Merge pull request #11460 from yuwata/fix-11458

network: update address when static address was already configured by DHCP

5 years agobuild-sys: bump package/library versions
Zbigniew Jędrzejewski-Szmek [Thu, 10 Jan 2019 21:29:01 +0000 (22:29 +0100)]
build-sys: bump package/library versions

We added sd_bus_close_unref().

5 years agoMerge pull request #11562 from yuwata/fix-11558
Lennart Poettering [Sat, 26 Jan 2019 13:46:48 +0000 (14:46 +0100)]
Merge pull request #11562 from yuwata/fix-11558

core/mount: do not add Before=local-fs.target or remote-fs.target if nofail mount option is set

5 years agoMerge pull request #11466 from keszybz/fix-loop-remounts
Lennart Poettering [Sat, 26 Jan 2019 13:42:02 +0000 (14:42 +0100)]
Merge pull request #11466 from keszybz/fix-loop-remounts

pid1: fix cleanup of stale implicit deps based on /proc/self/mountinfo

5 years agopid1: fix cleanup of stale implicit deps based on /proc/self/mountinfo
Zbigniew Jędrzejewski-Szmek [Thu, 17 Jan 2019 15:09:13 +0000 (16:09 +0100)]
pid1: fix cleanup of stale implicit deps based on /proc/self/mountinfo

The problem was introduced in a37422045fbb68ad68f734e5dc00e0a5b1759773:
we have a unit which has a fragment, and when we'd update it based on
/proc/self/mountinfo, we'd say that e.g. What=/dev/loop8 has origin-fragment.
This commit changes two things:
- origin-fragment is changed to origin-mountinfo-implicit
- when we stop a unit, mountinfo information is flushed and all deps based
  on it are dropped.

The second step is important, because when we restart the unit, we want to
notice that we have "fresh" mountinfo information. We could keep the old info
around and solve this in a different way, but keeping stale information seems
inelegant.

Fixes #11342.

5 years agoMerge pull request #11530 from keszybz/journal-cache-trimming
Lennart Poettering [Sat, 26 Jan 2019 12:55:55 +0000 (13:55 +0100)]
Merge pull request #11530 from keszybz/journal-cache-trimming

Journal cache trimming

5 years agoMerge pull request #11545 from xnox/ppc64el
Lennart Poettering [Sat, 26 Jan 2019 12:55:32 +0000 (13:55 +0100)]
Merge pull request #11545 from xnox/ppc64el

test-functions: fixup PPC64 testing

5 years agounits: drop conditionalization of systemd-tmpfiles-setup-dev.service
Lennart Poettering [Sat, 26 Jan 2019 10:37:06 +0000 (11:37 +0100)]
units: drop conditionalization of systemd-tmpfiles-setup-dev.service

Currently, tmpfiles runs in two separate services at boot. /dev is
populated by systemd-tmpfiles-setup-dev.service and everything else by
systemd-tmpfiles-setup.service. The former was so far conditionalized by
CAP_SYS_MODULES. The reasoning was that the primary purpose of
populating /dev was to create device nodes based on the static device
node info exported in kernel modules through MODALIAS. And without the
privs to load kernel modules doing so is unnecessary. That thinking is
incomplete however, as there might be reason to create stuff in /dev
outside of the static modalias usecase. Thus, let's drop the
conditionalization to ensure that tmpfiles.d rules are always executed
at least once under all conditions.

Fixes: #11544

5 years agonspawn: ignore SIGPIPE for nspawn itself
Lennart Poettering [Sat, 26 Jan 2019 11:18:16 +0000 (12:18 +0100)]
nspawn: ignore SIGPIPE for nspawn itself

Let's not abort due to a dead stdout.

Fixes: #11533

5 years agoprocess-util: don't use overly large buffer to store process command line
Michal Sekletar [Tue, 22 Jan 2019 13:29:50 +0000 (14:29 +0100)]
process-util: don't use overly large buffer to store process command line

Allocate new string as a return value and free our "scratch pad"
buffer that is potentially much larger than needed (up to
_SC_ARG_MAX).

Fixes #11502

5 years agoman: update DefaultDependency= in systemd.mount(5)
Yu Watanabe [Sat, 26 Jan 2019 12:05:27 +0000 (13:05 +0100)]
man: update DefaultDependency= in systemd.mount(5)

Follow-up for d54bab90e64f70c1ecf9b0683a98adb8485ed09e and the
previous commit.

5 years agojournald: periodically drop cache for all dead PIDs
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jan 2019 16:30:48 +0000 (17:30 +0100)]
journald: periodically drop cache for all dead PIDs

In normal use, this allow us to drop dead entries from the cache and reduces
the cache size so that we don't evict entries unnecessarily. The time limit is
there mostly to serve as a guard against malicious logging from many different
PIDs.

5 years agojournal: limit the number of entries in the cache based on available memory
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jan 2019 15:12:52 +0000 (16:12 +0100)]
journal: limit the number of entries in the cache based on available memory

This is far from perfect, but should give mostly reasonable values. My
assumption is that if somebody has a few hundred MB of memory, they are
unlikely to have thousands of processes logging. A hundred would already be a
lot. So let's scale the cache size propritionally to the total memory size,
with clamping on both ends.

The formula gives 64 cache entries for each GB of RAM.

5 years agobasic/prioq: add prioq_peek_item()
Zbigniew Jędrzejewski-Szmek [Sat, 26 Jan 2019 10:27:18 +0000 (11:27 +0100)]
basic/prioq: add prioq_peek_item()

5 years agoUpdate 60-sensor.hwdb
zsergeant77 [Thu, 24 Jan 2019 21:03:30 +0000 (00:03 +0300)]
Update 60-sensor.hwdb

Added mount matrix for Digma CITI E203 hybrid

5 years agocore/mount: do not add Before=local-fs.target or remote-fs.target if nofail mount...
Yu Watanabe [Sat, 26 Jan 2019 11:00:04 +0000 (12:00 +0100)]
core/mount: do not add Before=local-fs.target or remote-fs.target if nofail mount option is set

Follow-up for d54bab90e64f70c1ecf9b0683a98adb8485ed09e.

Fixes #11558.

5 years agoAdd missing dash to --all option in the timedatectl man page
Jonathan Roemer [Sat, 26 Jan 2019 00:46:15 +0000 (18:46 -0600)]
Add missing dash to --all option in the timedatectl man page

5 years agotest/test-functions: on PPC64 use hvc0 console
Dimitri John Ledkov [Tue, 20 Feb 2018 12:01:40 +0000 (12:01 +0000)]
test/test-functions: on PPC64 use hvc0 console

5 years agotest/test-functions: on PP64 use vmlinux
Dimitri John Ledkov [Mon, 19 Feb 2018 20:47:41 +0000 (20:47 +0000)]
test/test-functions: on PP64 use vmlinux

At least on Ubuntu, ppc64el uses vmlinux-, not vmlinuz. With this, it should be
possible to run qemu tests on ppc64el as part of Ubuntu autopkgtests.

5 years agodhcp/trivial: fix spelling error in comment
Thomas Haller [Fri, 25 Jan 2019 10:24:06 +0000 (11:24 +0100)]
dhcp/trivial: fix spelling error in comment

5 years agoMerge pull request #11547 from yuwata/network-cosmetic-fixes
Lennart Poettering [Thu, 24 Jan 2019 23:18:45 +0000 (00:18 +0100)]
Merge pull request #11547 from yuwata/network-cosmetic-fixes

network: trivial fix and cleanup

5 years agotimesyncd: Improve sync log message. Fixes #11548.
Niklas Hambüchen [Thu, 24 Jan 2019 19:52:01 +0000 (20:52 +0100)]
timesyncd: Improve sync log message. Fixes #11548.

This makes it clear that the user should not expect more log messages
each time the time is synchronised.

5 years agotest-bpf: check if we can mlock() before trying bpf
Lennart Poettering [Thu, 24 Jan 2019 09:19:33 +0000 (10:19 +0100)]
test-bpf: check if we can mlock() before trying bpf

5 years agonetwork: fix an error log
Yu Watanabe [Thu, 24 Jan 2019 05:33:58 +0000 (14:33 +0900)]
network: fix an error log

5 years agonetwork: make link_up() static
Yu Watanabe [Thu, 24 Jan 2019 03:07:41 +0000 (12:07 +0900)]
network: make link_up() static

5 years agocryptsetup: rework how we log about activation failures
Lennart Poettering [Mon, 21 Jan 2019 19:19:11 +0000 (20:19 +0100)]
cryptsetup: rework how we log about activation failures

First of all let's always log where the errors happen, and not in an
upper stackframe, in all cases. Previously we'd do this somethis one way
and sometimes another, which resulted in sometimes duplicate logging and
sometimes none.

When we cannot activate something due to bad password the kernel gives
us EPERM. Let's uniformly return this EAGAIN, so tha the next password
is tried. (previously this was done in most cases but not in all)

When we get EPERM let's also explicitly indicate that this probably
means the password is simply wrong.

Fixes: #11498

5 years agocryptsetup: add comment what EAGAIN means when activating
Lennart Poettering [Mon, 21 Jan 2019 19:20:35 +0000 (20:20 +0100)]
cryptsetup: add comment what EAGAIN means when activating

5 years agocryptsetup: downgrade a log message we ignore
Lennart Poettering [Mon, 21 Jan 2019 19:19:57 +0000 (20:19 +0100)]
cryptsetup: downgrade a log message we ignore

5 years agocryptsetup: don't line-break so aggressively
Lennart Poettering [Mon, 21 Jan 2019 19:14:42 +0000 (20:14 +0100)]
cryptsetup: don't line-break so aggressively

5 years agocryptsetup: add some commenting about EAGAIN generation
Lennart Poettering [Mon, 21 Jan 2019 19:13:11 +0000 (20:13 +0100)]
cryptsetup: add some commenting about EAGAIN generation

5 years agocryptsetup: modernize some log message invocations
Lennart Poettering [Mon, 21 Jan 2019 19:02:33 +0000 (20:02 +0100)]
cryptsetup: modernize some log message invocations

5 years agocryptsetup: use free_and_replace() where appropriate
Lennart Poettering [Mon, 21 Jan 2019 19:01:38 +0000 (20:01 +0100)]
cryptsetup: use free_and_replace() where appropriate

5 years agoMerge pull request #11536 from yuwata/fix-11529
Lennart Poettering [Wed, 23 Jan 2019 22:35:38 +0000 (23:35 +0100)]
Merge pull request #11536 from yuwata/fix-11529

sd-device-monitor: use SO_DETACH_FILTER to remove BPF program

5 years agoCorrect more spelling errors.
Chris Lamb [Wed, 23 Jan 2019 21:33:29 +0000 (22:33 +0100)]
Correct more spelling errors.

5 years agohwdb: fix duplicate events on Huawei MACH-WX9
Ayman Bagabas [Tue, 22 Jan 2019 04:50:35 +0000 (23:50 -0500)]
hwdb: fix duplicate events on Huawei MACH-WX9

Signed-off-by: Ayman Bagabas <ayman.bagabas@gmail.com>
5 years agotest: add test for sd_device_monitor_filter_remove()
Yu Watanabe [Wed, 23 Jan 2019 06:03:37 +0000 (15:03 +0900)]
test: add test for sd_device_monitor_filter_remove()

5 years agosd-device-monitor: use SO_DETACH_FILTER to remove BPF program
Yu Watanabe [Wed, 23 Jan 2019 05:27:17 +0000 (14:27 +0900)]
sd-device-monitor: use SO_DETACH_FILTER to remove BPF program

Fixes #11529.

5 years agoREADME: remove Coverity Scan badge
Filipe Brandenburger [Tue, 22 Jan 2019 19:52:04 +0000 (11:52 -0800)]
README: remove Coverity Scan badge

The badge is currently serving a broken image, since Coverity Scan is currently
having an outage. See Issue #11185 for more details. We can restore the badge
by reverting this commit once their service is up again.

5 years agohwdb: Add support for Purism Librem 13 V4 keyboards
Chris Lamb [Mon, 21 Jan 2019 23:43:22 +0000 (23:43 +0000)]
hwdb: Add support for Purism Librem 13 V4 keyboards

5 years agoprocfs-util: expose functionality to query total memory
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jan 2019 14:43:07 +0000 (15:43 +0100)]
procfs-util: expose functionality to query total memory

procfs_memory_get_current is renamed to procfs_memory_get_used, because
"current" can mean anything, including total memory, used memory, and free
memory, as long as the value is up to date.

No functional change.

5 years agomeson: make version a dependency and use it in libbasic
Louis Taylor [Mon, 21 Jan 2019 21:45:36 +0000 (21:45 +0000)]
meson: make version a dependency and use it in libbasic

This should hopefully ensure it gets generated before basic build
happens.

Fixes #11483.

5 years agoMerge pull request #11501 from yuwata/fix-9426
Lennart Poettering [Tue, 22 Jan 2019 10:57:06 +0000 (11:57 +0100)]
Merge pull request #11501 from yuwata/fix-9426

sd-device: do not save e.g., DEVPATH or INTERFACE properties to udev database

5 years agoFixes #11128
Taro Yamada [Tue, 22 Jan 2019 02:47:45 +0000 (11:47 +0900)]
Fixes #11128

5 years agohwdb: update
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jan 2019 09:33:27 +0000 (10:33 +0100)]
hwdb: update

Looks to be additions and corrections again. It seems somebody removed
some whitespace in variuos places by mistake, let's hope this gets corrected
upstream. Doing such corrections downstream is not worth the trouble.

5 years agoMerge pull request #11448 from poettering/rlimit-pid1-fixo
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jan 2019 09:07:52 +0000 (10:07 +0100)]
Merge pull request #11448 from poettering/rlimit-pid1-fixo

RLIMIT_MEMLOCK fixes

5 years agoresolved: preferably route single-label lookups to unicast DNS scopes with search...
Lennart Poettering [Tue, 22 Jan 2019 08:57:49 +0000 (09:57 +0100)]
resolved: preferably route single-label lookups to unicast DNS scopes with search domains (#11485)

Fixes: #11391

5 years agoman: udevadm: clarify the behavior when multiple matching rules are specified
Yu Watanabe [Tue, 22 Jan 2019 06:52:39 +0000 (15:52 +0900)]
man: udevadm: clarify the behavior when multiple matching rules are specified

Closes #2995.

5 years agoMerge pull request #11519 from yuwata/udevadm-info-2476
Zbigniew Jędrzejewski-Szmek [Tue, 22 Jan 2019 07:30:26 +0000 (08:30 +0100)]
Merge pull request #11519 from yuwata/udevadm-info-2476

udevadm info: make -P imply -x and update man page

5 years agoman: document db_persist udev rules OPTION
Michal Sekletar [Mon, 21 Jan 2019 22:05:46 +0000 (23:05 +0100)]
man: document db_persist udev rules OPTION

Fixes #1551

5 years agoman: add more explanation about options for "udevadm test"
Yu Watanabe [Tue, 22 Jan 2019 06:05:55 +0000 (15:05 +0900)]
man: add more explanation about options for "udevadm test"

Closes #2476.

5 years agoudevadm info: make --export-prefix imply --export
Yu Watanabe [Tue, 22 Jan 2019 06:00:33 +0000 (15:00 +0900)]
udevadm info: make --export-prefix imply --export

Setting --export without --export-prefix is meaningless.

5 years agocore/device: fix log message
Yu Watanabe [Tue, 22 Jan 2019 03:02:48 +0000 (12:02 +0900)]
core/device: fix log message

5 years agosd-device: do not save e.g., DEVPATH or INTERFACE properties to udev database
Yu Watanabe [Tue, 22 Jan 2019 02:45:40 +0000 (11:45 +0900)]
sd-device: do not save e.g., DEVPATH or INTERFACE properties to udev database

Previously, device_copy_properties() copies all properties to both
sd_device::properties and ::properties_db. Thus, on move uevent,
also tentative properties, e.g. DEVPATH or INTERFACE, are stored to
::properties_db, and saved to udev database.

This makes such tentative properties be copied to only ::properties,
and thus not saved to udev database.

Fixes #9426.

5 years agowait-online: do not fail if we receive invalid messages
Yu Watanabe [Fri, 18 Jan 2019 22:59:17 +0000 (07:59 +0900)]
wait-online: do not fail if we receive invalid messages

Fixes #11486.

5 years agonetwork: unset Network::manager when loading .network file fails
Yu Watanabe [Fri, 18 Jan 2019 03:55:15 +0000 (12:55 +0900)]
network: unset Network::manager when loading .network file fails

Otherwise, LIST_REMOVE() in network_free() fails.

This fixes the following assertion:
```
systemd-networkd[2595]: Bus bus-api-network: changing state UNSET → OPENING
systemd-networkd[2595]: Bus bus-api-network: changing state OPENING → AUTHENTICATING
systemd-networkd[2595]: timestamp of '/etc/systemd/network' changed
systemd-networkd[2595]: /etc/systemd/network/10-hoge.network:1: Invalid section header '[Network]Address=192.168.0.1'
systemd-networkd[2595]: /etc/systemd/network/10-hoge.network:1: Failed to parse file: Bad message
systemd-networkd[2595]: Assertion '*_head == _item' failed at ../../home/watanabe/git/systemd/src/network/networkd-network.c:378, function network_free(). Aborting.
valgrind[2595]: ==2595==
valgrind[2595]: ==2595== Process terminating with default action of signal 6 (SIGABRT): dumping core
valgrind[2595]: ==2595==    at 0x4BCA53F: raise (in /usr/lib64/libc-2.28.so)
valgrind[2595]: ==2595==    by 0x4BB4894: abort (in /usr/lib64/libc-2.28.so)
valgrind[2595]: ==2595==    by 0x4955F09: log_assert_failed_realm (log.c:795)
valgrind[2595]: ==2595==    by 0x417101: network_free (networkd-network.c:378)
valgrind[2595]: ==2595==    by 0x415E99: network_freep (networkd-network.h:282)
valgrind[2595]: ==2595==    by 0x416AB2: network_load_one (networkd-network.c:101)
valgrind[2595]: ==2595==    by 0x416C39: network_load (networkd-network.c:293)
valgrind[2595]: ==2595==    by 0x414031: manager_load_config (networkd-manager.c:1502)
valgrind[2595]: ==2595==    by 0x40B258: run (networkd.c:82)
valgrind[2595]: ==2595==    by 0x40B74A: main (networkd.c:117)
valgrind[2595]: ==2595==
valgrind[2595]: ==2595== HEAP SUMMARY:
valgrind[2595]: ==2595==     in use at exit: 32,621 bytes in 201 blocks
valgrind[2595]: ==2595==   total heap usage: 746 allocs, 545 frees, 241,027 bytes allocated
valgrind[2595]: ==2595==
valgrind[2595]: ==2595== LEAK SUMMARY:
valgrind[2595]: ==2595==    definitely lost: 0 bytes in 0 blocks
valgrind[2595]: ==2595==    indirectly lost: 0 bytes in 0 blocks
valgrind[2595]: ==2595==      possibly lost: 0 bytes in 0 blocks
valgrind[2595]: ==2595==    still reachable: 32,621 bytes in 201 blocks
valgrind[2595]: ==2595==         suppressed: 0 bytes in 0 blocks
valgrind[2595]: ==2595== Reachable blocks (those to which a pointer was found) are not shown.
valgrind[2595]: ==2595== To see them, rerun with: --leak-check=full --show-leak-kinds=all
valgrind[2595]: ==2595==
valgrind[2595]: ==2595== For counts of detected and suppressed errors, rerun with: -v
valgrind[2595]: ==2595== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
systemd-coredump[2600]: Process 2595 (memcheck-amd64-) of user 192 dumped core.
```

5 years agoman: mention that 'udevadm control --exit' restarts systemd-udevd.service
Yu Watanabe [Wed, 16 Jan 2019 22:25:14 +0000 (07:25 +0900)]
man: mention that 'udevadm control --exit' restarts systemd-udevd.service

Closes #1802.

5 years agotest-process-util: do not assume PID 1 has UID=0
Mike Gilbert [Sun, 20 Jan 2019 16:32:45 +0000 (11:32 -0500)]
test-process-util: do not assume PID 1 has UID=0

Gentoo's Portage package manager uses a PID namespace for process
isolation and cleanup. In this namespace, PID 1 has UID=250 (portage).

Bug: https://bugs.gentoo.org/674458

5 years agoEnable some more debug logging for transaction building
Jonathon Kowalski [Thu, 17 Jan 2019 18:28:20 +0000 (18:28 +0000)]
Enable some more debug logging for transaction building

5 years agoDocument weaknesses with MDWE and suggest hardening
Topi Miettinen [Fri, 18 Jan 2019 21:32:28 +0000 (23:32 +0200)]
Document weaknesses with MDWE and suggest hardening

Closes #11473

5 years agotest: mark plymouth as optional dependency
Frantisek Sumsal [Fri, 18 Jan 2019 19:49:29 +0000 (20:49 +0100)]
test: mark plymouth as optional dependency

rescue.service pulls in /bin/plymouth, which doesn't exist on some
distributions (e.g. Arch Linux). Let's mark it as optional, as it's not
even required by the referencing unit and causes unwanted fails in the
integration testsuite.

5 years agoNEWS: add section about backslashes in EnvironmentFile
Louis Taylor [Fri, 18 Jan 2019 19:40:52 +0000 (19:40 +0000)]
NEWS: add section about backslashes in EnvironmentFile

As a follow-up from #11427.

5 years agomeson: bump timeout for test-udev to 180s
Frantisek Sumsal [Fri, 18 Jan 2019 21:32:42 +0000 (22:32 +0100)]
meson: bump timeout for test-udev to 180s

On some (mainly virtual) machines the last test takes more than 30
seconds, which causes unnecessary fails, as the test itself is working
properly.

5 years agoRevert "hwdb: Fix secondary backslash on MSI GS65 laptop"
Zbigniew Jędrzejewski-Szmek [Mon, 21 Jan 2019 07:21:27 +0000 (08:21 +0100)]
Revert "hwdb: Fix secondary backslash on MSI GS65 laptop"

This reverts commit e05c8b44622afe4256f3bb361cfb2c7db32fff8e.

The key in question is labeled as "|\" in the US version, and e.g. "<>" in
European version. In the US version there are two keys with the same label
and they are both mapped to the same keycode. Let's revert the patch, to unbreak
the non-US users.

US users should apply some local work-around, possibly simply keeping the
contents of the patch as a file in hwdb.d/.

5 years agomkosi: add qrencode to arch package list
Louis Taylor [Fri, 18 Jan 2019 21:41:15 +0000 (21:41 +0000)]
mkosi: add qrencode to arch package list

Before adding this, I got errors about the library being missing such
as:

        journalctl: error while loading shared libraries: libqrencode.so.4: cannot open shared object file: No such file or directory

Fixes #7367.

5 years agoMerge pull request #11424 from yuwata/fix-11420
Lennart Poettering [Fri, 18 Jan 2019 16:58:20 +0000 (17:58 +0100)]
Merge pull request #11424 from yuwata/fix-11420

timedate: refuse setting time when unit is in 'activating' or friends

5 years agoMerge pull request #11349 from yuwata/udevadm-control-ping
Zbigniew Jędrzejewski-Szmek [Fri, 18 Jan 2019 16:41:00 +0000 (17:41 +0100)]
Merge pull request #11349 from yuwata/udevadm-control-ping

Add 'udevadm control --ping'

5 years agoexecute: make sure to call into PAM after initializing resource limits
Lennart Poettering [Thu, 17 Jan 2019 11:24:14 +0000 (12:24 +0100)]
execute: make sure to call into PAM after initializing resource limits

We want that pam_limits takes precedence over our settings, after all.

Fixes: #11386

5 years agofd-util: rework how we determine highest possible fd
Lennart Poettering [Thu, 17 Jan 2019 11:23:21 +0000 (12:23 +0100)]
fd-util: rework how we determine highest possible fd

5 years agomain: when generating the resource limit to pass to children, take FD_SETSIZE into...
Lennart Poettering [Wed, 16 Jan 2019 17:06:18 +0000 (18:06 +0100)]
main: when generating the resource limit to pass to children, take FD_SETSIZE into consideration

When we synthesize a "struct rlimit" structure to pass on for
RLIMIT_NOFILE to our children, let's explicitly make sure that the soft
limit is not above FD_SETSIZE, for compat reason with select().

Note this only applies when we derive the "struct rlimit" from what we
inherited. If the user configures something explicitly it always takes
precedence.

5 years agomain: don't bump resource limits if they are higher than we need them anyway
Lennart Poettering [Wed, 16 Jan 2019 17:05:14 +0000 (18:05 +0100)]
main: don't bump resource limits if they are higher than we need them anyway

This matters in particular in the case of --user, since there we lack
the privs to bump the limits up again later on when invoking children.

5 years agomain: add commenting, clean up handling of saved resource limits
Lennart Poettering [Wed, 16 Jan 2019 13:50:03 +0000 (14:50 +0100)]
main: add commenting, clean up handling of saved resource limits

This doesn't really change behaviour, but adds comments and uses more
symbolic names for everything, to make this more readable.

5 years agomain: when bumping RLIMIT_MEMLOCK, save the previous value to pass to children
Lennart Poettering [Wed, 16 Jan 2019 13:47:09 +0000 (14:47 +0100)]
main: when bumping RLIMIT_MEMLOCK, save the previous value to pass to children

Let's make sure that the bumping of RLIMIT_MEMLOCK does not leak into
our children.

5 years agobash-completion: udevadm: support recently added options
Yu Watanabe [Sat, 12 Jan 2019 23:14:17 +0000 (08:14 +0900)]
bash-completion: udevadm: support recently added options

5 years agoudevd: rename control command SYNC -> PING in log message
Yu Watanabe [Sat, 12 Jan 2019 23:12:24 +0000 (08:12 +0900)]
udevd: rename control command SYNC -> PING in log message

5 years agoudevadm: add --wait-daemon option to 'trigger' command
Yu Watanabe [Sat, 12 Jan 2019 23:10:12 +0000 (08:10 +0900)]
udevadm: add --wait-daemon option to 'trigger' command

5 years agoudevadm: add --ping option to 'control' command
Yu Watanabe [Sat, 12 Jan 2019 22:44:38 +0000 (07:44 +0900)]
udevadm: add --ping option to 'control' command

This exposes `udev_ctrl_send_ping()`.

5 years agocore/mount: move static function earlier in file
Zbigniew Jędrzejewski-Szmek [Thu, 17 Jan 2019 20:17:51 +0000 (21:17 +0100)]
core/mount: move static function earlier in file

No functional change.

5 years agoNEWS: retroactively describe .include deprecation
Zbigniew Jędrzejewski-Szmek [Fri, 18 Jan 2019 12:45:10 +0000 (13:45 +0100)]
NEWS: retroactively describe .include deprecation

Closes #11479.

5 years agosd-event: introduce event_free_signal_data()
Yu Watanabe [Fri, 18 Jan 2019 06:16:22 +0000 (15:16 +0900)]
sd-event: introduce event_free_signal_data()

We already have event_free_inotify_data() and event_free_inode_data().

5 years agoMerge pull request #11450 from keszybz/drop-nolegacy
Lennart Poettering [Fri, 18 Jan 2019 12:51:15 +0000 (13:51 +0100)]
Merge pull request #11450 from keszybz/drop-nolegacy

Drop unused NOLEGACY define

5 years agoChange job mode of manager triggered restarts to JOB_REPLACE
Jonathon Kowalski [Thu, 17 Jan 2019 17:08:00 +0000 (17:08 +0000)]
Change job mode of manager triggered restarts to JOB_REPLACE

Fixes: #11305
Fixes: #3260
Related: #11456

So, here's what happens in the described scenario in #11305. A unit goes
down, and that triggeres stop jobs for the other two units as they were
bound to it. Now, the timer for manager triggered restarts kicks in and
schedules a restart job with the JOB_FAIL job mode. This means there is
a stop job installed on those units, and now due to them being bound to
us they also get a restart job enqueued. This however is a conflicts, as
neither stop can merge into restart, nor restart into stop. However,
restart should be able to replace stop in any case. If the stop
procedure is ongoing, it can cancel the stop job, install itself, and
then after reaching dead finish and convert itself to a start job.
However, if we increase the timer, then it can always take those units
from inactive -> auto-restart.

We change the job mode to JOB_REPLACE so the restart job cancels the
stop job and installs itself.

Also, the original bug could be worked around by bumping RestartSec= to
avoid the conflicting.

This doesn't seem to be something that is going to break uses. That is
because for those who already had it working, there must have never been
conflicting jobs, as that would result in a desctructive transaction by
virtue of the job mode used.

After this change, the test case is able to work nicely without issues.

5 years agoMerge pull request #11427 from kragniz/10659-env-file-quotes
Lennart Poettering [Fri, 18 Jan 2019 12:50:15 +0000 (13:50 +0100)]
Merge pull request #11427 from kragniz/10659-env-file-quotes

util-lib: follow shell syntax for escape in quotes

5 years agoAdd multiple initrd file support to kernel-install
Mike Auty [Thu, 17 Jan 2019 18:06:09 +0000 (18:06 +0000)]
Add multiple initrd file support to kernel-install

Instead of having just a single INITRD field, add support for all
additional parameters being INITRD fields in order.

Signed-off-by: Mike Auty <mike.auty@gmail.com>
5 years agoadd hwdb rule for Bangho touchpad (#11475)
dcanuhe [Fri, 18 Jan 2019 12:49:30 +0000 (09:49 -0300)]
add hwdb rule for Bangho touchpad (#11475)

add hwdb rule for Bangho touchpad

5 years agoMerge pull request #11465 from poettering/daemon-bus-flush
Lennart Poettering [Fri, 18 Jan 2019 12:48:52 +0000 (13:48 +0100)]
Merge pull request #11465 from poettering/daemon-bus-flush

flush+close bus connections explicitly when our daemons go down

5 years agoMerge pull request #11449 from keszybz/udev-link-naming-again
Lennart Poettering [Thu, 17 Jan 2019 19:06:55 +0000 (20:06 +0100)]
Merge pull request #11449 from keszybz/udev-link-naming-again

Make udev link re-renaming conditional

5 years agotree-wide: fix some trailing whitespace
Lennart Poettering [Thu, 17 Jan 2019 18:47:19 +0000 (19:47 +0100)]
tree-wide: fix some trailing whitespace

@bl33pbl0p, please fix your editor

(Apparently you never configured the source tree? If you did, then the
git pre-commit hook would have been enabled which doesn't allow
commiting non-whitespace clean stuff...)

5 years agoMerge pull request #11378 from keszybz/export-dbus-address-conditionally
Lennart Poettering [Thu, 17 Jan 2019 17:36:01 +0000 (18:36 +0100)]
Merge pull request #11378 from keszybz/export-dbus-address-conditionally

Export dbus address conditionally

5 years agoMerge pull request #11375 from daxtens/issue5882
Lennart Poettering [Thu, 17 Jan 2019 17:08:01 +0000 (18:08 +0100)]
Merge pull request #11375 from daxtens/issue5882

network: Fix IPv6 PreferredSource routes

5 years agotools/choose-default-locale.sh: set shebang to /bin/sh
Jörg Thalheim [Mon, 14 Jan 2019 15:14:32 +0000 (15:14 +0000)]
tools/choose-default-locale.sh: set shebang to /bin/sh

The script does not use any bash features.
On NixOS we have /bin/sh and /usr/bin/env for posix compatibility
but not /bin/bash as it is stored in our nix store.
With this change one can run the `meson configure` without patching
which greatly helps, when working on upstream contributions.

5 years agotree-wide: use '"' instead of '\"'
Louis Taylor [Tue, 15 Jan 2019 18:51:31 +0000 (18:51 +0000)]
tree-wide: use '"' instead of '\"'

The escape used previously was redundant and made things more confusing.

5 years agocore: shorten code by using new helper
Lennart Poettering [Thu, 17 Jan 2019 15:10:58 +0000 (16:10 +0100)]
core: shorten code by using new helper

5 years agotree-wide: whenever we allocate a new bus object, close it before dropping final ref
Lennart Poettering [Thu, 17 Jan 2019 15:07:22 +0000 (16:07 +0100)]
tree-wide: whenever we allocate a new bus object, close it before dropping final ref

This doesn't really change much, but feels more correct to do, as it
ensures that all messages currently queued in the bus connections are
definitely unreffed and thus destryoing of the connection object will
follow immediately.

Strictly speaking this change is entirely unnecessary, since nothing
else could have acquired a ref to the connection and queued a message
in, however, now that we have the new sd_bus_close_unref() helper it
makes a lot of sense to use it here, to ensure that whatever happens
nothing that might have been queued fucks with us.

5 years agoinitctl: shorten and update code a bit
Lennart Poettering [Thu, 17 Jan 2019 14:54:37 +0000 (15:54 +0100)]
initctl: shorten and update code a bit