Lennart Poettering [Wed, 6 Mar 2019 10:42:12 +0000 (11:42 +0100)]
catalog: (void)ify all things
Lennart Poettering [Wed, 6 Mar 2019 10:41:59 +0000 (11:41 +0100)]
catalog: use structured initialization more
Lennart Poettering [Wed, 6 Mar 2019 10:40:31 +0000 (11:40 +0100)]
catalog: let's use mkdir_parents() and use same mode as tmpfiles.d for this dir
let's use mkdir_parents() (because its shorter), and 0755 as access
mode, so that things have the access mode tmpfiles.d also suggests.
Prompted by: #11903
Lennart Poettering [Wed, 6 Mar 2019 10:39:11 +0000 (11:39 +0100)]
catalog: be a bit less aggressive with line breaking. After all 109ch is what we going for
Lennart Poettering [Wed, 6 Mar 2019 10:38:28 +0000 (11:38 +0100)]
catalog: don't make catalog_entry_lang() clobber output params on failure
A minor fix to bring this in-line with our coding style
Michael Biebl [Thu, 7 Mar 2019 11:02:53 +0000 (12:02 +0100)]
units: fix systemd.special man page reference in system-update-cleanup.service
Lennart Poettering [Thu, 7 Mar 2019 13:42:08 +0000 (14:42 +0100)]
Merge pull request #11916 from yuwata/pid1-id-renaming-handling
core: handle ID_RENAMING= udev property
Lennart Poettering [Thu, 7 Mar 2019 13:41:44 +0000 (14:41 +0100)]
Merge pull request #11918 from keszybz/clang-8
Two trivial changes to build with clang 8
Lennart Poettering [Tue, 5 Mar 2019 17:57:53 +0000 (18:57 +0100)]
nspawn: move payload to sub-cgroup first, then sync cgroup trees
if we sync the legacy and unified trees before moving to the right
subcgroup then ultimately the cgroup paths in the hierarchies will be
out-of-sync... Hence, let's move the payload first, and sync then.
Addresses: https://github.com/systemd/systemd/pull/9762#issuecomment-
441187979
Piotr Drąg [Wed, 6 Mar 2019 17:59:02 +0000 (18:59 +0100)]
po: update Polish translation
Zbigniew Jędrzejewski-Szmek [Thu, 7 Mar 2019 09:56:38 +0000 (10:56 +0100)]
test-execute: avoid undefined variable warning when compiled w/o seccomp
Zbigniew Jędrzejewski-Szmek [Thu, 7 Mar 2019 09:56:15 +0000 (10:56 +0100)]
build-sys: disable -Wstring-plus-int
clang-8 warns about constructs like "foobar"+3 (to get "bar"). We
like to use patterns like this, so let's just disable the warning.
Stephane Chazelas [Wed, 6 Mar 2019 22:16:55 +0000 (22:16 +0000)]
remove "." path components from required mount paths
unit_require_mounts_for may be passed path arguments that contain "."
components like for user's home directories where "." is sometimes used
to specify some form of anchor point.
This change stops considering such path as an error and removes the "."
components instead.
Closes: #11910
Kai-Heng Feng [Wed, 6 Mar 2019 16:28:10 +0000 (00:28 +0800)]
hwdb: Add support for Alienware touchpad toggle
BugLink: https://bugs.launchpad.net/bugs/1605433
Lennart Poettering [Thu, 7 Mar 2019 09:01:31 +0000 (10:01 +0100)]
Merge pull request #11911 from keszybz/bootspec-handle-invalid-efi
Bootspec handle invalid efi
Yu Watanabe [Thu, 7 Mar 2019 05:49:09 +0000 (14:49 +0900)]
TODO: update
Yu Watanabe [Thu, 7 Mar 2019 05:47:43 +0000 (14:47 +0900)]
test: add test for ID_RENAMING= udev property handling by pid1
Yu Watanabe [Thu, 7 Mar 2019 05:45:38 +0000 (14:45 +0900)]
man: mention possible actions supported by "udevadm trigger"
Yu Watanabe [Thu, 7 Mar 2019 05:43:33 +0000 (14:43 +0900)]
udevadm trigger: make --action option support all possible actions
This also make udevadm abort operations if invalid action is specified.
Yu Watanabe [Thu, 7 Mar 2019 05:42:36 +0000 (14:42 +0900)]
sd-device: move device_action_from_string() and friends to device-private.h
Yu Watanabe [Thu, 7 Mar 2019 03:54:58 +0000 (12:54 +0900)]
core/device: make devices with ID_RENAMING= property be considered not ready
Zbigniew Jędrzejewski-Szmek [Wed, 6 Mar 2019 21:49:52 +0000 (22:49 +0100)]
shared/bootspec: do not fail on errors when reading EFI vars
It seems that my EFI storage is corrupted. The kernel reports the file as present, but returns
an error when reading. Nevertheless, this shouldn't prevent me from reading the entry
list.
Fixes #11909.
Zbigniew Jędrzejewski-Szmek [Wed, 6 Mar 2019 21:45:37 +0000 (22:45 +0100)]
shared/bootspec: treat empty EFI vars as missing
We shouldn't really make any fuss about this. Also, change 'var' to 'variable'
for consistency with systemctl.c.
Zbigniew Jędrzejewski-Szmek [Tue, 5 Mar 2019 12:56:18 +0000 (13:56 +0100)]
shared/bootspec: minor simplification
Lennart Poettering [Wed, 6 Mar 2019 09:46:18 +0000 (10:46 +0100)]
Merge pull request #11898 from keszybz/meson-conv-lib
Use a convenience library for the sources shared between core/ and shutdown/
Lennart Poettering [Tue, 5 Mar 2019 17:11:35 +0000 (18:11 +0100)]
json: log about the right line number
We mean the line number in the json data, not the line number in our
C source code.
Addresses: https://github.com/systemd/systemd/pull/9762#issuecomment-
441183987
Zbigniew Jędrzejewski-Szmek [Tue, 5 Mar 2019 15:22:33 +0000 (16:22 +0100)]
meson: drop "_la_" from variable name
A left-over from libtool times.
Zbigniew Jędrzejewski-Szmek [Tue, 5 Mar 2019 15:19:40 +0000 (16:19 +0100)]
meson: use a convenience library for the sources shared between core/ and the outside
This avoids double compilation. Those files are tiny, so it doesn't save time,
but we avoid repeated warnings and errors, and it's generally cleaner to it
this way.
The number of commands in 'ninja -C build clean && ninja -C build' drops from
1462 to 1455 for me.
Zbigniew Jędrzejewski-Szmek [Tue, 5 Mar 2019 19:38:41 +0000 (20:38 +0100)]
Merge pull request #10495 from poettering/login-boot-hookup
add "systemctl reboot --boot-loader-menu=" and "systemctl reboot --boot-loader-entry="
Zbigniew Jędrzejewski-Szmek [Tue, 5 Mar 2019 15:46:52 +0000 (16:46 +0100)]
pkgconfig: avoid double slash with split-usr configuration
By defining rootprefix= we avoid a double slash in $systemdsystemunitdir and
other variables. This fixes a regression introduced in
1c2c7c6cb3d92315624f3711114e86b0acfbce63 where the variables using rootprefix=/
would start with a double slash. This should be interpreted the same, but is
certainly ugly.
The rootprefix variable was added to systemd.pc in
1c2c7c6cb3d92315624f3711114e86b0acfbce63, so there is no question of backwards
compatiblity. If people try to "override" the prefix and specify
--define-variable=rootprefix=/, they will get a double slash, which should be
OK, and is the same as --define-variable=rootprefix=/something/, which also
results in a double slash somewhere in the strings.
Lennart Poettering [Tue, 23 Oct 2018 12:17:22 +0000 (14:17 +0200)]
update TODO
Lennart Poettering [Tue, 23 Oct 2018 13:53:18 +0000 (15:53 +0200)]
docs: document the new environment variables logind groks
Lennart Poettering [Tue, 23 Oct 2018 11:58:41 +0000 (13:58 +0200)]
logind: refactor logic of returning polkit challenge result into its own function
Let's share some code.
Lennart Poettering [Mon, 22 Oct 2018 18:43:45 +0000 (20:43 +0200)]
systemctl: add support for booting into boot menu/entry
(This also removes support for booting into the EFI firmware setup
without logind. That's because otherwise the non-EFI fallback logind
implements can't work.)
Fixes: #9896
Lennart Poettering [Mon, 22 Oct 2018 18:06:52 +0000 (20:06 +0200)]
logind: add support for booting into the boot menu or a specific boot menu entry
This behaves similar to the "boot into firmware" logic, and also allows
either direct EFI operation (which sd-boot supports and others might
support eventually too) or override through env var.
Lennart Poettering [Mon, 4 Mar 2019 18:19:30 +0000 (19:19 +0100)]
bootspec: validate bootpsec entry ids before we use them
Lennart Poettering [Mon, 4 Mar 2019 17:02:30 +0000 (18:02 +0100)]
bootspec: get rid of find_default_boot_entry() entirely
Now only two operations are left. Let's just move this into the caller,
since it should make things simpler, clearer and shorter, in particular
as there's only a single user for this.
Lennart Poettering [Mon, 4 Mar 2019 16:57:54 +0000 (17:57 +0100)]
bootspec: rework find_default_boot_entry() to use boot_entries_load_config_auto()
it's pretty much the same code now, hence use it.
Lennart Poettering [Mon, 4 Mar 2019 16:52:17 +0000 (17:52 +0100)]
bootspec: introduce new helper boot_entries_load_config_auto()
It's a simple wrapper around boot_entries_load_config(), but determines
the ESP/XBOOTLDR paths automatically at first. Also, it looks for a path
/run/boot-loader-entries/ and loads the entries from there if it
exists. This is supposed to be a hook for other boot loaders to make our
tools aware of their own entries.
Lennart Poettering [Fri, 1 Mar 2019 17:38:32 +0000 (18:38 +0100)]
bootspec: correct error code shown in log msg
Lennart Poettering [Fri, 1 Mar 2019 17:35:26 +0000 (18:35 +0100)]
bootspec: move augmentation of loader-discovered entries into bootspec.c
Previously, bootctl would show boot loader entries discovered by the
boot loader which couldn't found locally separately in the output.
Let's move this code into bootspec.c, and beef it up a bit. This way we
can use it later on for logind, and correctly show automatically
discovered windows/macos entries too.
Lennart Poettering [Fri, 1 Mar 2019 16:51:15 +0000 (17:51 +0100)]
bootspec: simplify find_default_boot_entry()
If the only caller passes NULL for the two paths, let's remove the
parameter altogether.
Lennart Poettering [Fri, 1 Mar 2019 16:48:31 +0000 (17:48 +0100)]
systemctl: let's FORK_WAIT where we can
Lennart Poettering [Fri, 1 Mar 2019 16:47:50 +0000 (17:47 +0100)]
systemctl: when something is not supported use EOPNOTSUPP
Lennart Poettering [Fri, 1 Mar 2019 16:46:58 +0000 (17:46 +0100)]
systemctl: be careful with boot loader entries lacking a 'linux' line
A boot loader entry might not have a 'linux' line, but an 'efi' line or
something else. Let's handle that case nicely.
Lennart Poettering [Fri, 1 Mar 2019 15:53:11 +0000 (16:53 +0100)]
bootspec: move log msg from systemctl.c to bootspec.c
find_default_boot_entry() is only used by systemctl.c, and currently
handles one log message in the caller instead of the callee. Let's
simplify that and move it over, too
Lennart Poettering [Fri, 1 Mar 2019 15:05:14 +0000 (16:05 +0100)]
bootctl: tweak 'list' output a bit
Let's suppress the final newline in the list if it's the last entry we
are outputting.
Lennart Poettering [Mon, 22 Oct 2018 18:02:25 +0000 (20:02 +0200)]
logind: optionally support non-EFI reboot-to-firmware
This extends the reboot-to-firmware logic in logind, so that other than
EFI firmwares could be theoretically support. The scheme is like this:
if you want to support this, set the $SYSTEMD_REBOOT_TO_FIRMWARE=1 env
var for logind. If so, this will override the EFI logic, and cause a
file /run/systemd/reboot-to-firmware file to be created when
reboot-to-firmware is requested. This file has no contents, it's mere
existance indicates a reboot with reboot-to-firmware set.
The idea is that for alternative firmwares a drop-in for logind is added
that sets the env var, in combination with some code run during shutdown
that checks for the file and does the right thing.
Lennart Poettering [Fri, 16 Nov 2018 17:55:51 +0000 (18:55 +0100)]
efivars: extend character set that may be used in boot loader entry ids a bit
See https://github.com/systemd/systemd/pull/10495#discussion_r233992570
Zbigniew Jędrzejewski-Szmek [Tue, 5 Mar 2019 14:36:03 +0000 (15:36 +0100)]
Merge pull request #11896 from poettering/shutdown-fixes
move src/core/shutdown.c and helpers to src/shutdown/
Zbigniew Jędrzejewski-Szmek [Tue, 5 Mar 2019 10:03:59 +0000 (11:03 +0100)]
docs: add a note about compilation options
Closes #6371.
Lennart Poettering [Mon, 4 Mar 2019 16:51:54 +0000 (17:51 +0100)]
core: warn if people use the undocumented/depreacted ConditionNull=
Triggered by:
https://github.com/systemd/systemd/issues/11812
Franck Bui [Tue, 5 Mar 2019 10:03:07 +0000 (11:03 +0100)]
udev: restore debug level when logging a failure in the external prog called by IMPORT{program}
It was already the case before commit
a75211421fc9366068e6d9446e8e567246c72feb,
which upgraded the log to warning.
This seems an unintended side effect as the commit message doesn't mention it
and the old behavior looks more appropriate.
Lennart Poettering [Tue, 5 Mar 2019 11:12:33 +0000 (12:12 +0100)]
shutdown: rearrange shutdown sources in source tree
Let's move the shutdown binary into its own subdirectory in
src/shutdown, after all it is relatively isolated from the normal PID 1
sources, being a different binary and all.
Unfortunately it's not possible to move some of the code, since it is
shared with PID 1, that I wished we could move, but I still think it's
worth it.
Lennart Poettering [Tue, 5 Mar 2019 10:53:39 +0000 (11:53 +0100)]
shutdown: (void)ify more stuff
Lennart Poettering [Tue, 5 Mar 2019 10:52:54 +0000 (11:52 +0100)]
shutdown: fix up return type of sync_making_progress()
We shouldn't return negative errnos as "bool", hence fix the type of the
function to "int".
Lennart Poettering [Tue, 5 Mar 2019 10:52:32 +0000 (11:52 +0100)]
update TODO
Lennart Poettering [Tue, 5 Mar 2019 09:05:57 +0000 (10:05 +0100)]
Merge pull request #11881 from yuwata/networkd-vs-interface-renaming
Networkd vs interface renaming
Yu Watanabe [Mon, 4 Mar 2019 19:01:34 +0000 (04:01 +0900)]
udev: run programs in the specified order
This fixes bugs introduced by
29448498c724da7ade1b5efb20d7472c1b128d2c
and
d838e14515c82b05a07f2bf393cce057b45b2b53.
Previously, RUN and SECLABEL keys are stored in udev_list with its unique
flag is false. If the flag is false, then udev_list is just a linked
list and new entries are always added in the last.
So, we should use OrderedHashmap instead of Hashmap.
Fixes #11368.
roadrunner2 [Tue, 5 Mar 2019 07:52:22 +0000 (23:52 -0800)]
hwdb: add touchpad resolutions for 2015-2017 MacBook(Pro)'s. (#11874)
These are all models using an SPI keyboard and touchpad and using the
same applespi kernel driver.
Evgeny Vereshchagin [Tue, 5 Mar 2019 04:44:11 +0000 (05:44 +0100)]
travis: use /bin/systemd instead of /usr/bin/systemd
Apparently systemd is in /bin now.
Yu Watanabe [Mon, 4 Mar 2019 03:20:51 +0000 (12:20 +0900)]
dhcp: refuse to configure DHCP IAID if the interface is under renaming
systemd-networkd itself does not start dhcp client, but the code
may be used in other projects. So, check that the interface is under
renaming or not.
Yu Watanabe [Mon, 4 Mar 2019 03:19:05 +0000 (12:19 +0900)]
network: do not configure interfaces under renaming
Yu Watanabe [Mon, 4 Mar 2019 03:16:46 +0000 (12:16 +0900)]
util: introduce device_is_renaming()
It will be used in the later commit.
Yu Watanabe [Mon, 4 Mar 2019 03:01:26 +0000 (12:01 +0900)]
network: always drop configs when interface is renamed
Before the renaming, wrong .network file may be assigned to the link.
So, let's always drop link configuration.
Yu Watanabe [Mon, 4 Mar 2019 02:45:58 +0000 (11:45 +0900)]
udev: set ID_RENAMING property when interface renaming is requested
And drop the property on the corresponding 'move' uevent.
Yu Watanabe [Tue, 5 Mar 2019 01:31:20 +0000 (10:31 +0900)]
udev: do not read UdevEvent object before checking it is non-NULL
Yu Watanabe [Mon, 4 Mar 2019 02:26:23 +0000 (11:26 +0900)]
udev: drop unnecessary copy of new interface name
Yu Watanabe [Mon, 4 Mar 2019 02:24:33 +0000 (11:24 +0900)]
netlink: check new interface name is valid or not before sending request
Lennart Poettering [Mon, 4 Mar 2019 18:30:23 +0000 (19:30 +0100)]
Merge pull request #11841 from keszybz/dns-packet-speedup
DNS packet speedup
Lennart Poettering [Mon, 4 Mar 2019 18:04:27 +0000 (19:04 +0100)]
Merge pull request #11871 from yuwata/systemctl-show-format-unprintable
systemctl: format many entries in 'show' command
Lennart Poettering [Mon, 4 Mar 2019 18:03:46 +0000 (19:03 +0100)]
Merge pull request #11888 from keszybz/non-atomic
Drop unused atomic operations
Zbigniew Jędrzejewski-Szmek [Wed, 27 Feb 2019 12:09:37 +0000 (13:09 +0100)]
fuzz-dns-packet: add test case with lots of labels
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=13422
Zbigniew Jędrzejewski-Szmek [Wed, 27 Feb 2019 09:37:40 +0000 (10:37 +0100)]
resolved: when adding RR to an answer, avoid comparing keys twice
We'd call dns_resource_record_equal(), which calls dns_resource_key_equal()
internally, and then dns_resource_key_equal() a second time. Let's be
a bit smarter, and call dns_resource_key_equal() only once.
(before)
dns_resource_key_hash_func_count=514
dns_resource_key_compare_func_count=275
dns_resource_key_equal_count=62371
4.13s user 0.01s system 99% cpu 4.153 total
(after)
dns_resource_key_hash_func_count=514
dns_resource_key_compare_func_count=276
dns_resource_key_equal_count=31337
2.13s user 0.01s system 99% cpu 2.139 total
Zbigniew Jędrzejewski-Szmek [Wed, 27 Feb 2019 09:27:35 +0000 (10:27 +0100)]
resolve: split the RR comparison function in two
No functional change.
Zbigniew Jędrzejewski-Szmek [Wed, 27 Feb 2019 06:01:50 +0000 (07:01 +0100)]
resolved: use a temporary Set to speed up dns question parsing
This doesn't necessarily make things faster, because we still spend more time
in dns_answer_add(), but it improves the compuational complexity of this part.
If we even make dns_resource_key_equal_faster, this will become worthwhile.
Yu Watanabe [Sat, 2 Mar 2019 17:48:43 +0000 (02:48 +0900)]
systemctl: format LogExtraFields= in 'show' command
Yu Watanabe [Sat, 2 Mar 2019 17:27:04 +0000 (02:27 +0900)]
systemctl: format BindPaths= or TemporaryFileSystems= in 'show' command
Yu Watanabe [Sat, 2 Mar 2019 17:06:18 +0000 (02:06 +0900)]
systemctl: print RestrictAddressFamilies= in 'show' command
Yu Watanabe [Sat, 2 Mar 2019 16:59:58 +0000 (01:59 +0900)]
systemctl: show nothing if no LoadError=
Yu Watanabe [Sat, 2 Mar 2019 16:35:18 +0000 (01:35 +0900)]
systemctl: format IPIngressBytes= or friends nicely
Yu Watanabe [Sat, 2 Mar 2019 16:27:10 +0000 (01:27 +0900)]
systemctl: show IPAddressAllow= and IPAddressDeny= in 'show' command
Yu Watanabe [Mon, 4 Mar 2019 14:07:35 +0000 (23:07 +0900)]
test: add tests for test_in_addr_prefix_to_string()
Yu Watanabe [Mon, 4 Mar 2019 13:47:10 +0000 (22:47 +0900)]
test: move tests for in_addr_prefix_from_string()
Yu Watanabe [Sat, 2 Mar 2019 16:17:32 +0000 (01:17 +0900)]
util: introduce in_addr_prefix_to_string()
Yu Watanabe [Sat, 2 Mar 2019 16:16:50 +0000 (01:16 +0900)]
util: use _cleanup_ attributes
Yu Watanabe [Sat, 2 Mar 2019 15:35:58 +0000 (00:35 +0900)]
core: fix received size of signal or status size
sd_bus_message_read_array() returns size of array in bytes, not number
of elements.
This also convert int to int32_t, as the dbus type 'i' is int32_t.
Zbigniew Jędrzejewski-Szmek [Mon, 4 Mar 2019 14:42:58 +0000 (15:42 +0100)]
sd-hwdb: fix off_t vs. size_t confusion in cast
> on 32bit, size_t is 32bit, but .st_size is off_t hence 64bit
Yu Watanabe [Sat, 2 Mar 2019 15:33:28 +0000 (00:33 +0900)]
systemctl: show SuccessExitStatus= and friends
Yu Watanabe [Sat, 2 Mar 2019 14:50:59 +0000 (23:50 +0900)]
systemctl: use streq() if arguments must be non-NULL
Yu Watanabe [Sat, 2 Mar 2019 14:36:51 +0000 (23:36 +0900)]
systemctl: do not show negative values in {Success,Failure}ActionExitStatus=
Yu Watanabe [Sat, 2 Mar 2019 14:35:26 +0000 (23:35 +0900)]
bus-util: drop unnecessary re-formatting
INSUN PYO [Thu, 17 Jan 2019 06:53:13 +0000 (15:53 +0900)]
systemctl: show SELinuxContext=, AppArmorProfile= and SmackProcessLabel=
Run: systemctl show -a dbus.service | grep -E "SELinuxContext|AppArmorProfile|SmackProcessLabel"
Before patch:
SELinuxContext=[unprintable]
AppArmorProfile=[unprintable]
SmackProcessLabel=[unprintable]
After patch:
SELinuxContext=[""|"value of context"]
AppArmorProfile=[""|"value of context"]
SmackProcessLabel=[""|"value of context"]
Martin Pitt [Sun, 3 Mar 2019 21:19:16 +0000 (22:19 +0100)]
semaphoreci: caching and more robust creation of container image
lxc-create in semaphore sometimes fails with
ERROR: Unable to fetch GPG key from keyserver
Which often happens behind proxies. As the default key server is a load
balancer, retry a few times.
Also, cache the container image between runs, and only recreate it when
it is older than a week.
Davide Cavalca [Tue, 26 Feb 2019 23:11:02 +0000 (18:11 -0500)]
test: do not assume test-chown-rec is running as root
Zbigniew Jędrzejewski-Szmek [Fri, 1 Mar 2019 11:42:31 +0000 (12:42 +0100)]
Remove now-unused refcnt.h
Zbigniew Jędrzejewski-Szmek [Fri, 1 Mar 2019 17:31:45 +0000 (18:31 +0100)]
sd-netlink: do not use atomic reference counters
Same as with the other users, any non-trivial use of the objects requires
use from a single thread only or external locking. Using atomic operations
just for reference counts is not useful.
Zbigniew Jędrzejewski-Szmek [Fri, 1 Mar 2019 17:14:32 +0000 (18:14 +0100)]
sd-hwdb: some minor logging and style updates
Zbigniew Jędrzejewski-Szmek [Fri, 1 Mar 2019 17:04:58 +0000 (18:04 +0100)]
sd-hwdb: use non-atomic reference counters
The sd-hwdb objects cannot be used concurrently from two threads in any
meaningful way, because query and iteration operations modify the object.
Thus atomic reference counts are pointless.
Zbigniew Jędrzejewski-Szmek [Fri, 1 Mar 2019 11:43:12 +0000 (12:43 +0100)]
bus: make reference counting non-atomic
We had atomic counters, but all other operations were non-serialized. This
means that concurrent access to the bus object was only safe if _all_ threads
were doing read-only access. Even sending of messages from threads would not be
possible, because after sending of the message we usually want to remove it
from the send queue in the bus object, which would race. Let's just kill this.