gnu: enlightenment: Fix setuid program locations.
* gnu/packages/enlightenment.scm (enlightenment)[source]: Add patch. * gnu/packages/patches/enlightenment-fix-setuid-path.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it.
This commit is contained in:
parent
89f8c2ac38
commit
122f91bd41
|
@ -647,6 +647,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
|
||||
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
|
||||
%D%/packages/patches/emacs-source-date-epoch.patch \
|
||||
%D%/packages/patches/enlightenment-fix-setuid-path.patch \
|
||||
%D%/packages/patches/erlang-man-path.patch \
|
||||
%D%/packages/patches/eudev-rules-directory.patch \
|
||||
%D%/packages/patches/evilwm-lost-focus-bug.patch \
|
||||
|
|
|
@ -262,7 +262,8 @@ Libraries with some extra bells and whistles.")
|
|||
name "/" name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16zydv7z94aw3rywmb9gr8ya85k7b75h22wng95lfx1x0y1yb0ad"))))
|
||||
"16zydv7z94aw3rywmb9gr8ya85k7b75h22wng95lfx1x0y1yb0ad"))
|
||||
(patches (search-patches "enlightenment-fix-setuid-path.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -0,0 +1,168 @@
|
|||
diff --git a/src/bin/e_auth.c b/src/bin/e_auth.c
|
||||
index 00b0e5d84..98ab4518f 100644
|
||||
--- a/src/bin/e_auth.c
|
||||
+++ b/src/bin/e_auth.c
|
||||
@@ -9,8 +9,7 @@ e_auth_begin(char *passwd)
|
||||
|
||||
if (strlen(passwd) == 0) goto out;
|
||||
|
||||
- snprintf(buf, sizeof(buf), "%s/enlightenment/utils/enlightenment_ckpasswd",
|
||||
- e_prefix_lib_get());
|
||||
+ snprintf(buf, sizeof(buf), "/run/setuid-programs/enlightenment_ckpasswd");
|
||||
|
||||
exe = ecore_exe_pipe_run(buf, ECORE_EXE_PIPE_WRITE, NULL);
|
||||
if (ecore_exe_send(exe, passwd, strlen(passwd)) != EINA_TRUE) goto out;
|
||||
diff --git a/src/bin/e_backlight.c b/src/bin/e_backlight.c
|
||||
index 2bced6766..208e583ba 100644
|
||||
--- a/src/bin/e_backlight.c
|
||||
+++ b/src/bin/e_backlight.c
|
||||
@@ -521,8 +521,8 @@ _bl_sys_level_set(double val)
|
||||
}
|
||||
// fprintf(stderr, "SET: %1.3f\n", val);
|
||||
snprintf(buf, sizeof(buf),
|
||||
- "%s/enlightenment/utils/enlightenment_backlight %i %s",
|
||||
- e_prefix_lib_get(), (int)(val * 1000.0), bl_sysval);
|
||||
+ "/run/setuid-programs/enlightenment_backlight %i %s",
|
||||
+ (int)(val * 1000.0), bl_sysval);
|
||||
bl_sys_set_exe = ecore_exe_run(buf, NULL);
|
||||
}
|
||||
#endif // HAVE_EEZE || __FreeBSD_kernel__
|
||||
diff --git a/src/bin/e_fm/e_fm_main_eeze.c b/src/bin/e_fm/e_fm_main_eeze.c
|
||||
index b7d9e3eba..d8a9eb82c 100644
|
||||
--- a/src/bin/e_fm/e_fm_main_eeze.c
|
||||
+++ b/src/bin/e_fm/e_fm_main_eeze.c
|
||||
@@ -318,7 +318,7 @@ _e_fm_main_eeze_volume_eject(E_Volume *v)
|
||||
{
|
||||
char buf[PATH_MAX];
|
||||
|
||||
- snprintf(buf, sizeof(buf), "%s/enlightenment/utils/enlightenment_sys", eina_prefix_lib_get(pfx));
|
||||
+ snprintf(buf, sizeof(buf), "/run/setuid-programs/enlightenment_sys");
|
||||
eeze_disk_mount_wrapper_set(v->disk, buf);
|
||||
}
|
||||
v->guard = ecore_timer_loop_add(E_FM_EJECT_TIMEOUT, (Ecore_Task_Cb)_e_fm_main_eeze_vol_eject_timeout, v);
|
||||
@@ -512,7 +512,7 @@ _e_fm_main_eeze_volume_unmount(E_Volume *v)
|
||||
{
|
||||
char buf[PATH_MAX];
|
||||
|
||||
- snprintf(buf, sizeof(buf), "%s/enlightenment/utils/enlightenment_sys", eina_prefix_lib_get(pfx));
|
||||
+ snprintf(buf, sizeof(buf), "/run/setuid-programs/enlightenment_sys");
|
||||
eeze_disk_mount_wrapper_set(v->disk, buf);
|
||||
}
|
||||
v->guard = ecore_timer_loop_add(E_FM_UNMOUNT_TIMEOUT, (Ecore_Task_Cb)_e_fm_main_eeze_vol_unmount_timeout, v);
|
||||
@@ -548,7 +548,7 @@ _e_fm_main_eeze_volume_mount(E_Volume *v)
|
||||
{
|
||||
char buf2[PATH_MAX];
|
||||
|
||||
- snprintf(buf2, sizeof(buf2), "%s/enlightenment/utils/enlightenment_sys", eina_prefix_lib_get(pfx));
|
||||
+ snprintf(buf2, sizeof(buf2), "/run/setuid-programs/enlightenment_sys");
|
||||
eeze_disk_mount_wrapper_set(v->disk, buf2);
|
||||
}
|
||||
v->guard = ecore_timer_loop_add(E_FM_MOUNT_TIMEOUT, (Ecore_Task_Cb)_e_fm_main_eeze_vol_mount_timeout, v);
|
||||
diff --git a/src/bin/e_sys.c b/src/bin/e_sys.c
|
||||
index 6781a9b5a..8cd140f1b 100644
|
||||
--- a/src/bin/e_sys.c
|
||||
+++ b/src/bin/e_sys.c
|
||||
@@ -653,20 +653,16 @@ _e_sys_cb_timer(void *data EINA_UNUSED)
|
||||
|
||||
e_init_status_set(_("Checking System Permissions"));
|
||||
snprintf(buf, sizeof(buf),
|
||||
- "%s/enlightenment/utils/enlightenment_sys -t halt",
|
||||
- e_prefix_lib_get());
|
||||
+ "/run/setuid-programs/enlightenment_sys -t halt");
|
||||
_e_sys_halt_check_exe = ecore_exe_run(buf, NULL);
|
||||
snprintf(buf, sizeof(buf),
|
||||
- "%s/enlightenment/utils/enlightenment_sys -t reboot",
|
||||
- e_prefix_lib_get());
|
||||
+ "/run/setuid-programs/enlightenment_sys -t reboot");
|
||||
_e_sys_reboot_check_exe = ecore_exe_run(buf, NULL);
|
||||
snprintf(buf, sizeof(buf),
|
||||
- "%s/enlightenment/utils/enlightenment_sys -t suspend",
|
||||
- e_prefix_lib_get());
|
||||
+ "/run/setuid-programs/enlightenment_sys -t suspend");
|
||||
_e_sys_suspend_check_exe = ecore_exe_run(buf, NULL);
|
||||
snprintf(buf, sizeof(buf),
|
||||
- "%s/enlightenment/utils/enlightenment_sys -t hibernate",
|
||||
- e_prefix_lib_get());
|
||||
+ "/run/setuid-programs/enlightenment_sys -t hibernate");
|
||||
_e_sys_hibernate_check_exe = ecore_exe_run(buf, NULL);
|
||||
return ECORE_CALLBACK_CANCEL;
|
||||
}
|
||||
@@ -1079,8 +1075,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw)
|
||||
/* shutdown -h now */
|
||||
if (e_util_immortal_check()) return 0;
|
||||
snprintf(buf, sizeof(buf),
|
||||
- "%s/enlightenment/utils/enlightenment_sys halt",
|
||||
- e_prefix_lib_get());
|
||||
+ "/run/setuid-programs/enlightenment_sys halt");
|
||||
if (_e_sys_exe)
|
||||
{
|
||||
if ((ecore_time_get() - _e_sys_begin_time) > 2.0)
|
||||
@@ -1114,8 +1109,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw)
|
||||
/* shutdown -r now */
|
||||
if (e_util_immortal_check()) return 0;
|
||||
snprintf(buf, sizeof(buf),
|
||||
- "%s/enlightenment/utils/enlightenment_sys reboot",
|
||||
- e_prefix_lib_get());
|
||||
+ "/run/setuid-programs/enlightenment_sys reboot");
|
||||
if (_e_sys_exe)
|
||||
{
|
||||
if ((ecore_time_get() - _e_sys_begin_time) > 2.0)
|
||||
@@ -1148,8 +1142,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw)
|
||||
case E_SYS_SUSPEND:
|
||||
/* /etc/acpi/sleep.sh force */
|
||||
snprintf(buf, sizeof(buf),
|
||||
- "%s/enlightenment/utils/enlightenment_sys suspend",
|
||||
- e_prefix_lib_get());
|
||||
+ "/run/setuid-programs/enlightenment_sys suspend");
|
||||
if (_e_sys_exe)
|
||||
{
|
||||
if ((ecore_time_get() - _e_sys_begin_time) > 2.0)
|
||||
@@ -1208,8 +1201,7 @@ _e_sys_action_do(E_Sys_Action a, char *param EINA_UNUSED, Eina_Bool raw)
|
||||
case E_SYS_HIBERNATE:
|
||||
/* /etc/acpi/hibernate.sh force */
|
||||
snprintf(buf, sizeof(buf),
|
||||
- "%s/enlightenment/utils/enlightenment_sys hibernate",
|
||||
- e_prefix_lib_get());
|
||||
+ "/run/setuid-programs/enlightenment_sys hibernate");
|
||||
if (_e_sys_exe)
|
||||
{
|
||||
if ((ecore_time_get() - _e_sys_begin_time) > 2.0)
|
||||
diff --git a/src/modules/bluez4/e_mod_main.c b/src/modules/bluez4/e_mod_main.c
|
||||
index 4b5148634..47d34b07f 100644
|
||||
--- a/src/modules/bluez4/e_mod_main.c
|
||||
+++ b/src/modules/bluez4/e_mod_main.c
|
||||
@@ -49,8 +49,8 @@ _ebluez_l2ping_poller(void *data EINA_UNUSED)
|
||||
|
||||
if (tmp)
|
||||
{
|
||||
- eina_strbuf_append_printf(buf, "%s/enlightenment/utils/enlightenment_sys l2ping %s",
|
||||
- e_prefix_lib_get(), tmp);
|
||||
+ eina_strbuf_append_printf(buf, "/run/setuid-programs/enlightenment_sys l2ping %s",
|
||||
+ tmp);
|
||||
autolock_exe = ecore_exe_run(eina_strbuf_string_get(buf), NULL);
|
||||
}
|
||||
|
||||
@@ -692,8 +692,7 @@ e_modapi_init(E_Module *m)
|
||||
autolock_desklock = ecore_event_handler_add(E_EVENT_DESKLOCK, _ebluez_desklock, NULL);
|
||||
|
||||
buf = eina_strbuf_new();
|
||||
- eina_strbuf_append_printf(buf, "%s/enlightenment/utils/enlightenment_sys -t l2ping",
|
||||
- e_prefix_lib_get());
|
||||
+ eina_strbuf_append_printf(buf, "/run/setuid-programs/enlightenment_sys -t l2ping");
|
||||
autolock_exe = ecore_exe_run(eina_strbuf_string_get(buf), NULL);
|
||||
eina_strbuf_free(buf);
|
||||
|
||||
diff --git a/src/modules/cpufreq/e_mod_main.c b/src/modules/cpufreq/e_mod_main.c
|
||||
index f4ba259b6..ae228bae3 100644
|
||||
--- a/src/modules/cpufreq/e_mod_main.c
|
||||
+++ b/src/modules/cpufreq/e_mod_main.c
|
||||
@@ -1450,8 +1450,7 @@ e_modapi_init(E_Module *m)
|
||||
}
|
||||
E_CONFIG_LIMIT(cpufreq_config->poll_interval, 1, 1024);
|
||||
|
||||
- snprintf(buf, sizeof(buf), "%s/%s/freqset",
|
||||
- e_module_dir_get(m), MODULE_ARCH);
|
||||
+ snprintf(buf, sizeof(buf), "/run/setuid-programs/freqset");
|
||||
cpufreq_config->set_exe_path = strdup(buf);
|
||||
|
||||
if (stat(buf, &st) < 0)
|
Loading…
Reference in New Issue