file: extend exec acl checks to commands with arguments
authorJo-Philipp Wich <jo@mein.io>
Tue, 10 Dec 2019 15:49:55 +0000 (16:49 +0100)
committerJo-Philipp Wich <jo@mein.io>
Wed, 11 Dec 2019 08:13:05 +0000 (09:13 +0100)
commitaaa08366e6384d9933a405d1218b03c1b167f9e5
treef347d01e181d45ce28adb2291ba90fb9c2ef8297
parent77ad0de09247b9bdce50f4cecf3e5beb5636f57f
file: extend exec acl checks to commands with arguments

When the initial exec permission check on the executable path fails,
concatenate the command line with spaces and use the resulting string
as lookup path for a second exec permission check.

This allows for exec acls similar to this example:

    "file": {
        "/usr/bin/program --flag --option=1 arg *": [ "exec" ]
    }

The example above would allow executing `/usr/bin/program` with the
arguments `--flag`, `--option=1` and `arg` in exactly this order,
followed by any number of optional arguments as denoted by the
asterisk.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
file.c