Systemd/src/core
Lennart Poettering 2d6fce8d7c core: leave PAM stub process around with GIDs updated
In the process execution code of PID 1, before
096424d123 the GID settings where changed before
invoking PAM, and the UID settings after. After the change both changes are
made after the PAM session hooks are run. When invoking PAM we fork once, and
leave a stub process around which will invoke the PAM session end hooks when
the session goes away. This code previously was dropping the remaining privs
(which were precisely the UID). Fix this code to do this correctly again, by
really dropping them else (i.e. the GID as well).

While we are at it, also fix error logging of this code.

Fixes: #4238
2016-10-06 19:04:10 +02:00
..
.gitignore Move daemon-reload from package %post scripts to file triggers 2015-11-15 18:38:37 -05:00
audit-fd.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
audit-fd.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
automount.c automount: make sure the expire event is restarted after a daemon-reload (#4265) 2016-10-04 16:13:27 +02:00
automount.h automount: rework propagation between automount and mount units 2016-05-02 16:51:45 +02:00
bus-policy.c util-lib: split out allocation calls into alloc-util.[ch] 2015-10-27 13:45:53 +01:00
bus-policy.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
busname.c core: remember first unit failure, not last unit failure 2016-08-04 23:08:05 +02:00
busname.h core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
cgroup.c core: introduce MemorySwapMax= 2016-08-30 11:11:45 +09:00
cgroup.h core: introduce MemorySwapMax= 2016-08-30 11:11:45 +09:00
dbus-automount.c automount: implement transient automounts 2016-06-06 07:33:54 +02:00
dbus-automount.h automount: implement transient automounts 2016-06-06 07:33:54 +02:00
dbus-busname.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-busname.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-cgroup.c core: introduce MemorySwapMax= 2016-08-30 11:11:45 +09:00
dbus-cgroup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-device.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-device.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-execute.c core: add two new service settings ProtectKernelTunables= and ProtectControlGroups= 2016-09-25 10:18:48 +02:00
dbus-execute.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-job.c core: don't log job status message in case job was effectively NOP (#3199) 2016-05-16 11:24:51 -04:00
dbus-job.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-kill.c tree-wide: remove newlines from unit_write_drop_in 2016-05-28 16:29:42 -04:00
dbus-kill.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-manager.c core: add Ref()/Unref() bus calls for units 2016-08-22 16:14:21 +02:00
dbus-manager.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-mount.c mount: add new ForceUnmount= setting for mount units, mapping to umount(8)'s "-f" switch 2016-08-27 10:46:52 -04:00
dbus-mount.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-path.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-path.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-scope.c core: make sure RequestStop signal is send directed 2016-07-20 14:35:15 +02:00
dbus-scope.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-service.c core: add RemoveIPC= setting 2016-08-19 00:37:25 +02:00
dbus-service.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-slice.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-slice.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-socket.c core: add RemoveIPC= setting 2016-08-19 00:37:25 +02:00
dbus-socket.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-swap.c core: add RemoveIPC= setting 2016-08-19 00:37:25 +02:00
dbus-swap.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-target.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-target.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-timer.c tree-wide: remove newlines from unit_write_drop_in 2016-05-28 16:29:42 -04:00
dbus-timer.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus-unit.c unit: sent change signal before removing the unit if necessary (#4106) 2016-09-09 16:05:06 +01:00
dbus-unit.h core: add Ref()/Unref() bus calls for units 2016-08-22 16:14:21 +02:00
dbus.c pid1: drop kdbus_fd and all associated logic 2016-09-09 15:16:26 +01:00
dbus.h core: add Ref()/Unref() bus calls for units 2016-08-22 16:14:21 +02:00
device.c Move no_instances information to shared/ 2016-05-01 19:58:59 -04:00
device.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dynamic-user.c tree-wide: remove consecutive duplicate words in comments 2016-10-04 17:06:25 +02:00
dynamic-user.h core: add a concept of "dynamic" user ids, that are allocated as long as a service is running 2016-07-22 15:53:45 +02:00
execute.c core: leave PAM stub process around with GIDs updated 2016-10-06 19:04:10 +02:00
execute.h core: add two new service settings ProtectKernelTunables= and ProtectControlGroups= 2016-09-25 10:18:48 +02:00
failure-action.c core: rework reboot parameter logic a bit 2016-04-12 13:43:32 +02:00
failure-action.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
hostname-setup.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
hostname-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
ima-setup.c tree-wide: use mdash instead of a two minuses 2016-04-21 23:00:13 -04:00
ima-setup.h tree-wide: use mdash instead of a two minuses 2016-04-21 23:00:13 -04:00
job.c core: add Ref()/Unref() bus calls for units 2016-08-22 16:14:21 +02:00
job.h core: add Ref()/Unref() bus calls for units 2016-08-22 16:14:21 +02:00
kill.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
kill.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
killall.c shutdown: use 90s SIGKILL timeout 2016-07-12 17:32:30 +02:00
killall.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
kmod-setup.c Ensure kdbus isn't used (#3501) 2016-06-18 17:24:23 -04:00
kmod-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
load-dropin.c core: don't drop transient drop-ins when loading the rest 2016-04-12 13:43:31 +02:00
load-dropin.h core: rework generator dir logic, move the dirs into LookupPaths structure 2016-04-12 13:43:29 +02:00
load-fragment-gperf.gperf.m4 core: add two new service settings ProtectKernelTunables= and ProtectControlGroups= 2016-09-25 10:18:48 +02:00
load-fragment.c core: introduce MemorySwapMax= (#3659) 2016-08-31 12:28:54 +02:00
load-fragment.h core: add cgroup CPU controller support on the unified hierarchy 2016-08-07 09:45:39 -04:00
locale-setup.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
locale-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
loopback-setup.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
loopback-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
machine-id-setup.c core: rework machine-id-setup.c to use the calls from id128-util.[ch] 2016-07-22 12:59:36 +02:00
machine-id-setup.h core: rework machine-id-setup.c to use the calls from id128-util.[ch] 2016-07-22 12:59:36 +02:00
macros.systemd.in macros.systemd.in: add %systemd_ordering (#3776) 2016-07-22 09:33:13 -04:00
main.c main: minor simplification 2016-09-25 10:52:57 +02:00
Makefile
manager.c core: do not try to create /run/systemd/transient in test mode 2016-10-01 22:53:17 +02:00
manager.h pid1: drop kdbus_fd and all associated logic 2016-09-09 15:16:26 +01:00
mount-setup.c core: use the unified hierarchy for the systemd cgroup controller hierarchy 2016-08-17 17:44:36 -04:00
mount-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
mount.c mount: add SloppyOptions= to mount_dump() 2016-08-27 10:47:46 -04:00
mount.h mount: add new ForceUnmount= setting for mount units, mapping to umount(8)'s "-f" switch 2016-08-27 10:46:52 -04:00
namespace.c core:namespace: simplify ProtectHome= implementation 2016-09-25 12:41:16 +02:00
namespace.h core: introduce ProtectSystem=strict 2016-09-25 10:42:18 +02:00
org.freedesktop.systemd1.conf core: add Ref()/Unref() bus calls for units 2016-08-22 16:14:21 +02:00
org.freedesktop.systemd1.policy.in.in core: rework policykit hookup 2015-02-18 18:56:27 +01:00
org.freedesktop.systemd1.service
path.c core: remember first unit failure, not last unit failure 2016-08-04 23:08:05 +02:00
path.h core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
scope.c core: use the unified hierarchy for the systemd cgroup controller hierarchy 2016-08-17 17:44:36 -04:00
scope.h Merge pull request #3762 from poettering/sigkill-log 2016-07-22 09:18:30 +02:00
selinux-access.c tree-wide: get rid of selinux_context_t (#3732) 2016-07-15 18:44:02 +02:00
selinux-access.h core,network: Use const qualifiers for block-local variables in macro functions (#4019) 2016-08-23 12:29:30 +03:00
selinux-setup.c tree-wide: get rid of selinux_context_t (#3732) 2016-07-15 18:44:02 +02:00
selinux-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
service.c service: fixup ExecStop for socket-activated shutdown (#4120) 2016-09-10 08:55:36 +03:00
service.h socket: add support to control no. of connections from one source (#3607) 2016-08-02 13:48:23 -04:00
show-status.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
show-status.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
shutdown.c shutdown: already sync IO before we enter the final killing spree 2016-07-12 17:38:19 +02:00
slice.c Move no_instances information to shared/ 2016-05-01 19:58:59 -04:00
slice.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
smack-setup.c tree-wide: indentation fixes 2016-02-26 22:23:38 +01:00
smack-setup.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
socket.c core: Fix USB functionfs activation and clarify its documentation (#4188) 2016-09-26 18:45:47 +02:00
socket.h systemd: do not serialize peer, bump count when deserializing socket instead 2016-08-05 08:16:31 -04:00
swap.c core: add RemoveIPC= setting 2016-08-19 00:37:25 +02:00
swap.h core: add a concept of "dynamic" user ids, that are allocated as long as a service is running 2016-07-22 15:53:45 +02:00
system.conf core: change TasksMax= default for system services to 15% 2016-07-22 15:33:13 +02:00
systemd.pc.in build-sys: move systemd.pc from pkgconfiglibdir back into pkgconfigdatadir 2015-04-21 20:35:17 +02:00
target.c tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
target.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
timer.c core: remember first unit failure, not last unit failure 2016-08-04 23:08:05 +02:00
timer.h core: move enforcement of the start limit into per-unit-type code again 2016-05-02 13:08:00 +02:00
transaction.c transaction: don't cancel jobs for units with IgnoreOnIsolate=true (#3671) 2016-07-25 20:02:55 +02:00
transaction.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
triggers.systemd.in rpm triggers: add note about minimum supported version 2016-04-02 11:35:07 -04:00
umount.c Fix typo 2016-10-05 18:36:48 +02:00
umount.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
unit-printf.c core: reuse manager_get_runtime_prefix() at more places 2016-04-12 13:43:30 +02:00
unit-printf.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
unit.c core: complain if Before= dep on .device is declared 2016-10-01 22:53:17 +02:00
unit.h Merge pull request #3984 from poettering/refcnt 2016-08-26 16:17:05 +03:00
user.conf core: rename StartLimitInterval= to StartLimitIntervalSec= 2016-04-29 16:27:48 +02:00