37#define PQS_ADMIN_ARGUMENT_MAX 128U
42#define PQS_ADMIN_OUTPUT_MAX 2048U
47#define PQS_ADMIN_POLICY_PREFIX "admin."
#define PQS_ADMIN_ARGUMENT_MAX
The maximum administrative command argument buffer size.
Definition pqsadmin.h:37
PQS_EXPORT_API const char * pqs_admin_policy_verb(pqs_admin_command_ids command)
Return the policy verb associated with a typed administrative command.
Definition pqsadmin.c:463
PQS_EXPORT_API bool pqs_admin_request_parse(pqs_admin_request *request, const char *command)
Parse a bounded administrative request string.
Definition pqsadmin.c:348
pqs_admin_command_ids
Stable PQS typed administrative command identifiers.
Definition pqsadmin.h:53
@ pqs_admin_command_config_summary
Definition pqsadmin.h:60
@ pqs_admin_command_none
Definition pqsadmin.h:54
@ pqs_admin_command_sandbox_status
Definition pqsadmin.h:58
@ pqs_admin_command_server_status
Definition pqsadmin.h:55
@ pqs_admin_command_policy_list
Definition pqsadmin.h:62
@ pqs_admin_command_server_version
Definition pqsadmin.h:56
@ pqs_admin_command_server_fingerprint
Definition pqsadmin.h:57
@ pqs_admin_command_shell_list
Definition pqsadmin.h:63
@ pqs_admin_command_user_list
Definition pqsadmin.h:61
@ pqs_admin_command_audit_verify
Definition pqsadmin.h:59
PQS_EXPORT_API const char * pqs_admin_command_to_string(pqs_admin_command_ids command)
Return the stable command name for a typed administrative command.
Definition pqsadmin.c:421
PQS_EXPORT_API bool pqs_admin_authorize(const pqs_admin_context *context, const pqs_admin_request *request)
Authorize a typed administrative command against privilege and policy.
Definition pqsadmin.c:284
PQS_EXPORT_API bool pqs_admin_execute(const pqs_admin_context *context, const pqs_admin_request *request, char *output, size_t outlen)
Execute a typed administrative command into a bounded response buffer.
Definition pqsadmin.c:301
PQS client and server configuration file support.
PQS host-key fingerprint and known-hosts helper functions.
The PQS structured logging functions.
PQS server-side command policy database functions.
PQS command execution sandbox configuration helpers.
PQS server-side shell profile database functions.
PQS server-side user database and passphrase verifier functions.
The server-side context made available to a typed administrative command.
Definition pqsadmin.h:79
bool logger_failed
Definition pqsadmin.h:90
const pqs_shell_store * shells
Definition pqsadmin.h:86
bool authenticated
Definition pqsadmin.h:83
const pqs_server_config * config
Definition pqsadmin.h:84
const pqs_user_store * users
Definition pqsadmin.h:85
const pqs_sandbox_profile * sandbox
Definition pqsadmin.h:88
const char * user
Definition pqsadmin.h:80
const char * peer
Definition pqsadmin.h:81
pqs_user_privileges privilege
Definition pqsadmin.h:82
const qsms_client_verification_key * public_key
Definition pqsadmin.h:89
const pqs_policy_store * policies
Definition pqsadmin.h:87
A parsed PQS administrative command request.
Definition pqsadmin.h:70
char arguments[PQS_ADMIN_ARGUMENT_MAX]
Definition pqsadmin.h:72
pqs_admin_command_ids command
Definition pqsadmin.h:71
The fixed-size PQS command policy database.
Definition pqspolicy.h:111
The PQS command execution sandbox profile.
Definition pqssandbox.h:96
The PQS server configuration state.
Definition pqsconfig.h:97
The fixed-size PQS server shell profile database.
Definition pqsshell.h:104
The fixed-size PQS server user database.
Definition pqsuser.h:92