summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2013-09-12 12:13:05 +0200
committerJo-Philipp Wich <jow@openwrt.org>2013-09-12 12:13:05 +0200
commitb76addec87c94faac688469f48f843c47bf1a8de (patch)
tree619345ee9186f90b63605c5ee38ced73c1b3027d
parent4c9f178ad6e542495bb1c9d4478b465bd878677f (diff)
downloadrpcd-b76addec87c94faac688469f48f843c47bf1a8de.tar.gz
session: restore ACL dumping for session get and session list calls
-rw-r--r--session.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/session.c b/session.c
index 1e7dc1d..dad7bf1 100644
--- a/session.c
+++ b/session.c
@@ -203,7 +203,7 @@ rpc_session_dump_acls(struct rpc_session *ses, struct blob_buf *b)
}
static void
-rpc_session_to_blob(struct rpc_session *ses)
+rpc_session_to_blob(struct rpc_session *ses, bool acls)
{
void *c;
@@ -213,6 +213,12 @@ rpc_session_to_blob(struct rpc_session *ses)
blobmsg_add_u32(&buf, "timeout", ses->timeout);
blobmsg_add_u32(&buf, "expires", uloop_timeout_remaining(&ses->t) / 1000);
+ if (acls) {
+ c = blobmsg_open_table(&buf, "acls");
+ rpc_session_dump_acls(ses, &buf);
+ blobmsg_close_table(&buf, c);
+ }
+
c = blobmsg_open_table(&buf, "data");
rpc_session_dump_data(ses, &buf);
blobmsg_close_table(&buf, c);
@@ -222,7 +228,7 @@ static void
rpc_session_dump(struct rpc_session *ses, struct ubus_context *ctx,
struct ubus_request_data *req)
{
- rpc_session_to_blob(ses);
+ rpc_session_to_blob(ses, true);
ubus_send_reply(ctx, req, buf.head);
}
@@ -1296,7 +1302,7 @@ void rpc_session_freeze(void)
continue;
snprintf(path, sizeof(path) - 1, RPC_SESSION_DIRECTORY "/%s", ses->id);
- rpc_session_to_blob(ses);
+ rpc_session_to_blob(ses, false);
rpc_blob_to_file(path, buf.head);
}
}