Mercurial > vanilla
annotate security/polkit/make-innetgr-optional.patch @ 490:dbffca6c243e
security/polkit: initial import, closes #1578
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sun, 07 Apr 2019 14:36:39 +0200 |
parents | |
children |
rev | line source |
---|---|
490
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 --- configure.ac |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 +++ configure.ac |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 @@ -99,7 +99,7 @@ AC_CHECK_LIB(expat,XML_ParserCreate,[EXPAT_LIBS="-lexpat"], |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 [AC_MSG_ERROR([Can't find expat library. Please install expat.])]) |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 AC_SUBST(EXPAT_LIBS) |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 -AC_CHECK_FUNCS(clearenv fdatasync) |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 +AC_CHECK_FUNCS(clearenv fdatasync getnetgrent) |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 if test "x$GCC" = "xyes"; then |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 LDFLAGS="-Wl,--as-needed $LDFLAGS" |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 --- src/polkitbackend/polkitbackendinteractiveauthority.c |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 +++ src/polkitbackend/polkitbackendinteractiveauthority.c |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 @@ -2228,6 +2228,7 @@ get_users_in_net_group (PolkitIdentity *group, |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 ret = NULL; |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 name = polkit_unix_netgroup_get_name (POLKIT_UNIX_NETGROUP (group)); |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 +#if defined HAVE_GETNETGRENT |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 #ifdef HAVE_SETNETGRENT_RETURN |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 if (setnetgrent (name) == 0) |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 { |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 @@ -2236,6 +2237,7 @@ get_users_in_net_group (PolkitIdentity *group, |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 } |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 #else |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 setnetgrent (name); |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 +#endif |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 #endif |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 for (;;) |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 @@ -2248,8 +2250,10 @@ get_users_in_net_group (PolkitIdentity *group, |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 PolkitIdentity *user; |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 GError *error = NULL; |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 +#if defined HAVE_GETNETGRENT |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 if (getnetgrent (&hostname, &username, &domainname) == 0) |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 break; |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 +#endif |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 /* Skip NULL entries since we never want to make everyone an admin |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 * Skip "-" entries which mean "no match ever" in netgroup land */ |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 @@ -2274,7 +2278,9 @@ get_users_in_net_group (PolkitIdentity *group, |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 ret = g_list_reverse (ret); |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 out: |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 +#if defined HAVE_GETNETGRENT |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 endnetgrent (); |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 +#endif |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 return ret; |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 } |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 --- src/polkitbackend/polkitbackendjsauthority.cpp |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 +++ src/polkitbackend/polkitbackendjsauthority.cpp |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 @@ -1499,6 +1499,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx, |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 JS::CallArgs args = JS::CallArgsFromVp (argc, vp); |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 +#if defined HAVE_GETNETGRENT |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 user = JS_EncodeString (cx, args[0].toString()); |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 netgroup = JS_EncodeString (cx, args[1].toString()); |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 @@ -1514,6 +1515,7 @@ js_polkit_user_is_in_netgroup (JSContext *cx, |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 JS_free (cx, user); |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 ret = true; |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 +#endif |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 args.rval ().setBoolean (is_in_netgroup); |
dbffca6c243e
security/polkit: initial import, closes #1578
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 |