mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-20 00:21:35 +00:00
* Fix a problem where waitpid() may return EINTR which causes the various
polkit helpers to report a failure. This fix allows dynamic polkit policies to actually work (e.g. mounting fixed drives with proper authorization). * Workaround a bug in our version of getline(3), and check for EOF when getline does not return -1.
This commit is contained in:
parent
c469ef0c6b
commit
ada2201110
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=231281
@ -8,7 +8,7 @@
|
||||
|
||||
PORTNAME= policykit
|
||||
PORTVERSION= 0.9
|
||||
PORTREVISION= 3
|
||||
PORTREVISION= 4
|
||||
CATEGORIES= sysutils gnome
|
||||
MASTER_SITES= http://hal.freedesktop.org/releases/
|
||||
DISTNAME= PolicyKit-${PORTVERSION}
|
||||
|
13
sysutils/policykit/files/patch-src_kit_kit-spawn.c
Normal file
13
sysutils/policykit/files/patch-src_kit_kit-spawn.c
Normal file
@ -0,0 +1,13 @@
|
||||
--- src/kit/kit-spawn.c.orig 2009-03-29 20:11:24.000000000 -0400
|
||||
+++ src/kit/kit-spawn.c 2009-03-29 20:11:43.000000000 -0400
|
||||
@@ -396,7 +396,10 @@ kit_spawn_sync (const char *working_
|
||||
}
|
||||
}
|
||||
|
||||
+again:
|
||||
if (waitpid (pid, out_exit_status, 0) == -1) {
|
||||
+ if (errno == EINTR)
|
||||
+ goto again;
|
||||
goto out;
|
||||
}
|
||||
pid = -1;
|
@ -0,0 +1,11 @@
|
||||
--- src/polkit-grant/polkit-grant.c.orig 2009-03-29 20:12:16.000000000 -0400
|
||||
+++ src/polkit-grant/polkit-grant.c 2009-03-29 20:13:15.000000000 -0400
|
||||
@@ -303,7 +303,7 @@ polkit_grant_io_func (PolKitGrant *polki
|
||||
g_return_if_fail (polkit_grant != NULL);
|
||||
g_return_if_fail (polkit_grant->helper_is_running);
|
||||
|
||||
- while (kit_getline (&line, &line_len, polkit_grant->child_stdout_f) != -1) {
|
||||
+ while (kit_getline (&line, &line_len, polkit_grant->child_stdout_f) != -1 && !feof (polkit_grant->child_stdout_f)) {
|
||||
if (strlen (line) > 0 &&
|
||||
line[strlen (line) - 1] == '\n')
|
||||
line[strlen (line) - 1] = '\0';
|
Loading…
Reference in New Issue
Block a user