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)
commitb0ad324eda9f5ba0405b4707aee229eefd1569a8
tree4018ec7708cf6923a9dc92961248283341a11853
parent6e49992585765c24b37103e201b979514c5fc58b
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>
Makefile
src/main.c