X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fafb-hook.c;h=c1f93fabb92feb165b2ac27de44a0e70e693aad2;hb=c03c5d7acdfbb4fe50249679139dc5012b670fcd;hp=2e0255d0b8871d158e0c7eac9f2a5621049385a1;hpb=b529ded85a3e50a1aa6529e870b2e2f43e377ca2;p=src%2Fapp-framework-binder.git diff --git a/src/afb-hook.c b/src/afb-hook.c index 2e0255d0..c1f93fab 100644 --- a/src/afb-hook.c +++ b/src/afb-hook.c @@ -32,6 +32,7 @@ #include "afb-context.h" #include "afb-hook.h" #include "afb-session.h" +#include "afb-cred.h" #include "afb-xreq.h" #include "afb-ditf.h" #include "verbose.h" @@ -95,7 +96,17 @@ static void _hook_xreq_(const struct afb_xreq *xreq, const char *format, ...) static void hook_xreq_begin_default_cb(void * closure, const struct afb_xreq *xreq) { - _hook_xreq_(xreq, "BEGIN"); + if (!xreq->cred) + _hook_xreq_(xreq, "BEGIN"); + else + _hook_xreq_(xreq, "BEGIN uid=%d=%s gid=%d pid=%d label=%s id=%s", + (int)xreq->cred->uid, + xreq->cred->user, + (int)xreq->cred->gid, + (int)xreq->cred->pid, + xreq->cred->label?:"(null)", + xreq->cred->id?:"(null)" + ); } static void hook_xreq_end_default_cb(void * closure, const struct afb_xreq *xreq) @@ -554,6 +565,10 @@ static void hook_ditf_rootdir_open_locale_cb(void *closure, const struct afb_dit } } +static void hook_ditf_queue_job(void *closure, const struct afb_ditf *ditf, void (*callback)(int signum, void *arg), void *argument, void *group, int timeout, int result) +{ + _hook_ditf_(ditf, "queue_job(%p, %p, %p, %d) -> %d", callback, argument, group, timeout, result); +} static struct afb_hook_ditf_itf hook_ditf_default_itf = { .hook_ditf_event_broadcast_before = hook_ditf_event_broadcast_before_cb, @@ -565,6 +580,7 @@ static struct afb_hook_ditf_itf hook_ditf_default_itf = { .hook_ditf_event_make = hook_ditf_event_make_cb, .hook_ditf_rootdir_get_fd = hook_ditf_rootdir_get_fd_cb, .hook_ditf_rootdir_open_locale = hook_ditf_rootdir_open_locale_cb, + .hook_ditf_queue_job = hook_ditf_queue_job }; /****************************************************************************** @@ -637,7 +653,11 @@ int afb_hook_ditf_rootdir_open_locale(const struct afb_ditf *ditf, const char *f return result; } - +int afb_hook_ditf_queue_job(const struct afb_ditf *ditf, void (*callback)(int signum, void *arg), void *argument, void *group, int timeout, int result) +{ + _HOOK_DITF_(queue_job, ditf, callback, argument, group, timeout, result); + return result; +} /****************************************************************************** * section: