]>
git.ipfire.org Git - thirdparty/systemd.git/log
Lennart Poettering [Thu, 24 Sep 2020 13:08:22 +0000 (15:08 +0200)]
loop-util: apparently opening a loop device sometimes results in ENXIO, handle this
Lennart Poettering [Thu, 24 Sep 2020 13:09:14 +0000 (15:09 +0200)]
loop-util: use right flags field
Lennart Poettering [Fri, 25 Sep 2020 13:50:15 +0000 (15:50 +0200)]
Merge pull request #17148 from jlebon/pr/crypt-source
cryptsetup-generator: use "/proc/cmdline" as source when appropriate
Zbigniew Jędrzejewski-Szmek [Fri, 25 Sep 2020 11:39:24 +0000 (13:39 +0200)]
Merge pull request #17132 from keszybz/test-suite-update
Test suite updates
Jonathan Lebon [Wed, 23 Sep 2020 19:25:41 +0000 (15:25 -0400)]
cryptsetup-generator: avoid magic value in ternary
`startswith` already returns the string with the prefix skipped, so we
can simplify this further and avoid using a magic value.
Noticed in passing.
Co-authored-by: Lennart Poettering <lennart@poettering.net>
mog422 [Thu, 24 Sep 2020 15:04:52 +0000 (00:04 +0900)]
sd-dhcp6-client: Fix sending prefix delegation request (#17136)
SD_DHCP6_OPTION_IA_NA does not exist in DHCP6_ADVERTISE packet if DHCP server only provides prefix delegation. So the attempt to send the DHCP6_REQUEST packet fails on r = dhcp6_option_append_ia(&opt, &optlen, &client->lease->ia); forever.
Zbigniew Jędrzejewski-Szmek [Tue, 22 Sep 2020 17:05:17 +0000 (19:05 +0200)]
test-seccomp: accept ENOSYS from sysctl(2) too
It seems that kernel 5.9 started returning that.
Zbigniew Jędrzejewski-Szmek [Tue, 22 Sep 2020 16:26:28 +0000 (18:26 +0200)]
test: switch TEST-02-CRYPTSETUP and TEST-24-UNITTESTS
When tests are executed serially (the default), it seems better to launch
the fairly generic test that runs the unittests early in the sequence.
Right now the tests are ordered based on when they were written, but
this doesn't make much sense.
Zbigniew Jędrzejewski-Szmek [Thu, 24 Sep 2020 07:40:56 +0000 (09:40 +0200)]
Merge pull request #17145 from poettering/kill-chmod-and-chown-unsafe
remove chmod_and_chown_unsafe()
Lennart Poettering [Thu, 24 Sep 2020 07:38:36 +0000 (09:38 +0200)]
Merge pull request #17143 from keszybz/late-exec-resolution-alt
Late exec resolution (subset)
germanztz [Thu, 24 Sep 2020 07:33:43 +0000 (09:33 +0200)]
hwdb: add Medion Akoya E2221T MD60691 (#17147)
Charles Lee [Thu, 24 Sep 2020 04:29:28 +0000 (06:29 +0200)]
Translated using Weblate (Chinese (Simplified))
Currently translated at 63.1% (118 of 187 strings)
Co-authored-by: Charles Lee <lchopn@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/zh_CN/
Translation: systemd/master
Kyle Huey [Wed, 23 Sep 2020 21:19:09 +0000 (14:19 -0700)]
random-util: Add an environment variable to disable RDRAND.
SYSTEMD_RDRAND=0 will prevent using RDRAND even on systems whose CPUID claims
to support it. All other values have no effect.
Fixes: #17112
Anita Zhang [Thu, 24 Sep 2020 06:41:38 +0000 (23:41 -0700)]
Merge pull request #17142 from poettering/catalog-fix-de
catalog: add missing @ to German catalog file
Anita Zhang [Thu, 24 Sep 2020 06:39:20 +0000 (23:39 -0700)]
Merge pull request #17146 from poettering/use-more-proc-mounted
use proc_mounted() more
Lennart Poettering [Wed, 23 Sep 2020 19:47:03 +0000 (21:47 +0200)]
Merge pull request #17118 from poettering/sync-shutdown-loop
fsync() block devices before detaching them during shutdown
Lennart Poettering [Wed, 23 Sep 2020 19:46:02 +0000 (21:46 +0200)]
Merge pull request #17144 from poettering/mount-nofollow
tree-wide: mostly avoid following symlinks when mounting
Jonathan Lebon [Wed, 23 Sep 2020 19:23:58 +0000 (15:23 -0400)]
cryptsetup-generator: use "/proc/cmdline" as source when appropriate
Right now, we always say `/etc/crypttab` even if the source was fully
derived from the kargs.
Let's match what `systemd-fstab-generator` does and use `/proc/cmdline`
when that's the case.
Lennart Poettering [Wed, 23 Sep 2020 08:11:49 +0000 (10:11 +0200)]
update TODO
Lennart Poettering [Wed, 23 Sep 2020 13:28:59 +0000 (15:28 +0200)]
tree-wide: port remaining umount() calls to umount_verbose()
Lennart Poettering [Wed, 23 Sep 2020 08:12:56 +0000 (10:12 +0200)]
tree-wide: switch remaining mount() invocations over to mount_nofollow_verbose()
(Well, at least the ones where that makes sense. Where it does't make
sense are the ones that re invoked on the root path, which cannot
possibly be a symlink.)
Lennart Poettering [Tue, 22 Sep 2020 14:32:07 +0000 (16:32 +0200)]
mount-util: rework umount_verbose() to take log level and flags arg
Let's make umount_verbose() more like mount_verbose_xyz(), i.e. take log
level and flags param. In particular the latter matters, since we
typically don't actually want to follow symlinks when unmounting.
Lennart Poettering [Tue, 22 Sep 2020 13:51:17 +0000 (15:51 +0200)]
mount-util: switch most mount_verbose() code over to not follow symlinks
Lennart Poettering [Tue, 22 Sep 2020 13:16:37 +0000 (15:16 +0200)]
mount-util: make sure get_mount_flags() ever follows symlinks
It doesn't follow symlinks when we check for the mount flags via
libmount, hence it shouldn't do either when we go via statvfs().
Lennart Poettering [Tue, 22 Sep 2020 13:16:15 +0000 (15:16 +0200)]
mount-util: add helpers for mount() without following symlinks
Lennart Poettering [Tue, 22 Sep 2020 09:23:35 +0000 (11:23 +0200)]
shutdown: also fsync() DM devices before going down
Similar reasons as the previous patch.
Lennart Poettering [Tue, 22 Sep 2020 09:21:27 +0000 (11:21 +0200)]
shutdown: also fsync() MD devices when going down
Let's make this explicit, just in case this suffers by the same issues
as the loopback devices, and drops in-flight IO when we disassemble it.
Lennart Poettering [Tue, 22 Sep 2020 09:21:19 +0000 (11:21 +0200)]
shutdown: don't compare pointers with 0
Lennart Poettering [Tue, 22 Sep 2020 09:19:37 +0000 (11:19 +0200)]
shutdown: fsync() before detaching loopback devices
This is a follow-up for
cae1e8fb88c5a6b0960a2d0be3df8755f0c78462 : we
also call the detach ioctls in the shutdown code, hence add the fsync()s
there too, just to be safe.
Lennart Poettering [Wed, 23 Sep 2020 16:19:21 +0000 (18:19 +0200)]
fs-util: check for /proc mounted in access_fd()
It's a very basic function very similar to other cases where we go via
/proc/self/fd/, hence do the explicit proc_mounted() check here too.
Lennart Poettering [Wed, 23 Sep 2020 16:18:03 +0000 (18:18 +0200)]
fs-util: use strna() on returned strings of fd_get_path() if we don't check its return value
Let's make sure to use strna() on the strings returned by fd_get_path()
where we knowingly ignore any failures. We got this right in most cases,
but two were missing.
Lennart Poettering [Wed, 23 Sep 2020 16:16:34 +0000 (18:16 +0200)]
basic: update fd_get_path() to use proc_mounted() helper
We use it pretty much everywhere else, hence use it here too.
This also changes the error generated from EOPNOTSUPP to ENOSYS, to
match the other cases where we do such a check. One user checked for
EOPNOTSUPP which is updated to check for ENOSYS instead.
Lennart Poettering [Wed, 23 Sep 2020 15:51:08 +0000 (17:51 +0200)]
fs-util: drop chmod_and_chown_unsafe() which is unused now
Lennart Poettering [Wed, 23 Sep 2020 15:49:35 +0000 (17:49 +0200)]
sysusers: modernize file backup logic a bit
Let's use _cleanup_ magic to clean up files, let's fully operate by fds
whenever we can.
Lennart Poettering [Wed, 23 Sep 2020 13:25:25 +0000 (15:25 +0200)]
update TODO
Zbigniew Jędrzejewski-Szmek [Thu, 17 Sep 2020 13:44:59 +0000 (15:44 +0200)]
run: let systemd resolve the path with RootDirectory=/RootImage=
Fixes #13338.
Zbigniew Jędrzejewski-Szmek [Fri, 18 Sep 2020 12:48:40 +0000 (14:48 +0200)]
core: don't try to load units from non-absolute paths
The error message disagreed with the check that was actually performed. Adjust the check.
Lennart Poettering [Wed, 23 Sep 2020 11:56:51 +0000 (13:56 +0200)]
catalog: add missing @ to German catalog file
Lennart Poettering [Wed, 23 Sep 2020 11:25:27 +0000 (13:25 +0200)]
Lennart Poettering [Wed, 23 Sep 2020 08:21:27 +0000 (10:21 +0200)]
machine: fix error code propagation in two cases
Lennart Poettering [Wed, 23 Sep 2020 11:23:56 +0000 (13:23 +0200)]
Merge pull request #17130 from keszybz/static-analyzer-cleanups
Trivial cleanups based on static analysis
Roy Chen (陳彥廷) [Wed, 23 Sep 2020 09:52:22 +0000 (17:52 +0800)]
man: sd_bus_message_new: fix typo
Ronan Pigott [Wed, 23 Sep 2020 00:21:27 +0000 (17:21 -0700)]
sd-path: include 'search' in search pathnames
Ronan Pigott [Wed, 23 Sep 2020 00:52:53 +0000 (17:52 -0700)]
zsh: add systemd-path completions
Lennart Poettering [Wed, 23 Sep 2020 07:43:39 +0000 (09:43 +0200)]
Merge pull request #17124 from bluca/copypasta
dissect-image: use correct path variable when reading verity signatures, do not refuse verity GPT without /usr partition
Lennart Poettering [Wed, 23 Sep 2020 07:43:18 +0000 (09:43 +0200)]
Merge pull request #17127 from poettering/errno-fixup
make more use of errno-util.h macros
Zbigniew Jędrzejewski-Szmek [Tue, 22 Sep 2020 18:51:39 +0000 (20:51 +0200)]
Merge pull request #16938 from poettering/homed-rtc-wrong
homed: don't refuse logins when RTC is wrong
Zbigniew Jędrzejewski-Szmek [Tue, 22 Sep 2020 16:54:48 +0000 (18:54 +0200)]
Merge pull request #17109 from fbuihuu/udev-opts-tweaks
Udev opts tweaks
Zbigniew Jędrzejewski-Szmek [Mon, 21 Sep 2020 22:00:59 +0000 (00:00 +0200)]
test/run-integration-tests: do not run the tests if only "clean" is passed
Zbigniew Jędrzejewski-Szmek [Tue, 22 Sep 2020 11:05:31 +0000 (13:05 +0200)]
shared/conf-parser: drop redundant cast to boolean
parse_boolean returns either 0 or 1 or error, and we checked for errors
earlier already.
Zbigniew Jędrzejewski-Szmek [Tue, 22 Sep 2020 15:33:24 +0000 (17:33 +0200)]
logind: use _cleanup_ in one more place
Zbigniew Jędrzejewski-Szmek [Tue, 22 Sep 2020 15:33:06 +0000 (17:33 +0200)]
sd-{login,netlink,network}: use TAKE_FD() in more places
Zbigniew Jędrzejewski-Szmek [Tue, 22 Sep 2020 15:32:26 +0000 (17:32 +0200)]
test-bus-chat: add missing return value in check
Zbigniew Jędrzejewski-Szmek [Tue, 22 Sep 2020 15:30:47 +0000 (17:30 +0200)]
various: remove assignments of unread variables
Zbigniew Jędrzejewski-Szmek [Tue, 22 Sep 2020 15:31:08 +0000 (17:31 +0200)]
activate: reduce scope of iterator variable
Zbigniew Jędrzejewski-Szmek [Tue, 22 Sep 2020 10:48:25 +0000 (12:48 +0200)]
core/namespace: drop bitfield annotations from boolean fields
Such microoptimization makes sense when the structure is used in many many copies,
but here's it's not, and the few bytes we save are not worth the extra code the
compiler has to generate:
return ns_info->mount_apivfs ||
ns_info->protect_control_groups ||
ns_info->protect_kernel_tunables ||
...
before:
49b187: 48 8b 45 f8 mov -0x8(%rbp),%rax
49b18b: 0f b6 00 movzbl (%rax),%eax
49b18e: 83 e0 80 and $0xffffff80,%eax
49b191: 84 c0 test %al,%al
49b193: 75 32 jne 49b1c7 <namespace_info_mount_apivfs+0x80>
49b195: 48 8b 45 f8 mov -0x8(%rbp),%rax
49b199: 0f b6 00 movzbl (%rax),%eax
49b19c: 83 e0 08 and $0x8,%eax
49b19f: 84 c0 test %al,%al
49b1a1: 75 24 jne 49b1c7 <namespace_info_mount_apivfs+0x80>
49b1a3: 48 8b 45 f8 mov -0x8(%rbp),%rax
49b1a7: 0f b6 00 movzbl (%rax),%eax
49b1aa: 83 e0 10 and $0x10,%eax
49b1ad: 84 c0 test %al,%al
49b1af: 75 16 jne 49b1c7 <namespace_info_mount_apivfs+0x80>
after:
49b024: 48 8b 45 f8 mov -0x8(%rbp),%rax
49b028: 0f b6 40 07 movzbl 0x7(%rax),%eax
49b02c: 84 c0 test %al,%al
49b02e: 75 2e jne 49b05e <namespace_info_mount_apivfs+0x7a>
49b030: 48 8b 45 f8 mov -0x8(%rbp),%rax
49b034: 0f b6 40 03 movzbl 0x3(%rax),%eax
49b038: 84 c0 test %al,%al
49b03a: 75 22 jne 49b05e <namespace_info_mount_apivfs+0x7a>
49b03c: 48 8b 45 f8 mov -0x8(%rbp),%rax
49b040: 0f b6 40 04 movzbl 0x4(%rax),%eax
49b044: 84 c0 test %al,%al
49b046: 75 16 jne 49b05e <namespace_info_mount_apivfs+0x7a>
Lennart Poettering [Tue, 22 Sep 2020 14:29:28 +0000 (16:29 +0200)]
Merge pull request #17086 from keszybz/developer-mode-default
Update dbus docs, make developer mode default
Lennart Poettering [Tue, 22 Sep 2020 12:18:11 +0000 (14:18 +0200)]
ptyfwd: use ERRNO_IS_DISCONNECT() when checking for disconnection on foreign fds
Lennart Poettering [Tue, 22 Sep 2020 12:13:18 +0000 (14:13 +0200)]
tree-wide: use ERRNO_IS_PRIVILEGE() whereever appropriate
Luca Boccassi [Tue, 22 Sep 2020 14:24:59 +0000 (15:24 +0100)]
dissect-image: do not refuse verity GPT without /usr partition
Only enforce that /usr verity partition is present if a /usr
partition is there
Luca Boccassi [Tue, 22 Sep 2020 12:19:19 +0000 (13:19 +0100)]
dissect-image: use correct path variable when reading verity signatures
Copypasta slipped in via https://github.com/systemd/systemd/pull/17101
Hubert Kario [Sun, 20 Sep 2020 16:59:58 +0000 (18:59 +0200)]
Try stopping MD RAID devices in shutdown too
Currently the systemd-shutdown command attempts to stop swaps, DM
(crypt, LVM2) and loop devices, but it doesn't attempt to stop MD
RAID devices, which means that if the RAID is set up on crypt,
loop, etc. device, it won't be able to stop those underlying devices.
This code extends the shutdown application to also attempt stopping
the MD RAID devices.
Signed-off-by: Hubert Kario <hubert@kario.pl>
Franck Bui [Mon, 21 Sep 2020 09:22:12 +0000 (11:22 +0200)]
udevadm: rename option '--log-priority' into '--log-level'
Let's be consistent with systemctl(1).
'--log-priority' i still kept only for backward compatibility.
Franck Bui [Mon, 21 Sep 2020 09:10:50 +0000 (11:10 +0200)]
udev: rename kernel option 'log_priority' into 'log_level'
Let's be consistent with the rest of the project.
'log_priority' is still supported for backward compatibility.
Anita Zhang [Mon, 21 Sep 2020 18:41:17 +0000 (11:41 -0700)]
meson: remove multi-line statement with trailing '\'
Error on meson 0.47:
```
meson.build:885:47: ERROR: Expecting colon got eol_cont.
crypt_header = conf.get('HAVE_CRYPT_H') == 1 ? \
^
```
This seems to have been fixed in meson 0.50 after a report from
https://github.com/mesonbuild/meson/issues/4720
Lennart Poettering [Mon, 21 Sep 2020 15:30:03 +0000 (17:30 +0200)]
homed: in images that lack mkfs.btrfs automatically fall back to ext4
It's better to tweak suboptimal defaults than to just fail with
compiled-in defaults.
Lennart Poettering [Mon, 21 Sep 2020 15:21:12 +0000 (17:21 +0200)]
homed: show actual file system in messages about file systems
Lennart Poettering [Wed, 2 Sep 2020 14:37:42 +0000 (16:37 +0200)]
user-record: don't refuse login when last pw change time is in the future
The RTC is like just off, it's a weird system state, let's continue
without requiring pw change.
Lennart Poettering [Wed, 2 Sep 2020 14:36:27 +0000 (16:36 +0200)]
homed: ignore ratelimiting counters when timestamp is from future
This likely indicates that the system clock is simply wrong, hence allow
access in this case.
Fixes: #15917
Lennart Poettering [Wed, 2 Sep 2020 14:35:22 +0000 (16:35 +0200)]
homed: don't block logins into accounts with future change time
This might happen if the system clock is wrong, and we should allow
access in this case (though certainly log about it).
Lennart Poettering [Mon, 21 Sep 2020 11:45:04 +0000 (13:45 +0200)]
Merge pull request #17101 from poettering/gpt-usr
add gpt types for /usr/, similar to how we have it for root partitions
Zbigniew Jędrzejewski-Szmek [Sun, 20 Sep 2020 11:15:44 +0000 (13:15 +0200)]
update-dbus-docs: skip test if python is too old
Lennart Poettering [Thu, 17 Sep 2020 16:59:10 +0000 (18:59 +0200)]
update TODO
Lennart Poettering [Thu, 17 Sep 2020 16:57:27 +0000 (18:57 +0200)]
doc: document the new GPT partition type UUIDs
Lennart Poettering [Thu, 17 Sep 2020 16:00:26 +0000 (18:00 +0200)]
man: emphasize that part table shown by systemd-dissect is not complete
Lennart Poettering [Sat, 22 Aug 2020 10:21:51 +0000 (12:21 +0200)]
dissect-image: process /usr/ GPT partition type
Lennart Poettering [Sat, 22 Aug 2020 10:23:01 +0000 (12:23 +0200)]
gpt: add new GPT partition types of /usr partitions
Zbigniew Jędrzejewski-Szmek [Sat, 19 Sep 2020 16:17:56 +0000 (18:17 +0200)]
Merge pull request #17100 from poettering/homed-fixes
various homed fixes
Lennart Poettering [Fri, 18 Sep 2020 20:27:36 +0000 (22:27 +0200)]
mkosi: include libfido2 binary package in mkosi manually for now
As long as the RPM version does not include a dep for it yet, we need to
add it manually, since we now link against it.
Follow-up for:
95f7ab2fe66cc3bb3a95eb8690114732eab30555
Zbigniew Jędrzejewski-Szmek [Sat, 19 Sep 2020 16:05:59 +0000 (18:05 +0200)]
Merge pull request #17102 from weblate/weblate-systemd-master
Translations update from Weblate
Oğuz Ersen [Sat, 19 Sep 2020 12:22:13 +0000 (14:22 +0200)]
Translated using Weblate (Turkish)
Currently translated at 100.0% (133 of 133 strings)
Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/tr/
Translation: systemd/master
scootergrisen [Sat, 19 Sep 2020 12:22:13 +0000 (14:22 +0200)]
Translated using Weblate (Danish)
Currently translated at 100.0% (187 of 187 strings)
Translated using Weblate (Danish)
Currently translated at 100.0% (187 of 187 strings)
Translated using Weblate (Danish)
Currently translated at 95.7% (179 of 187 strings)
Translated using Weblate (Danish)
Currently translated at 78.6% (147 of 187 strings)
Co-authored-by: scootergrisen <scootergrisen@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/master/da/
Translation: systemd/master
Anita Zhang [Fri, 18 Sep 2020 21:26:14 +0000 (14:26 -0700)]
Merge pull request #17082 from poettering/nspawn-ctty-tweaks
nspawn controlling tty tweaks
Lennart Poettering [Fri, 18 Sep 2020 20:01:49 +0000 (22:01 +0200)]
units: pass CAP_SYS_RESOURCE to homed
The ext4 fs resize ioctl needs CAP_SYS_RESOURCE, irritatingly. Let's
grant it to homed hence.
Fixes: #15115
Lennart Poettering [Fri, 18 Sep 2020 17:37:05 +0000 (19:37 +0200)]
homed: make clean that --storage=directory --image-path=/dev/some-block-device is not supported
The directory backend needs a file system path, and not a raw block
device. That's only supported for the LUKS2 backend.
Let's make this clearer in the man page and also generate a better error
message if attempted anyway.
Fixes: #17068
Lennart Poettering [Fri, 18 Sep 2020 16:53:12 +0000 (18:53 +0200)]
homed: make sure our worker processes finish before we exit
When exiting, let's explicitly wait for our worker processes to finish
first. That's useful if unmounting of /home/ is scheduled to happen
right after homed is down, as we then can be sure that the home
directories are properly unmounted and detached by the time homed is
fully terminated (otherwise it might happen that our worker gets killed
by the service manager, thus leaving the home directory and its backing
devices up/left for auto-clean which might be async).
Likely fixes #16842
Lennart Poettering [Fri, 18 Sep 2020 15:55:51 +0000 (17:55 +0200)]
homed: make it easier to run multiple instances of homed
When debugging homed while being logged into a user account manged by
homed it is a good idea to be able to run a second copy of homed. In
order to not collide with its AF_UNIX socket and bus name use, let's add
a new env var $SYSTEMD_HOME_DEBUG_SUFFIX, when set the busnames/socket
names are suffixed by it. When setting this while debugging one can
invoke an additional copy without interfering with the host one.
Lennart Poettering [Fri, 18 Sep 2020 15:55:27 +0000 (17:55 +0200)]
homed-bus: add missing spdx header
Lennart Poettering [Fri, 18 Sep 2020 20:26:50 +0000 (22:26 +0200)]
update TODO
Lennart Poettering [Fri, 18 Sep 2020 17:46:08 +0000 (19:46 +0200)]
Merge pull request #16981 from keszybz/use-crypt_ra
Use crypt_ra to allocate scratch area for password hashing
Zbigniew Jędrzejewski-Szmek [Fri, 18 Sep 2020 16:51:42 +0000 (18:51 +0200)]
update-dbus-docs: skip test lxml is not available
Zbigniew Jędrzejewski-Szmek [Thu, 17 Sep 2020 10:19:05 +0000 (12:19 +0200)]
core/execute: reduce indentation level a bit
Zbigniew Jędrzejewski-Szmek [Wed, 16 Sep 2020 08:27:51 +0000 (10:27 +0200)]
core: resolve binary names immediately before execution
This has two advantages:
- we save a bit of IO in early boot because we don't look for executables
which we might never call
- if the executable is in a different place and it was specified as a
non-absolute path, it is OK if it moves to a different place. This should
solve the case paths are different in the initramfs.
Since the executable path is only available quite late, the call to
mac_selinux_get_child_mls_label() which uses the path needs to be moved down
too.
Fixes #16076.
Zbigniew Jędrzejewski-Szmek [Thu, 17 Sep 2020 12:32:17 +0000 (14:32 +0200)]
basic/path-util: enhance find_executable() for the fixed path case
Zbigniew Jędrzejewski-Szmek [Thu, 17 Sep 2020 12:12:05 +0000 (14:12 +0200)]
basic/path-util: inline two trivial functions
While at it, add assert() for the argument.
Zbigniew Jędrzejewski-Szmek [Thu, 17 Sep 2020 11:44:12 +0000 (13:44 +0200)]
Rename find_binary to find_executable
"executable" is more correct than "binary", since scripts are OK too.
Zbigniew Jędrzejewski-Szmek [Wed, 16 Sep 2020 13:36:44 +0000 (15:36 +0200)]
Add CLOSE_AND_REPLACE helper
Similar to free_and_replace. I think this should be uppercase to make it
clear that this is a macro. free_and_replace should probably be uppercased
too.
Zbigniew Jędrzejewski-Szmek [Wed, 16 Sep 2020 08:19:25 +0000 (10:19 +0200)]
core: use X_OK when looking for executables
Other tools silently ignore non-executable names found in path. By checking
F_OK, we would could pick non-executable path even though there is an executable
one later.
Zbigniew Jędrzejewski-Szmek [Wed, 16 Sep 2020 07:42:47 +0000 (09:42 +0200)]
core/load-fragment: don't treat "; ;" as "/usr/bin/;"
We had a special test case that the second semicolon would be interpreted
as an executable name. We would then try to find the executable and rely
on ";" not being found to cause ENOEXEC to be returned. I think that's just
crazy. Let's treat the second semicolon as a separator and ignore the
whole thing as we would whitespace.
Zbigniew Jędrzejewski-Szmek [Wed, 16 Sep 2020 09:31:31 +0000 (11:31 +0200)]
test-execute: include test location in error output
test-execute is quite long and even with the test name it takes a moment
to find the relevant spot when something fails. Let's make things easier
by printing the exact location.