X-Git-Url: http://git.archive.openwrt.org/?p=project%2Frpcd.git;a=blobdiff_plain;f=session.c;h=d970d45b139d2c3614bc9d8cd5917c1ce4b7e3e0;hp=9f42226c4d178f37505105fd7e3d3ab6a3fd43ed;hb=07c2f0a9b1c7f79e81fa8a51cca5ecbe9eaf7293;hpb=c6e81f4b690253442bce66a213fb44e998585cb4 diff --git a/session.c b/session.c index 9f42226..d970d45 100644 --- a/session.c +++ b/session.c @@ -1,5 +1,5 @@ /* - * luci-rpcd - LuCI UBUS RPC server + * rpcd - UBUS RPC server * * Copyright (C) 2013 Felix Fietkau * Copyright (C) 2013 Jo-Philipp Wich @@ -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); +}