summaryrefslogtreecommitdiffstats
path: root/polyp/protocol-native.c
diff options
context:
space:
mode:
Diffstat (limited to 'polyp/protocol-native.c')
-rw-r--r--polyp/protocol-native.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/polyp/protocol-native.c b/polyp/protocol-native.c
index 3056f7c4..2d26c2f5 100644
--- a/polyp/protocol-native.c
+++ b/polyp/protocol-native.c
@@ -674,14 +674,17 @@ static void command_auth(struct pa_pdispatch *pd, uint32_t command, uint32_t tag
protocol_error(c);
return;
}
+
+ if (!c->authorized) {
+ if (memcmp(c->protocol->auth_cookie, cookie, PA_NATIVE_COOKIE_LENGTH) != 0) {
+ pa_log(__FILE__": Denied access to client with invalid authorization key.\n");
+ pa_pstream_send_error(c->pstream, tag, PA_ERROR_ACCESS);
+ return;
+ }
- if (memcmp(c->protocol->auth_cookie, cookie, PA_NATIVE_COOKIE_LENGTH) != 0) {
- pa_log(__FILE__": Denied access to client with invalid authorization key.\n");
- pa_pstream_send_error(c->pstream, tag, PA_ERROR_ACCESS);
- return;
+ c->authorized = 1;
}
-
- c->authorized = 1;
+
pa_pstream_send_simple_ack(c->pstream, tag);
return;
}
@@ -1547,7 +1550,7 @@ static struct pa_protocol_native* protocol_new_internal(struct pa_core *c, struc
assert(c && ma);
if (pa_modargs_get_value_boolean(ma, "public", &public) < 0) {
- pa_log(__FILE__": public= expects numeric argument.\n");
+ pa_log(__FILE__": public= expects a boolean argument.\n");
return NULL;
}