From 731ee3e09a60b0e3156c4ca424b7c60de26ce0b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Fri, 10 Apr 2015 18:07:04 +0200 Subject: [PATCH] qrexec: do not reset umask to 077 for every started process This umask will be inherited by any process started directly by qrexec (i.e. without help of fork-server). --- qrexec/qrexec-agent.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/qrexec/qrexec-agent.c b/qrexec/qrexec-agent.c index 09db699..7f86f37 100644 --- a/qrexec/qrexec-agent.c +++ b/qrexec/qrexec-agent.c @@ -99,15 +99,16 @@ void handle_vchan_error(const char *op) void init() { + mode_t old_umask; /* FIXME: This 0 is remote domain ID */ ctrl_vchan = libvchan_server_init(0, VCHAN_BASE_PORT, 4096, 4096); if (!ctrl_vchan) handle_vchan_error("server_init"); if (handle_handshake(ctrl_vchan) < 0) exit(1); - umask(0); + old_umask = umask(0); trigger_fd = get_server_socket(QREXEC_AGENT_TRIGGER_PATH); - umask(077); + umask(old_umask); register_exec_func(do_exec); /* wait for qrexec daemon */