raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6b090a00b6b7b2d76948f36079204a1ee26ae468
commit 6b090a00b6b7b2d76948f36079204a1ee26ae468 Author: Carsten Haitzler (Rasterman) <[email protected]> Date: Thu Feb 9 15:48:11 2017 +0900 efreetd - dont use XDG_RUNTIME_DIR or EFREET_LOG env vars for setuid if a setuid app needs efreet - it will not be able to contact the users' efreetd and thus may spawn it's own... and thus we cant have this now spawned efreetd using env vars inherited from the unpriveleged etc. user, so ignore them. --- src/bin/efreet/efreetd.c | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/src/bin/efreet/efreetd.c b/src/bin/efreet/efreetd.c index 8ed670d..2da069a 100644 --- a/src/bin/efreet/efreetd.c +++ b/src/bin/efreet/efreetd.c @@ -51,31 +51,18 @@ main(int argc, char *argv[]) if (!ipc_init()) goto ipc_error; if (!cache_init()) goto cache_error; - s = getenv("XDG_RUNTIME_DIR"); - if (s) log_file_dir = s; - else log_file_dir = eina_environment_tmp_get(); + log_file_dir = eina_environment_tmp_get(); if (gethostname(buf, sizeof(buf)) < 0) hostname_str = ""; else hostname_str = buf; - if (getenv("EFREETD_LOG")) + snprintf(path, sizeof(path), "%s/efreetd_%s_XXXXXX.log", + log_file_dir, hostname_str); + fd = eina_file_mkstemp(path, NULL); + if (fd < 0) { - snprintf(path, sizeof(path), "%s/efreetd_%s_XXXXXX.log", - log_file_dir, hostname_str); - fd = eina_file_mkstemp(path, NULL); - if (fd < 0) - { - ERR("Can't create log file '%s'\b", path);; - goto tmp_error; - } - } - else - { - fd = open("/dev/null", O_WRONLY); - if (fd < 0) - { - goto tmp_error; - } + ERR("Can't create log file '%s'\b", path);; + goto tmp_error; } log = fdopen(fd, "wb"); if (!log) goto tmp_error; --
