session: expose rpc_session_access() function for testing session ACLs in other rpcd...
[project/rpcd.git] / session.c
index 35324bfd6c668dd8743d2ac3d63b9e7073333ec5..b43e7638fff193bbe499da802a235977cfcd51f1 100644 (file)
--- a/session.c
+++ b/session.c
@@ -709,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);
+}