From: Efraim Flashner <efraim@flashner.co.il>
To: 31342@debbugs.gnu.org
Cc: Efraim Flashner <efraim@flashner.co.il>
Subject: [bug#31342] [PATCH 1/2] gnu: enlightenment: Fix setuid program locations.
Date: Wed, 2 May 2018 19:47:22 +0300 [thread overview]
Message-ID: <20180502164723.13994-1-efraim@flashner.co.il> (raw)
In-Reply-To: <20180502164450.13727-1-efraim@flashner.co.il>
* 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.
---
gnu/local.mk | 1 +
gnu/packages/enlightenment.scm | 3 +-
.../enlightenment-fix-setuid-path.patch | 168 ++++++++++++++++++
3 files changed, 171 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/enlightenment-fix-setuid-path.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index cfe698d3f..df8d22d09 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -644,6 +644,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 \
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index d6c11e4fe..54205978a 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -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
diff --git a/gnu/packages/patches/enlightenment-fix-setuid-path.patch b/gnu/packages/patches/enlightenment-fix-setuid-path.patch
new file mode 100644
index 000000000..90e16d3e6
--- /dev/null
+++ b/gnu/packages/patches/enlightenment-fix-setuid-path.patch
@@ -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)
--
2.17.0
next prev parent reply other threads:[~2018-05-02 16:48 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-02 16:44 [bug#31342] [PATCH 0/2] Enlightenment Desktop Service Efraim Flashner
2018-05-02 16:47 ` Efraim Flashner [this message]
2018-05-02 16:47 ` [bug#31342] [PATCH 2/2] gnu: services: Add Enlightenment desktop service Efraim Flashner
2018-05-07 16:49 ` Ludovic Courtès
2018-05-07 19:03 ` Efraim Flashner
2018-05-08 13:24 ` Ludovic Courtès
2018-05-13 15:36 ` Efraim Flashner
2018-05-07 16:42 ` [bug#31342] [PATCH 1/2] gnu: enlightenment: Fix setuid program locations Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180502164723.13994-1-efraim@flashner.co.il \
--to=efraim@flashner.co.il \
--cc=31342@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).