daemon: log denied message only when an access is denied 78/49978/1 accepted/tizen/mobile/20151022.225914 accepted/tizen/tv/20151022.225924 accepted/tizen/wearable/20151022.225934 submit/tizen/20151022.073531
authorSuchang Woo <suchang.woo@samsung.com>
Thu, 22 Oct 2015 02:09:53 +0000 (11:09 +0900)
committerSuchang Woo <suchang.woo@samsung.com>
Thu, 22 Oct 2015 02:13:20 +0000 (11:13 +0900)
Change-Id: I01856e81e5fb552f509b412632eb9a0fef234459
Signed-off-by: Suchang Woo <suchang.woo@samsung.com>
daemon/cynara.c

index 64efd6a..83aa613 100644 (file)
@@ -20,6 +20,7 @@
 #include <stdlib.h>
 #include <assert.h>
 #include <errno.h>
+#include <string.h>
 
 #include <glib.h>
 #include <glib-unix.h>
 struct bxt_cyn_cb {
        cynara_check_id id;
 
+       char *label;
+       char *sess;
+       char *uid;
+       char *priv;
+
        struct bxt_client *cli;
        buxton_cynara_callback callback;
        void *user_data;
@@ -75,6 +81,11 @@ static void free_cb(gpointer data)
                                cyn_cb->user_data);
        }
 
+       free(cyn_cb->label);
+       free(cyn_cb->sess);
+       free(cyn_cb->uid);
+       free(cyn_cb->priv);
+
        free(cyn_cb);
        bxt_dbg("Cynara: free %p", cyn_cb);
 }
@@ -184,8 +195,13 @@ static void resp_cb(cynara_check_id id, cynara_async_call_cause cause,
        }
 
        if (res == BUXTON_CYNARA_DENIED) {
-               bxt_info("id %u denied%s", id,
+               bxt_info("'%s;%s;%s;%s' denied%s",
+                               cyn_cb->label ? cyn_cb->label : "",
+                               cyn_cb->sess ? cyn_cb->sess : "",
+                               cyn_cb->uid ? cyn_cb->uid : "",
+                               cyn_cb->priv ? cyn_cb->priv : "",
                                cynara_skip ? "(ignored)" : "");
+
                if (cynara_skip)
                        res = BUXTON_CYNARA_ALLOWED;
        }
@@ -227,12 +243,15 @@ static enum buxton_cynara_res check_server(struct bxt_client *client,
                return BUXTON_CYNARA_ERROR;
        }
 
-       bxt_info("'%s;%s;%s;%s' id %u", clabel, sess, uid, priv, cyn_cb->id);
-
        cyn_cb->cli = client;
        cyn_cb->callback = callback;
        cyn_cb->user_data = user_data;
 
+       cyn_cb->label = strdup(clabel);
+       cyn_cb->sess = strdup(sess);
+       cyn_cb->uid = strdup(uid);
+       cyn_cb->priv = strdup(priv);
+
        g_hash_table_insert(cynara_tbl, GUINT_TO_POINTER(cyn_cb->id), cyn_cb);
        bxt_dbg("Cynara: %p added", cyn_cb);