cgi-io: use different acl scopes for path and command permissions
authorJo-Philipp Wich <jo@mein.io>
Fri, 13 Sep 2019 04:52:21 +0000 (06:52 +0200)
committerJohn Crispin <john@phrozen.org>
Fri, 13 Sep 2019 11:05:09 +0000 (13:05 +0200)
commitc8a86c8c8e1925eb7d84c52e702c4be5fc8ac76b
tree51ab5c66dceabb2eb5d52a0f2f779ec5e0db5004
parenta1057cea1fb895a732a6854f79d53a763c722ef7
cgi-io: use different acl scopes for path and command permissions

Use the `cgi-io` scope to check for permission to execute the requested
command (`upload`, `backup`) and the `file` scope to check path
permissions.

The reasoning of this change is that `cgi-io` is usually used in
conjunction with `rpcd-mod-file` to transfer large file data out
of band and `rpcd-mod-file` already uses the `file` scope to manage
file path access permissions. After this change, both `rpc-mod-file`
and `cgi-io` can share the same path acl rules.

Write access to a path can be granted by using an ubus call in the
following form:

    ubus call session grant '{
        "ubus_rpc_session": "...",
        "scope": "file",
        "objects": [
            [ "/var/lib/uploads/*", "write" ]
        ]
    }'

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
net/cgi-io/Makefile
net/cgi-io/src/main.c