opnsense-ports/sysutils/polkit/files/patch-src_programs_pkexec.c
Franco Fichtner 054ebd424e */*: sync with upstream
Taken from: FreeBSD
2023-01-09 17:44:31 +01:00

33 lines
808 B
C

--- src/programs/pkexec.c.orig 2022-07-11 08:46:06 UTC
+++ src/programs/pkexec.c
@@ -37,6 +37,11 @@
#include <sys/prctl.h>
#endif
+#ifdef __FreeBSD__
+#include <signal.h>
+#include <sys/procctl.h>
+#endif
+
#include <glib/gi18n.h>
#ifdef POLKIT_AUTHFW_PAM
@@ -729,10 +734,17 @@ main (int argc, char *argv[])
}
/* make sure we are nuked if the parent process dies */
-#ifdef __linux__
+#if defined(__linux__)
if (prctl (PR_SET_PDEATHSIG, SIGTERM) != 0)
{
g_printerr ("prctl(PR_SET_PDEATHSIG, SIGTERM) failed: %s\n", g_strerror (errno));
+ goto out;
+ }
+#elif defined(__FreeBSD__)
+ int _sig = SIGTERM;
+ if (procctl (P_PID, 0, PROC_PDEATHSIG_CTL, &_sig) != 0)
+ {
+ g_printerr ("procctl(2) failed: %s\n", g_strerror (errno));
goto out;
}
#else