summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Henningsson <david.henningsson@canonical.com>2014-07-04 14:48:30 +0200
committerDavid Henningsson <david.henningsson@canonical.com>2014-07-04 14:52:46 +0200
commit2bfedb9f7340ae49e6d83aa2b0fb0529e1a1a462 (patch)
treed4928bd6d08d55ce86095643083da81f0ff2980f
parent3be8382fcdfdebeb3bf154631e94b3ccd5ca4576 (diff)
creds: Unbreak build without HAVE_CREDS
A recent patch broke the build on FreeBSD, which does not have HAVE_CREDS defined. Also, make sure any attempts to enable the srbchannel on such architectures fail. BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=80642 Reported-by: Ryan Lortie Signed-off-by: David Henningsson <david.henningsson@canonical.com>
-rw-r--r--src/pulse/context.c7
-rw-r--r--src/pulsecore/pdispatch.c4
-rw-r--r--src/pulsecore/pstream-util.c10
3 files changed, 21 insertions, 0 deletions
diff --git a/src/pulse/context.c b/src/pulse/context.c
index 45ed344cf..db89b58e5 100644
--- a/src/pulse/context.c
+++ b/src/pulse/context.c
@@ -1411,6 +1411,8 @@ finish:
static void pa_command_enable_srbchannel(pa_pdispatch *pd, uint32_t command, uint32_t tag, pa_tagstruct *t, void *userdata) {
pa_context *c = userdata;
+
+#ifdef HAVE_CREDS
const int *fds;
int nfd;
@@ -1439,6 +1441,11 @@ static void pa_command_enable_srbchannel(pa_pdispatch *pd, uint32_t command, uin
c->srb_setup_tag = tag;
pa_context_unref(c);
+
+#else
+ pa_assert(c);
+ pa_context_fail(c, PA_ERR_PROTOCOL);
+#endif
}
static void pa_command_disable_srbchannel(pa_pdispatch *pd, uint32_t command, uint32_t tag, pa_tagstruct *t, void *userdata) {
diff --git a/src/pulsecore/pdispatch.c b/src/pulsecore/pdispatch.c
index bbf6de81a..fdb27c905 100644
--- a/src/pulsecore/pdispatch.c
+++ b/src/pulsecore/pdispatch.c
@@ -438,6 +438,8 @@ pa_pdispatch* pa_pdispatch_ref(pa_pdispatch *pd) {
return pd;
}
+#ifdef HAVE_CREDS
+
const pa_creds * pa_pdispatch_creds(pa_pdispatch *pd) {
pa_assert(pd);
pa_assert(PA_REFCNT_VALUE(pd) >= 1);
@@ -460,3 +462,5 @@ const int * pa_pdispatch_fds(pa_pdispatch *pd, int *nfd) {
*nfd = 0;
return NULL;
}
+
+#endif
diff --git a/src/pulsecore/pstream-util.c b/src/pulsecore/pstream-util.c
index ac256e226..a31c0c88a 100644
--- a/src/pulsecore/pstream-util.c
+++ b/src/pulsecore/pstream-util.c
@@ -42,6 +42,8 @@ static void pa_pstream_send_tagstruct_with_ancil(pa_pstream *p, pa_tagstruct *t,
pa_packet_unref(packet);
}
+#ifdef HAVE_CREDS
+
void pa_pstream_send_tagstruct_with_creds(pa_pstream *p, pa_tagstruct *t, const pa_creds *creds) {
if (creds) {
pa_ancil a;
@@ -69,6 +71,14 @@ void pa_pstream_send_tagstruct_with_fds(pa_pstream *p, pa_tagstruct *t, int nfd,
pa_pstream_send_tagstruct_with_ancil(p, t, NULL);
}
+#else
+
+void pa_pstream_send_tagstruct_with_creds(pa_pstream *p, pa_tagstruct *t, const pa_creds *creds) {
+ pa_pstream_send_tagstruct_with_ancil(p, t, NULL);
+}
+
+#endif
+
void pa_pstream_send_error(pa_pstream *p, uint32_t tag, uint32_t error) {
pa_tagstruct *t;