Systemd/src/shared
Lennart Poettering cfeaa44a09 sd-bus: properly handle creds that are known but undefined for a process
A number of fields do not apply to all processes, including: there a
processes without a controlling tty, without parent process, without
service, user services or session. To distuingish these cases from the
case where we simply don't have the data, always return ENXIO for them,
while returning ENODATA for the case where we really lack the
information.

Also update the credentials dumping code to show this properly. Fields
that are known but do not apply are now shown as "n/a".

Note that this also changes some of the calls in process-util.c and
cgroup-util.c to return ENXIO for these cases.
2015-04-29 21:45:58 +02:00
..
linux missing: remove fanotify 2014-10-17 08:55:42 -04:00
.gitignore util: introduce our own gperf based capability list 2014-12-10 03:21:07 +01:00
acl-util.c journalctl: rework code that checks whether we have access to /var/log/journal 2015-04-22 22:56:24 +02:00
acl-util.h journalctl: rework code that checks whether we have access to /var/log/journal 2015-04-22 22:56:24 +02:00
acpi-fpdt.c remove unused includes 2015-02-23 23:53:42 +01:00
acpi-fpdt.h
af-list.c core: add new RestrictAddressFamilies= switch 2014-02-26 02:19:28 +01:00
af-list.h core: add new RestrictAddressFamilies= switch 2014-02-26 02:19:28 +01:00
apparmor-util.c remove unused includes 2015-02-23 23:53:42 +01:00
apparmor-util.h mac: also rename use_{smack,selinux,apparmor}() calls so that they share the new mac_{smack,selinux,apparmor}_xyz() convention 2014-10-23 17:34:30 +02:00
architecture.c Use correct uname identifiers in arch_map for SuperH architecture 2015-03-04 19:32:11 -05:00
architecture.h missing: add __NR_getrandom for a few more archs 2014-11-22 12:04:53 -05:00
arphrd-list.c remove unused includes 2015-02-23 23:53:42 +01:00
arphrd-list.h networkd: add minimal client tool "networkd" to query network status 2014-08-12 01:54:40 +02:00
ask-password-api.c shared: add terminal-util.[ch] 2015-04-11 00:34:02 +02:00
ask-password-api.h remove unused includes 2015-02-23 23:53:42 +01:00
async.c shared/async: simplify asynchronous_job a bit 2015-02-02 20:31:18 -05:00
async.h build-sys: move async.[ch] to src/shared 2014-05-05 21:19:06 +02:00
audit.c sd-bus: properly handle creds that are known but undefined for a process 2015-04-29 21:45:58 +02:00
audit.h sd-bus: properly handle creds that are known but undefined for a process 2015-04-29 21:45:58 +02:00
barrier.c shared: fix wrong assertion in barrier_set_role() 2015-02-24 18:30:59 +01:00
barrier.h Use space after a silencing (void) 2015-03-13 23:42:17 -04:00
base-filesystem.c fix gcc warnings about uninitialized variables 2015-03-27 14:57:38 +01:00
base-filesystem.h nspawn: create essential base directories at system bootup 2014-06-24 15:41:03 +02:00
blkid-util.h nspawn: add --image= switch to boot GPT disk images that follow the Discoverable Partitions Specification 2014-03-10 20:35:52 +01:00
boot-timestamps.c shared: boot-timestamps - remove ifdef 2015-04-10 19:55:49 +02:00
boot-timestamps.h
btrfs-ctree.h btrfs: support recursively removing btrfs snapshots 2015-04-06 11:28:16 +02:00
btrfs-util.c btrfs-util: support recursive removal of read-only subvolumes 2015-04-22 17:09:20 +02:00
btrfs-util.h btrfs-util: introduce btrfs_is_filesystem() and make use of it where appropriate 2015-04-22 13:27:53 +02:00
build.h build-sys: move core/build.h → shared/build.h 2014-12-23 21:05:28 +01:00
bus-label.c bus: implement bus_label_unescape_n() 2015-04-11 13:14:57 +02:00
bus-label.h bus: implement bus_label_unescape_n() 2015-04-11 13:14:57 +02:00
calendarspec.c shared: untabify 2015-02-10 12:34:11 +01:00
calendarspec.h
cap-list.c remove unused includes 2015-02-23 23:53:42 +01:00
cap-list.h test: do not use last cap from kernel in test-cap-list 2014-12-25 10:55:41 -05:00
capability.c fix gcc warnings about uninitialized variables 2015-03-27 14:57:38 +01:00
capability.h remove unused includes 2015-02-23 23:53:42 +01:00
cgroup-show.c shared: add terminal-util.[ch] 2015-04-11 00:34:02 +02:00
cgroup-show.h remove unused includes 2015-02-23 23:53:42 +01:00
cgroup-util.c sd-bus: properly handle creds that are known but undefined for a process 2015-04-29 21:45:58 +02:00
cgroup-util.h core: add a property that shows the current memory usage of a unit 2015-01-23 03:00:15 +01:00
clean-ipc.c shared: add formats-util.h 2015-04-10 23:54:48 +02:00
clean-ipc.h logind: automatically remove SysV + POSIX IPC objects when the users owning them fully log out 2014-03-14 01:49:44 +01:00
clock-util.c remove unused includes 2015-02-23 23:53:42 +01:00
clock-util.h remove unused includes 2015-02-23 23:53:42 +01:00
condition.c util: rework word parsing and c unescaping code 2015-03-26 11:56:22 +01:00
condition.h tree-wide: make condition_free_list return NULL 2014-12-18 19:26:21 -05:00
conf-files.c remove unused includes 2015-02-23 23:53:42 +01:00
conf-files.h remove unused includes 2015-02-23 23:53:42 +01:00
conf-parser.c log: move log_syntax() into src/shared/log.c, and make it more similar to the other log functions 2015-04-21 17:43:55 +02:00
conf-parser.h log: move log_syntax() into src/shared/log.c, and make it more similar to the other log functions 2015-04-21 17:43:55 +02:00
copy.c util: merge change_attr_fd() and chattr_fd() 2015-04-08 20:47:35 +02:00
copy.h util: the chattr flags field is actually unsigned, judging by kernel sources 2015-01-14 23:18:33 +01:00
def.h importd: when listing transfers, show progress percentage 2015-01-23 01:17:55 +01:00
dev-setup.c remove unused includes 2015-02-23 23:53:42 +01:00
dev-setup.h exec: introduce PrivateDevices= switch to provide services with a private /dev 2014-01-20 21:28:37 +01:00
device-nodes.c device-nodes: minor simplifications 2015-04-10 16:23:46 +02:00
device-nodes.h
dropin.c util: rename ignore_file() to hidden_file() 2014-12-19 20:03:36 +01:00
dropin.h Move dropin listing to shared 2014-12-16 00:30:33 -05:00
efivars.c shared: efivars - fix compile on non-EFI systems 2015-04-10 19:55:49 +02:00
efivars.h efivars: fix build for non-efi 2015-04-10 23:00:07 +02:00
env-util.c shared: move replace_env* from util to env-util 2015-04-11 00:34:03 +02:00
env-util.h shared: move replace_env* from util to env-util 2015-04-11 00:34:03 +02:00
errno-list.c remove unused includes 2015-02-23 23:53:42 +01:00
errno-list.h
ether-addr-util.h shared: add format helpers for printing MAC addresses 2014-12-02 14:31:16 +01:00
exit-status.c exit-status: introduce common exit_status_set_test() call for testing exit status set membership 2015-04-28 21:34:23 +02:00
exit-status.h exit-status: introduce common exit_status_set_test() call for testing exit status set membership 2015-04-28 21:34:23 +02:00
fdset.c remove unused includes 2015-02-23 23:53:42 +01:00
fdset.h remove unused includes 2015-02-23 23:53:42 +01:00
fileio-label.c remove unused includes 2015-02-23 23:53:42 +01:00
fileio-label.h Add function to open temp files in selinux mode 2014-07-13 21:11:07 -04:00
fileio.c fileio: simplify write_string_file_atomic() by reusing write_string_stream() 2014-11-07 01:19:56 +01:00
fileio.h copy: teach copy_bytes() sendfile() support, and then replace sendfile_full() by it 2014-11-07 01:19:56 +01:00
formats-util.h shared: add formats-util.h 2015-04-10 23:54:48 +02:00
fstab-util.c fstab-util: fix priority parsing and add test 2015-01-11 23:41:42 -05:00
fstab-util.h Support negated fstab options 2015-01-11 23:41:41 -05:00
fw-util.c tree-wide: there is no ENOTSUP on linux 2015-03-13 14:10:39 +01:00
fw-util.h tree-wide: there is no ENOTSUP on linux 2015-03-13 14:10:39 +01:00
generator.c fstab-generator: don't accept missing root=, but accept root=none 2015-03-25 00:00:46 +01:00
generator.h Move x-systemd-device.timeout handling from core to fstab-generator 2014-06-30 18:39:45 -04:00
gpt.h #pragma once here and there 2015-01-23 09:30:44 -05:00
gunicode.c
gunicode.h #pragma once here and there 2015-01-23 09:30:44 -05:00
hashmap.c shared/hashmap: normalize whitespace 2015-04-12 16:59:04 -04:00
hashmap.h hashmap: return NULL from destructor 2015-04-11 13:14:41 +02:00
ima-util.c
ima-util.h
import-util.c import: rename --verify=sum to --verify=checksum 2015-01-22 15:14:36 +01:00
import-util.h import: rename --verify=sum to --verify=checksum 2015-01-22 15:14:36 +01:00
in-addr-util.c networkd: add minimal IP forwarding and masquerading support to .network files 2015-01-13 13:55:15 +01:00
in-addr-util.h networkd: add minimal IP forwarding and masquerading support to .network files 2015-01-13 13:55:15 +01:00
initreq.h
install-printf.c shared: add formats-util.h 2015-04-10 23:54:48 +02:00
install-printf.h
install.c shared: fix memleak 2015-04-10 15:44:02 +02:00
install.h sysv-generator: initialize LookupPaths just once 2015-03-14 23:03:21 -04:00
ioprio.h
json.c remove unused includes 2015-02-23 23:53:42 +01:00
json.h remove unused includes 2015-02-23 23:53:42 +01:00
label.c tmpfiles: add new line type 'v' for creating btrfs subvolumes 2014-12-28 02:08:40 +01:00
label.h tmpfiles: add new line type 'v' for creating btrfs subvolumes 2014-12-28 02:08:40 +01:00
list.h list: properly skip over first item in LIST_FOREACH_OTHERS 2015-01-28 14:04:23 +01:00
locale-util.c util: when using basename() for creating temporary files, verify the resulting name is actually valid 2014-12-12 13:35:32 +01:00
locale-util.h shared: add missing includes 2014-10-31 10:57:21 +01:00
log.c log: move log_syntax() into src/shared/log.c, and make it more similar to the other log functions 2015-04-21 17:43:55 +02:00
log.h log: move log_syntax() into src/shared/log.c, and make it more similar to the other log functions 2015-04-21 17:43:55 +02:00
login-shared.c build-sys: move sd-login src/login → src/libsystemd/sd-login 2014-03-17 18:35:48 +01:00
login-shared.h #pragma once here and there 2015-01-23 09:30:44 -05:00
logs-show.c tree-wide: get rid of more strerror() calls 2015-04-21 18:05:44 +02:00
logs-show.h remove unused includes 2015-02-23 23:53:42 +01:00
machine-image.c btrfs-util: introduce btrfs_is_filesystem() and make use of it where appropriate 2015-04-22 13:27:53 +02:00
machine-image.h shared: the btrfs quota field is called "referenced" not "referred" 2015-03-10 15:55:58 +01:00
machine-pool.c shared: add process-util.[ch] 2015-04-10 23:54:49 +02:00
machine-pool.h importd: add new bus calls for importing local tar and raw images 2015-03-05 00:59:38 +01:00
macro.h shared: move assert_return_errno() from libudev 2015-04-16 16:47:23 +01:00
Makefile
memfd-util.c remove unused includes 2015-02-23 23:53:42 +01:00
memfd-util.h remove unused includes 2015-02-23 23:53:42 +01:00
mempool.c mempool: add a zeroing alloc function 2014-10-30 19:50:50 +01:00
mempool.h mempool: add a zeroing alloc function 2014-10-30 19:50:50 +01:00
missing.h missing.h: Define IFA_F_NOPREFIXROUTE 2015-04-08 12:59:40 +02:00
mkdir-label.c remove unused includes 2015-02-23 23:53:42 +01:00
mkdir.c shared/mkdir: do not set errno in addition to return value 2015-03-21 11:51:42 -04:00
mkdir.h remove unused includes 2015-02-23 23:53:42 +01:00
MurmurHash2.c libudev: ship the original MurmurHash2.[ch] file 2013-12-23 02:55:06 +01:00
MurmurHash2.h libudev: ship the original MurmurHash2.[ch] file 2013-12-23 02:55:06 +01:00
nss-util.h nss-util: be a tiny bit more compatible with glibc's lookup behaviour regarding IPv6 2014-07-17 19:39:50 +02:00
ordered-set.h util: add minimal OrderedSet type 2015-04-08 17:22:15 +02:00
output-mode.h journalctl: add --utc option 2014-10-02 14:52:32 +02:00
pager.c shared: add terminal-util.[ch] 2015-04-11 00:34:02 +02:00
pager.h systemd-verify: check man pages 2014-07-20 19:48:16 -04:00
path-lookup.c sysv-generator: initialize LookupPaths just once 2015-03-14 23:03:21 -04:00
path-lookup.h sysv-generator: initialize LookupPaths just once 2015-03-14 23:03:21 -04:00
path-util.c path-util: fix fstat fallback in fd_is_mount_point 2015-04-26 16:02:21 +02:00
path-util.h rm-rf: never cross mount points 2015-04-06 10:57:53 +02:00
prioq.c
prioq.h
process-util.c shared: add process-util.[ch] 2015-04-10 23:54:49 +02:00
process-util.h shared: add process-util.[ch] 2015-04-10 23:54:49 +02:00
pty.c remove unused includes 2015-02-23 23:53:42 +01:00
pty.h remove unused includes 2015-02-23 23:53:42 +01:00
ptyfwd.c Use space after a silencing (void) 2015-03-13 23:42:17 -04:00
ptyfwd.h remove unused includes 2015-02-23 23:53:42 +01:00
random-util.c shared: add random-util.[ch] 2015-04-11 00:11:13 +02:00
random-util.h shared: add random-util.[ch] 2015-04-11 00:11:13 +02:00
ratelimit.c remove unused includes 2015-02-23 23:53:42 +01:00
ratelimit.h
refcnt.h
replace-var.c
replace-var.h
ring.c remove unused includes 2015-02-23 23:53:42 +01:00
ring.h remove unused includes 2015-02-23 23:53:42 +01:00
rm-rf.c btrfs: support recursively removing btrfs snapshots 2015-04-06 11:28:16 +02:00
rm-rf.h rm-rf: add support for recursively removing btrfs subvolumes 2015-04-06 10:57:53 +02:00
seccomp-util.c seccomp: add helper call to add all secondary archs to a seccomp filter 2014-02-18 22:14:00 +01:00
seccomp-util.h seccomp-util.h: make sure seccomp-util.h can be included alone 2014-12-12 13:35:32 +01:00
securebits.h
selinux-util.c selinux: fix SEGV during switch-root if SELinux policy loaded 2015-03-13 23:42:18 -04:00
selinux-util.h remove unused includes 2015-02-23 23:53:42 +01:00
set.h shared: set - make argument to set_remove() const 2015-04-01 14:45:22 +02:00
sigbus.c journald: process SIGBUS for the memory maps we set up 2015-01-05 01:40:51 +01:00
sigbus.h #pragma once here and there 2015-01-23 09:30:44 -05:00
siphash24.c shared: switch our hash table implementation over to SipHash 2013-12-22 21:12:25 +01:00
siphash24.h shared: switch our hash table implementation over to SipHash 2013-12-22 21:12:25 +01:00
sleep-config.c Assorted format fixes 2015-01-22 01:14:52 -05:00
sleep-config.h #pragma once here and there 2015-01-23 09:30:44 -05:00
smack-util.c shared: add process-util.[ch] 2015-04-10 23:54:49 +02:00
smack-util.h smack: introduce new SmackProcessLabel option 2014-11-24 10:20:53 -05:00
socket-label.c remove unused includes 2015-02-23 23:53:42 +01:00
socket-util.c shared: add formats-util.h 2015-04-10 23:54:48 +02:00
socket-util.h add REMOTE_ADDR and REMOTE_PORT for Accept=yes 2015-03-10 09:00:27 -04:00
sparse-endian.h shared/sparse-endian.h: add missing byteswap.h include 2014-09-19 00:27:42 +02:00
spawn-ask-password-agent.c shared: add process-util.[ch] 2015-04-10 23:54:49 +02:00
spawn-ask-password-agent.h
spawn-polkit-agent.c shared: add process-util.[ch] 2015-04-10 23:54:49 +02:00
spawn-polkit-agent.h
special.h everywhere: remove configurability of sysv runlevel to target mapping 2015-02-18 20:20:14 +01:00
specifier.c
specifier.h
strbuf.c
strbuf.h remove unused includes 2015-02-23 23:53:42 +01:00
strv.c util: rework word parsing and c unescaping code 2015-03-26 11:56:22 +01:00
strv.h util: rework word parsing and c unescaping code 2015-03-26 11:56:22 +01:00
strxcpyx.c
strxcpyx.h remove unused includes 2015-02-23 23:53:42 +01:00
switch-root.c util: rework rm_rf() logic 2015-04-06 10:57:53 +02:00
switch-root.h use the switch_root function in shutdown 2014-08-28 15:25:15 +02:00
sysctl-util.c sysctl: minor simplifications 2015-04-24 19:56:47 +02:00
sysctl-util.h sysctl: move property handling to shared/ 2015-03-11 10:37:45 +01:00
terminal-util.c sd-bus: properly handle creds that are known but undefined for a process 2015-04-29 21:45:58 +02:00
terminal-util.h shared: add terminal-util.[ch] 2015-04-11 00:34:02 +02:00
test-tables.h test: use assert_se() when testing tables so that we get a useful error when something fails 2014-10-28 18:07:23 +01:00
time-util.c core: make unit deserialization more defensive 2015-04-21 20:23:41 +02:00
time-util.h core: make unit deserialization more defensive 2015-04-21 20:23:41 +02:00
udev-util.h udev: builtin-hwdb - port to sd-hwdb 2014-12-15 20:40:09 +01:00
uid-range.c treewide: introduce UID_INVALID (and friends) as macro for (uid_t) -1 2014-11-28 20:55:04 +01:00
uid-range.h Add missing includes in header files 2015-02-12 20:44:32 +01:00
unaligned.h shared: unaligned - use void* instead of unaligned be16_t* 2014-11-05 16:54:22 +01:00
unit-name.c shared/unit-name: fix gcc5 warning 2015-02-24 16:26:30 +01:00
unit-name.h systemctl: append default suffix only if none present 2014-11-28 11:54:37 -05:00
utf8.c util: when unescaping C escape sequences support C++11 \u and \U unicode literals 2015-04-10 11:28:34 +02:00
utf8.h util: when unescaping C escape sequences support C++11 \u and \U unicode literals 2015-04-10 11:28:34 +02:00
util.c util: Fix assertion in split() on missing ' 2015-04-23 01:14:07 +02:00
util.h shared: move replace_env* from util to env-util 2015-04-11 00:34:03 +02:00
utmp-wtmp.c shared/utmp-wtmp: add parameter for origin tty and callback userdata 2015-04-24 17:48:12 +02:00
utmp-wtmp.h shared/utmp-wtmp: add parameter for origin tty and callback userdata 2015-04-24 17:48:12 +02:00
verbs.c verbs: fix typo in error message 2014-12-22 08:21:50 -05:00
verbs.h util: add generalization of verb parsing for command line tools 2014-12-19 02:07:42 +01:00
virt.c shared: add process-util.[ch] 2015-04-10 23:54:49 +02:00
virt.h virt: make Virtualization an anonymous enum 2014-02-24 13:26:44 +01:00
watchdog.c treewide: another round of simplifications 2014-11-28 19:57:32 +01:00
watchdog.h
xml.c bus: add basic dbus1 policy parser 2014-06-06 19:41:24 +02:00
xml.h shared: add minimal JSON tokenizer 2014-12-15 22:27:15 +01:00