X-Git-Url: http://git.openwrt.org/?a=blobdiff_plain;ds=sidebyside;f=session.c;h=b43e7638fff193bbe499da802a235977cfcd51f1;hb=7434b2bf6cdb1ad1a6e955a254dfbf68e74df742;hp=9f42226c4d178f37505105fd7e3d3ab6a3fd43ed;hpb=c6e81f4b690253442bce66a213fb44e998585cb4;p=project%2Frpcd.git diff --git a/session.c b/session.c index 9f42226..b43e763 100644 --- a/session.c +++ b/session.c @@ -142,6 +142,7 @@ rpc_session_dump_acls(struct rpc_session *ses, struct blob_buf *b) { if (c) blobmsg_close_table(b, c); c = blobmsg_open_table(b, acl_scope->avl.key); + lastobj = NULL; } d = NULL; @@ -708,3 +709,14 @@ int rpc_session_api_init(struct ubus_context *ctx) return ubus_add_object(ctx, &obj); } + +bool rpc_session_access(const char *sid, const char *scope, + const char *object, const char *function) +{ + struct rpc_session *ses = rpc_session_get(sid); + + if (!ses) + return false; + + return rpc_session_acl_allowed(ses, scope, object, function); +}