diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2013-09-12 12:13:05 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2013-09-12 12:13:05 +0200 |
commit | b76addec87c94faac688469f48f843c47bf1a8de (patch) | |
tree | 619345ee9186f90b63605c5ee38ced73c1b3027d | |
parent | 4c9f178ad6e542495bb1c9d4478b465bd878677f (diff) | |
download | rpcd-b76addec87c94faac688469f48f843c47bf1a8de.tar.gz |
session: restore ACL dumping for session get and session list calls
-rw-r--r-- | session.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -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); } } |