build-sys: make PolicyKit support compile-time optional (was runtime-optional already)

This commit is contained in:
Lennart Poettering
2013-02-13 23:08:25 +01:00
parent 5322bdd4cc
commit 46ba8aae2b
5 changed files with 36 additions and 2 deletions
+9 -1
View File
@@ -35,9 +35,10 @@ int verify_polkit(
bool *_challenge,
DBusError *error) {
#ifdef ENABLE_POLKIT
DBusMessage *m = NULL, *reply = NULL;
const char *unix_process = "unix-process", *pid = "pid", *starttime = "start-time", *cancel_id = "";
const char *sender;
uint32_t flags = interactive ? 1 : 0;
pid_t pid_raw;
uint32_t pid_u32;
@@ -46,6 +47,8 @@ int verify_polkit(
DBusMessageIter iter_msg, iter_struct, iter_array, iter_dict, iter_variant;
int r;
dbus_bool_t authorized = FALSE, challenge = FALSE;
#endif
const char *sender;
unsigned long ul;
assert(c);
@@ -63,6 +66,8 @@ int verify_polkit(
if (ul == 0)
return 1;
#ifdef ENABLE_POLKIT
pid_raw = bus_get_unix_process_id(c, sender, error);
if (pid_raw == 0)
return -EINVAL;
@@ -163,4 +168,7 @@ finish:
dbus_message_unref(reply);
return r;
#else
return -EPERM;
#endif
}
+12
View File
@@ -33,6 +33,7 @@
#include "util.h"
#include "spawn-polkit-agent.h"
#ifdef ENABLE_POLKIT
static pid_t agent_pid = 0;
int polkit_agent_open(void) {
@@ -84,3 +85,14 @@ void polkit_agent_close(void) {
wait_for_terminate(agent_pid, NULL);
agent_pid = 0;
}
#else
int polkit_agent_open(void) {
return 0;
}
void polkit_agent_close(void) {
}
#endif