Without this the password is never collected and checked. * gnu/packages/patches/enlightenment-fix-setuid-path.patch: Fix patch so that it collects the entered password.
		
			
				
	
	
		
			81 lines
		
	
	
	
		
			3.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
	
		
			3.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
diff --git a/src/bin/e_auth.c b/src/bin/e_auth.c
 | 
						|
index 8b0aa6641..3dff0ad84 100644
 | 
						|
--- a/src/bin/e_auth.c
 | 
						|
+++ b/src/bin/e_auth.c
 | 
						|
@@ -12,8 +12,7 @@ e_auth_begin(char *passwd)
 | 
						|
    if (pwlen == 0) goto out;
 | 
						|
 
 | 
						|
    snprintf(buf, sizeof(buf),
 | 
						|
-            "%s/enlightenment/utils/enlightenment_ckpasswd pw",
 | 
						|
-            e_prefix_lib_get());
 | 
						|
+            "/run/setuid-programs/enlightenment_ckpasswd pw");
 | 
						|
    exe = ecore_exe_pipe_run(buf, ECORE_EXE_PIPE_WRITE, NULL);
 | 
						|
    if (!exe) goto out;
 | 
						|
    if (ecore_exe_send(exe, passwd, pwlen) != EINA_TRUE) goto out;
 | 
						|
@@ -47,8 +46,7 @@ e_auth_polkit_begin(char *passwd, const char *cookie, unsigned int uid)
 | 
						|
    if (pwlen == 0) goto out;
 | 
						|
 
 | 
						|
    snprintf(buf, sizeof(buf),
 | 
						|
-            "%s/enlightenment/utils/enlightenment_ckpasswd pk",
 | 
						|
-            e_prefix_lib_get());
 | 
						|
+            "/run/setuid-programs/enlightenment_ckpasswd pk");
 | 
						|
    exe = ecore_exe_pipe_run(buf, ECORE_EXE_PIPE_WRITE, NULL);
 | 
						|
    if (!exe) goto out;
 | 
						|
    snprintf(buf, sizeof(buf), "%s %u %s", cookie, uid, passwd);
 | 
						|
diff --git a/src/bin/e_fm/e_fm_main_eeze.c b/src/bin/e_fm/e_fm_main_eeze.c
 | 
						|
index 9b10b3117..74e6b72ad 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_start_main.c b/src/bin/e_start_main.c
 | 
						|
index b2c439455..cb16c7bd4 100644
 | 
						|
--- a/src/bin/e_start_main.c
 | 
						|
+++ b/src/bin/e_start_main.c
 | 
						|
@@ -710,7 +710,7 @@ main(int argc, char **argv)
 | 
						|
             "E_ALERT_FONT_DIR=%s/data/fonts", eina_prefix_data_get(pfx));
 | 
						|
    putenv(buf2);
 | 
						|
    snprintf(buf3, sizeof(buf3),
 | 
						|
-            "E_ALERT_SYSTEM_BIN=%s/enlightenment/utils/enlightenment_system", eina_prefix_lib_get(pfx));
 | 
						|
+            "E_ALERT_SYSTEM_BIN=/run/setuid-programs/enlightenment_system");
 | 
						|
    putenv(buf3);
 | 
						|
 
 | 
						|
    if ((valgrind_mode || valgrind_tool) &&
 | 
						|
diff --git a/src/bin/e_system.c b/src/bin/e_system.c
 | 
						|
index 1e7aabb64..dc0173219 100644
 | 
						|
--- a/src/bin/e_system.c
 | 
						|
+++ b/src/bin/e_system.c
 | 
						|
@@ -132,7 +132,7 @@ _system_spawn(void)
 | 
						|
    else _respawn_count = 0;
 | 
						|
    if (_respawn_count > 5) return;
 | 
						|
    snprintf(buf, sizeof(buf),
 | 
						|
-            "%s/enlightenment/utils/enlightenment_system", e_prefix_lib_get());
 | 
						|
+            "/run/setuid-programs/enlightenment_system");
 | 
						|
    _system_exe = ecore_exe_pipe_run
 | 
						|
      (buf, ECORE_EXE_NOT_LEADER | ECORE_EXE_TERM_WITH_PARENT |
 | 
						|
       ECORE_EXE_PIPE_READ | ECORE_EXE_PIPE_WRITE, NULL);
 |