Systemd/src/shared
Lennart Poettering a354329f72 core: add new logic for services to store file descriptors in PID 1
With this change it is possible to send file descriptors to PID 1, via
sd_pid_notify_with_fds() which PID 1 will store individually for each
service, and pass via the usual fd passing logic on next invocation.
This is useful for enable daemon reload schemes where daemons serialize
their state to /run, push their fds into PID 1 and terminate, restoring
their state on next start from the data in /run and passed in from PID
1.

The fds are kept by PID 1 as long as no POLLHUP or POLLERR is seen on
them, and the service they belong to are either not dead or failed, or
have a job queued.
2015-01-06 03:16:39 +01: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 Introduce strv_consume which takes ownership 2014-03-04 10:04:50 -05:00
acl-util.h coredump: optionally store coredumps on disk, not in the journal 2014-06-19 00:00:24 +02:00
acpi-fpdt.c make gcc shut up 2014-02-19 17:53:50 +01:00
acpi-fpdt.h support acpi firmware performance data (FPDT) 2013-09-24 15:43:41 +02:00
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 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
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 condition: properly allow passing back errors from condition checks 2014-11-06 14:21:10 +01:00
architecture.h missing: add __NR_getrandom for a few more archs 2014-11-22 12:04:53 -05:00
arphrd-list.c networkd: add minimal client tool "networkd" to query network status 2014-08-12 01:54:40 +02: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 treewide: another round of simplifications 2014-11-28 19:57:32 +01:00
ask-password-api.h ask-password: Add --echo to enable echoing the user input 2014-10-05 15:29:41 -04:00
async.c util: make asynchronous_close() really work like an asynchronous version of safe_close() 2014-08-21 17:24:21 +02:00
async.h build-sys: move async.[ch] to src/shared 2014-05-05 21:19:06 +02:00
audit.c core: introduce ConditionSecurity=audit 2014-11-03 21:51:28 +01:00
audit.h core: introduce ConditionSecurity=audit 2014-11-03 21:51:28 +01:00
barrier.c barrier: fix up constructor error handling 2014-10-02 08:40:43 +02:00
barrier.h barrier: explicitly ignore return values of barrier_place() 2014-11-04 09:49:43 +01:00
base-filesystem.c treewide: another round of simplifications 2014-11-28 19:57:32 +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 make gcc shut up 2014-02-19 17:53:50 +01:00
boot-timestamps.h support acpi firmware performance data (FPDT) 2013-09-24 15:43:41 +02:00
btrfs-ctree.h machined: add support for reporting image size via btrfs quota 2014-12-28 02:08:40 +01:00
btrfs-util.c machined: add support for reporting image size via btrfs quota 2014-12-28 02:08:40 +01:00
btrfs-util.h machined: add support for reporting image size via btrfs quota 2014-12-28 02:08:40 +01:00
build.h build-sys: move core/build.h → shared/build.h 2014-12-23 21:05:28 +01:00
bus-label.c src/shared/ cannot reference symbols from libraries 2014-02-23 01:53:40 +01:00
bus-label.h src/shared/ cannot reference symbols from libraries 2014-02-23 01:53:40 +01:00
calendarspec.c calendarspec: add constant for weekdays_bits 2014-11-01 14:39:47 -04:00
calendarspec.h timer: implement calendar time events 2012-11-23 21:37:58 +01:00
cap-list.c test: do not use last cap from kernel in test-cap-list 2014-12-25 10:55:41 -05: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 capability: use /proc/sys/kernel/cap_last_cap 2014-12-29 14:05:38 +01:00
capability.h bus-proxy: cloning smack label 2014-12-09 18:23:24 +01:00
cgroup-show.c delta: draw arrows with draw_special_char() 2014-04-23 19:06:39 +02:00
cgroup-show.h use #pragma once instead of foo*foo define guards 2013-11-18 20:28:54 -05:00
cgroup-util.c nspawn: mount most of the cgroup tree read-only in nspawn containers except for the container's own subtree in the name=systemd hierarchy 2015-01-05 01:40:51 +01:00
cgroup-util.h nspawn: mount most of the cgroup tree read-only in nspawn containers except for the container's own subtree in the name=systemd hierarchy 2015-01-05 01:40:51 +01:00
clean-ipc.c treewide: use log_*_errno whenever %m is in the format string 2014-11-28 19:49:27 +01: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 shared: correct spacing near eol in code comments 2014-12-11 15:08:35 +01:00
clock-util.h core: only set the kernel's timezone when the RTC runs in local time 2014-07-27 10:44:31 +02:00
condition.c condition: don't include files from src/core 2014-12-23 19:15:27 +01:00
condition.h tree-wide: make condition_free_list return NULL 2014-12-18 19:26:21 -05:00
conf-files.c treewide: more log_*_errno() conversions, multiline calls 2014-11-28 17:17:51 +01:00
conf-files.h use #pragma once instead of foo*foo define guards 2013-11-18 20:28:54 -05:00
conf-parser.c treewide: use log_*_errno whenever %m is in the format string 2014-11-28 19:49:27 +01:00
conf-parser.h log: add an "error" parameter to all low-level logging calls and intrdouce log_error_errno() as log calls that take error numbers 2014-11-27 22:05:23 +01:00
copy.c machinectl/machined: implement "rename", "clone", "read-only" verbs for machine images 2014-12-28 02:08:40 +01:00
copy.h machinectl/machined: implement "rename", "clone", "read-only" verbs for machine images 2014-12-28 02:08:40 +01:00
def.h sd-bus: rename default bus address constants, they aren't "paths" but "addresses" 2014-11-28 16:17:33 +01:00
dev-setup.c label: unify code to make directories, symlinks 2014-10-23 21:36:56 +02: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 fix a couple of more lazy "return -1" 2014-08-11 18:35:54 +02:00
device-nodes.h shared: device-nodes - add include guard 2013-09-24 15:34:57 +02:00
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 fix a couple of more lazy "return -1" 2014-08-11 18:35:54 +02:00
efivars.h support acpi firmware performance data (FPDT) 2013-09-24 15:43:41 +02:00
env-util.c env-util: don't include files from src/core/ 2014-12-23 19:15:27 +01:00
env-util.h env-util: don't include files from src/core/ 2014-12-23 19:15:27 +01:00
errno-list.c bus: rework sd_bus_error APIs 2013-11-22 04:23:22 +01:00
errno-list.h bus: rework sd_bus_error APIs 2013-11-22 04:23:22 +01:00
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.c: bring EXIT_BUS_ENDPOINT label in line with others 2014-09-22 09:15:49 -04:00
exit-status.h smack: introduce new SmackProcessLabel option 2014-11-24 10:20:53 -05:00
fdset.c core: add new logic for services to store file descriptors in PID 1 2015-01-06 03:16:39 +01:00
fdset.h core: add new logic for services to store file descriptors in PID 1 2015-01-06 03:16:39 +01:00
fileio-label.c tmpfiles: add new line type 'v' for creating btrfs subvolumes 2014-12-28 02:08:40 +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
generator.c treewide: another round of simplifications 2014-11-28 19:57:32 +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 endian: explicitly include endian.h wherever we want to use __BYTE_ORDER 2014-07-11 16:13:13 +02:00
gunicode.c unicode: treat cute symbol block as fullwidth 2013-10-13 17:56:54 -04:00
gunicode.h util, utf8: make ellipsize take multi-byte characters into account 2013-10-13 17:56:54 -04:00
hashmap.c tree-wide: spelling fixes 2014-12-30 20:07:04 -05:00
hashmap.h configure.ac: add a generic --enable-debug, replace --enable-hashmap-debug 2014-12-13 00:46:16 +01:00
ima-util.c security: missing header inclusions 2013-10-10 21:22:59 +02:00
ima-util.h security: rework selinux, smack, ima, apparmor detection logic 2013-10-10 16:35:44 +02:00
in-addr-util.c sd-dhcp-lease: use shared default prefixlen function 2014-11-01 19:02:44 +01:00
in-addr-util.h shared: in-addr-utils - add default_subnet_mask and default_prefixlen methods 2014-10-27 17:40:24 +01:00
initreq.h build-sys: move more files from core/ to share/ that are generic enough 2013-11-22 16:31:40 +01:00
install-printf.c specifier: rework specifier calls to return proper error message 2013-09-17 10:06:50 -05:00
install-printf.h specifier: rework specifier calls to return proper error message 2013-09-17 10:06:50 -05:00
install.c path-lookup, systemctl: export lookup_paths_init_from_scope() from shared/install.c and use it 2015-01-05 11:13:30 -05:00
install.h shared/install: when unit contains only Also=, report 'indirect' 2014-11-10 19:58:21 +01:00
ioprio.h trivial coding style clean ups 2013-12-03 22:27:45 +01:00
json.c shared: json - support escaping utf16 surrogate pairs 2014-12-22 20:27:20 +01:00
json.h shared: add minimal JSON tokenizer 2014-12-15 22:27:15 +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: make LIST_FIND_TAIL work for empty lists 2014-05-06 13:07:15 +02: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: change log_xyz_errno() calls to always return the negative error 2014-11-28 03:16:56 +01:00
log.h shared: fix log_emergency_errno macro 2014-11-28 11:54:25 +01: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 build-sys: move sd-login src/login → src/libsystemd/sd-login 2014-03-17 18:35:48 +01:00
logs-show.c treewide: a few more log_*_errno + return simplifications 2014-11-28 19:17:24 +01:00
logs-show.h Always prefer our headers to system headers 2014-07-31 08:56:03 -04:00
machine-image.c machined: add support for reporting image size via btrfs quota 2014-12-28 02:08:40 +01:00
machine-image.h machined: add support for reporting image size via btrfs quota 2014-12-28 02:08:40 +01:00
macro.h macro: add DIV_ROUND_UP() 2014-12-30 01:39:01 +01:00
Makefile
memfd-util.c util: when sealing memfds, also use F_SEAL_SEAL 2014-11-04 18:52:34 +01:00
memfd-util.h memfd: rename memfd.h to memfd-util.h to avoid any confusion with any libc provided headers 2014-10-30 18:32:37 +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: add __NR_renameat2 2015-01-01 13:36:43 -05:00
mkdir-label.c label: unify code to make directories, symlinks 2014-10-23 21:36:56 +02:00
mkdir.c treewide: introduce UID_INVALID (and friends) as macro for (uid_t) -1 2014-11-28 20:55:04 +01:00
mkdir.h label: move is_dir() to util.c 2014-10-23 21:36:56 +02: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
output-mode.h journalctl: add --utc option 2014-10-02 14:52:32 +02:00
pager.c treewide: another round of simplifications 2014-11-28 19:57:32 +01:00
pager.h systemd-verify: check man pages 2014-07-20 19:48:16 -04:00
path-lookup.c path-lookup, systemctl: export lookup_paths_init_from_scope() from shared/install.c and use it 2015-01-05 11:13:30 -05:00
path-lookup.h path-lookup, systemctl: export lookup_paths_init_from_scope() from shared/install.c and use it 2015-01-05 11:13:30 -05:00
path-util.c path-util: fix breakage in path_is_mount_point 2014-12-18 18:34:12 -05:00
path-util.h Do not check for existence of remote binaries 2014-11-22 18:01:43 -05:00
prioq.c core: convert PID 1 to libsystemd-bus 2013-11-20 20:52:36 +01:00
prioq.h bus: add minimal event loop API 2013-10-10 04:44:48 +02:00
pty.c nspawn,pty: port over to new ptsname_malloc() helper 2014-12-23 03:26:24 +01:00
pty.h shared: add PTY helper 2014-07-17 11:39:48 +02:00
ptyfwd.c run: add a new "-t" mode for invoking a binary on an allocated TTY 2014-12-23 03:26:24 +01:00
ptyfwd.h run: add a new "-t" mode for invoking a binary on an allocated TTY 2014-12-23 03:26:24 +01:00
ratelimit.c ratelimit: fix off-by-one 2013-02-13 08:45:13 -05:00
ratelimit.h
refcnt.h bus: make bus ref counting atomic 2013-05-16 21:58:34 +02:00
replace-var.c Verify validity of session name when received from outside 2013-09-16 09:58:37 -05:00
replace-var.h shared: add API for replacing @FOO@ style variables in strings 2012-11-14 22:21:16 +01:00
ring.c shared: fix coding-style for ring-buffer implementation 2014-07-11 16:43:53 +02:00
ring.h shared: fix coding-style for ring-buffer implementation 2014-07-11 16:43: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 build-sys: move more files from core/ to share/ that are generic enough 2013-11-22 16:31:40 +01:00
selinux-util.c selinux: figure out selinux context applied on exec() before closing all fds 2014-12-04 03:00:01 +01:00
selinux-util.h selinux: figure out selinux context applied on exec() before closing all fds 2014-12-04 03:00:01 +01:00
set.h hashmap: rewrite the implementation 2014-10-30 19:50:51 +01:00
sigbus.c journald: process SIGBUS for the memory maps we set up 2015-01-05 01:40:51 +01:00
sigbus.h journald: process SIGBUS for the memory maps we set up 2015-01-05 01:40:51 +01: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 systemd-sleep: Support sleep.conf.d directories in the usual search paths 2014-11-29 13:55:31 -05:00
sleep-config.h systemd-sleep: add support for freeze and standby 2013-05-06 22:51:57 +02:00
smack-util.c smack-util: remove warning when building without SMACK support 2014-12-04 16:17:34 +01:00
smack-util.h smack: introduce new SmackProcessLabel option 2014-11-24 10:20:53 -05:00
socket-label.c tmpfiles: add new line type 'v' for creating btrfs subvolumes 2014-12-28 02:08:40 +01:00
socket-util.c treewide: another round of simplifications 2014-11-28 19:57:32 +01:00
socket-util.h util: never use ether_ntoa(), since it formats with %x, not %02x, which makes ethernet addresses look funny 2014-08-15 13:19:03 +02: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 treewide: no need to negate errno for log_*_errno() 2014-11-28 13:29:21 +01:00
spawn-ask-password-agent.h
spawn-polkit-agent.c treewide: no need to negate errno for log_*_errno() 2014-11-28 13:29:21 +01:00
spawn-polkit-agent.h use #pragma once instead of foo*foo define guards 2013-11-18 20:28:54 -05:00
special.h timer: order OnCalendar units after timer-sync.target if DefaultDependencies=no 2014-08-14 01:49:40 +02:00
specifier.c specifier: rework specifier calls to return proper error message 2013-09-17 10:06:50 -05:00
specifier.h specifier: rework specifier calls to return proper error message 2013-09-17 10:06:50 -05:00
strbuf.c Fix spelling errors using 'codespell' tool 2013-04-15 08:40:05 -04:00
strbuf.h use the same email address everywhere 2012-11-12 19:47:43 +01:00
strv.c strv: ass new strv_is_uniq() and strv_reverse() calls 2014-12-19 02:07:42 +01:00
strv.h strv: ass new strv_is_uniq() and strv_reverse() calls 2014-12-19 02:07:42 +01:00
strxcpyx.c trivial coding style clean ups 2013-12-03 22:27:45 +01:00
strxcpyx.h macro: clean up usage of gcc attributes 2013-10-16 06:14:59 +02:00
switch-root.c treewide: another round of simplifications 2014-11-28 19:57:32 +01:00
switch-root.h use the switch_root function in shutdown 2014-08-28 15:25:15 +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-dst.c shared: time-dst: Avoid buffer overflow 2014-12-15 13:50:11 +01:00
time-dst.h timedatectl: properly print 30 minutes DST transitions 2012-11-11 16:55:25 +01:00
time-util.c time: don't do comparison twice 2014-10-24 19:10:09 +02:00
time-util.h util: avoid duplication of TIME_T_MAX 2014-10-21 00:38:30 +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 tmpfiles: add new 'r' line type to add UIDs/GIDs to the pool to allocate UIDs/GIDs from 2014-08-19 19:06:39 +02:00
unaligned.h shared: unaligned - use void* instead of unaligned be16_t* 2014-11-05 16:54:22 +01:00
unit-name.c systemctl: append default suffix only if none present 2014-11-28 11:54:37 -05:00
unit-name.h systemctl: append default suffix only if none present 2014-11-28 11:54:37 -05:00
utf8.c shared: utf8 - support decoding the full utf16 2014-12-22 20:26:53 +01:00
utf8.h shared: utf8 - support decoding the full utf16 2014-12-22 20:26:53 +01:00
util.c core: add new logic for services to store file descriptors in PID 1 2015-01-06 03:16:39 +01:00
util.h core: add new logic for services to store file descriptors in PID 1 2015-01-06 03:16:39 +01:00
utmp-wtmp.c shared: wtmp-utmp - don't clear store_wtmp in utmp_put_dead_process() 2014-09-19 08:06:52 +02:00
utmp-wtmp.h make utmp/wtmp support configurable 2014-09-26 07:48:35 -04: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 virt: when detecting containers and /run/systemd/container cannot be read, check /proc/1/environ 2014-12-10 13:36:10 +01: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