Added match-all pattern for ACLs

master
Nicolas Favre-Felix 14 years ago
parent 8a78211197
commit 911fcaed79

@ -98,7 +98,7 @@ Examples:
"enabled": ["SET", "DEL"] "enabled": ["SET", "DEL"]
} }
</pre> </pre>
ACLs are interpreted in order, later authorizations superseding earlier ones if a client matches several. ACLs are interpreted in order, later authorizations superseding earlier ones if a client matches several. The special value "*" matches all commands.
# JSON output # JSON output
JSON is the default output format. Each command returns a JSON object with the command as a key and the result as a value. JSON is the default output format. Each command returns a JSON object with the command as a key and the result as a value.

@ -67,6 +67,9 @@ acl_allow_command(struct cmd *cmd, struct conf *cfg, struct evhttp_request *rq)
if(strncasecmp(a->enabled.commands[i], cmd_name, cmd_len) == 0) { if(strncasecmp(a->enabled.commands[i], cmd_name, cmd_len) == 0) {
authorized = 1; authorized = 1;
} }
if(strncasecmp(a->enabled.commands[i], "*", 1) == 0) {
authorized = 1;
}
} }
/* go through unauthorized commands */ /* go through unauthorized commands */
@ -74,6 +77,9 @@ acl_allow_command(struct cmd *cmd, struct conf *cfg, struct evhttp_request *rq)
if(strncasecmp(a->disabled.commands[i], cmd_name, cmd_len) == 0) { if(strncasecmp(a->disabled.commands[i], cmd_name, cmd_len) == 0) {
authorized = 0; authorized = 0;
} }
if(strncasecmp(a->disabled.commands[i], "*", 1) == 0) {
authorized = 0;
}
} }
} }

Loading…
Cancel
Save