[gupnp] Fix critical on unset ACL
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gupnp] Fix critical on unset ACL
- Date: Sun, 4 May 2014 14:19:14 +0000 (UTC)
commit 0fa05ed081177619fb94d7a0c74b17d34915b88a
Author: Jens Georg <mail jensge org>
Date: Sun May 4 15:39:42 2014 +0200
Fix critical on unset ACL
Signed-off-by: Jens Georg <mail jensge org>
libgupnp/gupnp-context.c | 52 +++++++++++++++++++++++----------------------
1 files changed, 27 insertions(+), 25 deletions(-)
---
diff --git a/libgupnp/gupnp-context.c b/libgupnp/gupnp-context.c
index f8855d4..90c7b18 100644
--- a/libgupnp/gupnp-context.c
+++ b/libgupnp/gupnp-context.c
@@ -1396,34 +1396,36 @@ gupnp_acl_server_handler (SoupServer *server,
agent = soup_message_headers_get_one (msg->request_headers,
"User-Agent");
- if (gupnp_acl_can_sync (handler->context->priv->acl)) {
- if (!gupnp_acl_is_allowed (handler->context->priv->acl,
- device,
- handler->service,
- path,
- soup_client_context_get_host (client),
- agent)) {
- soup_message_set_status (msg, SOUP_STATUS_FORBIDDEN);
+ if (handler->context->priv->acl != NULL) {
+ if (gupnp_acl_can_sync (handler->context->priv->acl)) {
+ if (!gupnp_acl_is_allowed (handler->context->priv->acl,
+ device,
+ handler->service,
+ path,
+ soup_client_context_get_host (client),
+ agent)) {
+ soup_message_set_status (msg, SOUP_STATUS_FORBIDDEN);
+
+ return;
+ }
+ } else {
+ AclAsyncHandler *data;
+
+ data = acl_async_handler_new (server, msg, path, query, client, handler);
+
+ soup_server_pause_message (server, msg);
+ gupnp_acl_is_allowed_async (handler->context->priv->acl,
+ device,
+ handler->service,
+ path,
+ soup_client_context_get_host (client),
+ agent,
+ NULL,
+ (GAsyncReadyCallback) gupnp_acl_async_callback,
+ data);
return;
}
- } else {
- AclAsyncHandler *data;
-
- data = acl_async_handler_new (server, msg, path, query, client, handler);
-
- soup_server_pause_message (server, msg);
- gupnp_acl_is_allowed_async (handler->context->priv->acl,
- device,
- handler->service,
- path,
- soup_client_context_get_host (client),
- agent,
- NULL,
- (GAsyncReadyCallback) gupnp_acl_async_callback,
- data);
-
- return;
}
/* Delegate to orignal callback */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]