Systemd/src/basic
Zbigniew Jędrzejewski-Szmek b12d25a8d6 util-lib: use trailing slash in chase_symlinks, fd_is_mount_point, path_is_mount_point
The kernel will reply with -ENOTDIR when we try to access a non-directory under
a name which ends with a slash. But our functions would strip the trailing slash
under various circumstances. Keep the trailing slash, so that

path_is_mount_point("/path/to/file/") return -ENOTDIR when /path/to/file/ is a file.

Tests are added for this change in behaviour.

Also, when called with a trailing slash, path_is_mount_point() would get
"" from basename(), and call name_to_handle_at(3, "", ...), and always
return -ENOENT. Now it'll return -ENOTDIR if the mount point is a file, and
true if it is a directory and a mount point.

v2:
- use strip_trailing_chars()

v3:
- instead of stripping trailing chars(), do the opposite — preserve them.
2017-11-30 20:43:25 +01:00
..
MurmurHash2.c tree-wide: adjust fall through comments so that gcc is happy 2017-11-20 13:06:25 -08:00
MurmurHash2.h build-sys: split internal basic/ library from shared/ 2015-06-11 10:52:46 +02:00
af-list.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
af-list.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
af-to-name.awk meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
alloc-util.c alloc-util: coding style fix 2017-11-28 20:21:15 +09:00
alloc-util.h alloc-util: coding style fix 2017-11-28 20:21:15 +09:00
architecture.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
architecture.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
arphrd-list.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
arphrd-list.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
arphrd-to-name.awk meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
async.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
async.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
audit-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
audit-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
barrier.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
barrier.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
bitmap.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
bitmap.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
blkid-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
bpf-program.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
bpf-program.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
btrfs-ctree.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
btrfs-util.c Add a little helper to make /sys/dev/block/major:minor paths 2017-11-30 12:59:23 +01:00
btrfs-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
build.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
bus-label.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
bus-label.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
calendarspec.c calendarspec: rework destructor to return its own type 2017-11-20 10:34:43 +01:00
calendarspec.h analyze: add new "calendar" command 2017-11-20 10:57:41 +01:00
cap-list.c cap-list: check range of numeric value 2017-11-28 22:06:34 +09:00
cap-list.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
cap-to-name.awk meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
capability-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
capability-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
cgroup-util.c cgroup-util: merge cg_set_tasks_access() and cg-set_group_access() into one 2017-11-25 17:08:21 +01:00
cgroup-util.h cgroup-util: merge cg_set_tasks_access() and cg-set_group_access() into one 2017-11-25 17:08:21 +01:00
chattr-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
chattr-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
clock-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
clock-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
conf-files.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
conf-files.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
copy.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
copy.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
cpu-set-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
cpu-set-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
def.h cgroup: move cgroup controller names def.h → cgroup-util.h 2017-11-21 11:54:08 +01:00
device-nodes.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
device-nodes.h Add a helper for /dev/block/major:minor paths 2017-11-30 12:59:23 +01:00
dirent-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
dirent-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
env-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
env-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
errno-list.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
errno-list.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
errno-to-name.awk meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
escape.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
escape.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
ether-addr-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
ether-addr-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
exec-util.c exec-util: initialize `new` before using it (#7471) 2017-11-26 12:46:56 +01:00
exec-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
exit-status.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
exit-status.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
extract-word.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
extract-word.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
fd-util.c Merge pull request #7198 from poettering/stdin-stdout 2017-11-19 19:49:11 +01:00
fd-util.h Merge pull request #7198 from poettering/stdin-stdout 2017-11-19 19:49:11 +01:00
fileio-label.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
fileio-label.h fileio: document why fileio-label.c and fileio.c are two different modules 2017-11-29 12:34:12 +01:00
fileio.c fileio: include sys/mman.h 2017-11-26 02:40:23 +09:00
fileio.h fileio: document why fileio-label.c and fileio.c are two different modules 2017-11-29 12:34:12 +01:00
format-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
fs-util.c util-lib: use trailing slash in chase_symlinks, fd_is_mount_point, path_is_mount_point 2017-11-30 20:43:25 +01:00
fs-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
generate-af-list.sh meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
generate-arphrd-list.sh meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
generate-cap-list.sh meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
generate-errno-list.sh meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
generate-gperfs.py tree-wide: adjust fall through comments so that gcc is happy 2017-11-20 13:06:25 -08:00
glob-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
glob-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
gunicode.c basic: use for() loop instead of while() 2016-10-12 22:48:41 +02:00
gunicode.h tree-wide: place #pragma once at the same place everywhere 2016-02-20 22:42:29 +01:00
hash-funcs.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
hash-funcs.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
hashmap.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
hashmap.h Add set/hashmap helpers for non-trivial freeing and use where straighforward 2017-11-28 21:30:30 +01:00
hexdecoct.c Merge pull request #7198 from poettering/stdin-stdout 2017-11-19 19:49:11 +01:00
hexdecoct.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
hostname-util.c hostname-util: rework read_hostname_config() a bit 2017-11-20 16:43:15 +01:00
hostname-util.h hostname-util: rework read_hostname_config() a bit 2017-11-20 16:43:15 +01:00
in-addr-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
in-addr-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
io-util.c sd-resolve: propagate timeouts in sd_resolve_wait() the same way as in sd_bus_wait(): ETIMEDOUT 2017-11-27 17:08:34 +01:00
io-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
ioprio.h tree-wide: sort includes in *.h 2015-11-18 23:09:02 +01:00
journal-importer.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journal-importer.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
khash.c Replace free and return NULL with return mfree 2017-11-24 10:31:49 +00:00
khash.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
label.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
label.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
list.h udevd: use list.h instead of udev_list_node 2017-11-22 10:38:05 +01:00
locale-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
locale-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
lockfile-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
lockfile-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
log.c Replace use of snprintf with xsprintf 2017-11-24 10:36:04 +00:00
log.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
login-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
login-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
macro.h __attribute__((fallthrough)) only when -Wimplicit-fallthrough (#7448) 2017-11-24 10:08:12 +01:00
memfd-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
memfd-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
mempool.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
mempool.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
meson.build Add license headers and SPDX identifiers to meson.build files 2017-11-19 19:08:15 +01:00
missing.h networkd: introduce vxcan netdev. (#7150) 2017-11-22 08:23:22 +01:00
missing_syscall.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
mkdir-label.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
mkdir.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
mkdir.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
module-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
mount-util.c util-lib: use trailing slash in chase_symlinks, fd_is_mount_point, path_is_mount_point 2017-11-30 20:43:25 +01:00
mount-util.h mount-util: add new path_get_mnt_id() call that queries the mnt ID of a path 2017-11-21 11:37:12 +01:00
nss-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
ordered-set.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
ordered-set.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
parse-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
parse-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
path-util.c util-lib: use trailing slash in chase_symlinks, fd_is_mount_point, path_is_mount_point 2017-11-30 20:43:25 +01:00
path-util.h util-lib: use trailing slash in chase_symlinks, fd_is_mount_point, path_is_mount_point 2017-11-30 20:43:25 +01:00
prioq.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
prioq.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
proc-cmdline.c Merge pull request #7198 from poettering/stdin-stdout 2017-11-19 19:49:11 +01:00
proc-cmdline.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
process-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
process-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
random-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
random-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
ratelimit.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
ratelimit.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
raw-clone.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
refcnt.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
replace-var.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
replace-var.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
rlimit-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
rlimit-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
rm-rf.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
rm-rf.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
securebits-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
securebits-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
securebits.h build-sys: split internal basic/ library from shared/ 2015-06-11 10:52:46 +02:00
selinux-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
selinux-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
set.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
set.h Add set/hashmap helpers for non-trivial freeing and use where straighforward 2017-11-28 21:30:30 +01:00
sigbus.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
sigbus.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
signal-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
signal-util.h signal-util: use a slightly less likely to conflict variable name instead of 't' 2017-11-20 16:43:15 +01:00
siphash24.c tree-wide: adjust fall through comments so that gcc is happy 2017-11-20 13:06:25 -08:00
siphash24.h shared: make sure foo.bar and foobar result in different domain name hashes 2016-01-11 19:39:59 +01:00
smack-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
smack-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
socket-label.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
socket-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
socket-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
sparse-endian.h Add SPDX license headers to various assorted files 2017-11-19 19:08:15 +01:00
special.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
stat-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
stat-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
stdio-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
strbuf.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
strbuf.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
string-table.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
string-table.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
string-util.c string-util: update strreplace() a bit, use GREEDY_REALLOC() 2017-11-29 12:32:56 +01:00
string-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
strv.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
strv.h strv: introduce strv_free_and_replace() 2017-11-20 16:43:15 +01:00
strxcpyx.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
strxcpyx.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
syslog-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
syslog-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
terminal-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
terminal-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
time-util.c tree-wide: adjust fall through comments so that gcc is happy 2017-11-20 13:06:25 -08:00
time-util.h util: add new helper in_utc_timezone() 2017-11-20 10:53:26 +01:00
umask-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
unaligned.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
unit-def.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
unit-def.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
unit-name.c Merge pull request #7198 from poettering/stdin-stdout 2017-11-19 19:49:11 +01:00
unit-name.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
user-util.c Merge pull request #7198 from poettering/stdin-stdout 2017-11-19 19:49:11 +01:00
user-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
utf8.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
utf8.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
util.c Add a little helper to make /sys/dev/block/major:minor paths 2017-11-30 12:59:23 +01:00
util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
verbs.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
verbs.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
virt.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
virt.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
web-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
web-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
xattr-util.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
xattr-util.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
xml.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
xml.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00