3af55c5cb3
Instead of calling 'su' to switch the user, use own implementation of this. Thanks to PAM it's pretty simple. The main reason is to have control over process waiting for session termination (to call pam_close_sesion/pam_end). Especially we don't want it to keep std* fds open, which would prevent qrexec-agent from receiving EOF when one of them will be closed. Also, this will preserve QREXEC_AGENT_PID environment variable. Fixes QubesOS/qubes-issues#2851 |
||
---|---|---|
.. | ||
Makefile | ||
qrexec-agent-data.c | ||
qrexec-agent.c | ||
qrexec-agent.h | ||
qrexec-client-vm.c | ||
qrexec-fork-server.c | ||
qrexec.pam | ||
qubes-rpc-multiplexer |