pulse-server: add command access control

By default require that a client is authenticated and
has a manager to be allowed to run a command.

Specially:
 * AUTH requires nothing
 * SET_CLIENT_NAME and STAT only require authentication
This commit is contained in:
Barnabás Pőcze 2021-12-30 21:36:04 +01:00
parent 92abc7b7ad
commit 1c3e45a584
3 changed files with 22 additions and 5 deletions

View file

@ -4856,12 +4856,12 @@ const struct command commands[COMMAND_MAX] =
COMMAND(CREATE_RECORD_STREAM, do_create_record_stream),
COMMAND(DELETE_RECORD_STREAM, do_delete_stream),
COMMAND(EXIT, do_error_access),
COMMAND(AUTH, do_command_auth),
COMMAND(SET_CLIENT_NAME, do_set_client_name),
COMMAND(AUTH, do_command_auth, COMMAND_ACCESS_WITHOUT_AUTH | COMMAND_ACCESS_WITHOUT_MANAGER),
COMMAND(SET_CLIENT_NAME, do_set_client_name, COMMAND_ACCESS_WITHOUT_MANAGER),
COMMAND(LOOKUP_SINK, do_lookup),
COMMAND(LOOKUP_SOURCE, do_lookup),
COMMAND(DRAIN_PLAYBACK_STREAM, do_drain_stream),
COMMAND(STAT, do_stat),
COMMAND(STAT, do_stat, COMMAND_ACCESS_WITHOUT_MANAGER),
COMMAND(GET_PLAYBACK_LATENCY, do_get_playback_latency),
COMMAND(CREATE_UPLOAD_STREAM, do_create_upload_stream),
COMMAND(DELETE_UPLOAD_STREAM, do_delete_stream),