874
|
1 |
--- PolicyKit-0.7/configure.in-orig 2008-02-06 01:23:37.911792000 -0600
|
|
2 |
+++ PolicyKit-0.7/configure.in 2008-02-06 01:24:16.554869000 -0600
|
|
3 |
@@ -288,6 +288,43 @@ AM_CONDITIONAL(POLKIT_AUTHDB_DEFAULT, [t
|
|
4 |
|
|
5 |
|
|
6 |
dnl ---------------------------------------------------------------------------
|
|
7 |
+dnl - Check for dirfd
|
|
8 |
+dnl ---------------------------------------------------------------------------
|
|
9 |
+
|
|
10 |
+AC_MSG_CHECKING(for dirfd)
|
|
11 |
+AC_TRY_LINK([
|
|
12 |
+#include <sys/types.h>
|
|
13 |
+#include <dirent.h>
|
|
14 |
+],[
|
|
15 |
+DIR *dirp;
|
|
16 |
+dirp = opendir(".");
|
|
17 |
+dirfd(dirp);
|
|
18 |
+closedir(dirp);
|
|
19 |
+],
|
|
20 |
+dbus_have_dirfd=yes, dbus_have_dirfd=no)
|
|
21 |
+AC_MSG_RESULT($dbus_have_dirfd)
|
|
22 |
+if test "$dbus_have_dirfd" = yes; then
|
|
23 |
+ AC_DEFINE(HAVE_DIRFD,1,[Have dirfd function])
|
|
24 |
+else
|
|
25 |
+ AC_MSG_CHECKING(for DIR *dirp->dd_fd)
|
|
26 |
+ AC_TRY_LINK([
|
|
27 |
+#include <sys/types.h>
|
|
28 |
+#include <dirent.h>
|
|
29 |
+ ],[
|
|
30 |
+DIR *dirp;
|
|
31 |
+int fd;
|
|
32 |
+dirp = opendir(".");
|
|
33 |
+fd = dirp->dd_fd;
|
|
34 |
+closedir(dirp);
|
|
35 |
+ ],
|
|
36 |
+ dbus_have_ddfd=yes, dbus_have_ddfd=no)
|
|
37 |
+ AC_MSG_RESULT($dbus_have_ddfd)
|
|
38 |
+ if test "$dbus_have_ddfd" = yes; then
|
|
39 |
+ AC_DEFINE(HAVE_DDFD,1,[Have the ddfd member of DIR])
|
|
40 |
+ fi
|
|
41 |
+fi
|
|
42 |
+
|
|
43 |
+dnl ---------------------------------------------------------------------------
|
|
44 |
dnl - Check for PAM
|
|
45 |
dnl ---------------------------------------------------------------------------
|
|
46 |
|
|
47 |
--- PolicyKit-0.7/src/polkit-dbus/polkit-read-auth-helper.c-orig 2008-02-06 01:22:30.289636000 -0600
|
|
48 |
+++ PolicyKit-0.7/src/polkit-dbus/polkit-read-auth-helper.c 2008-02-06 01:20:42.957310000 -0600
|
|
49 |
@@ -167,7 +171,14 @@ dump_auths_all (const char *root)
|
|
50 |
goto out;
|
|
51 |
}
|
|
52 |
|
|
53 |
+#if defined(HAVE_DIRFD)
|
|
54 |
dfd = dirfd (dir);
|
|
55 |
+#elif defined(HAVE_DDFD)
|
|
56 |
+ dfd = dir->dd_fd;
|
|
57 |
+#else
|
|
58 |
+ dfd = dir->__dd_fd;
|
|
59 |
+#endif
|
|
60 |
+
|
|
61 |
if (dfd == -1) {
|
|
62 |
fprintf (stderr, "polkit-read-auth-helper: error calling dirfd(): %m\n");
|
|
63 |
goto out;
|