Add Serialized SSH Administrative Console

This commit is contained in:
2026-08-30 18:07:02 +02:00
parent 44e3962444
commit 0a1bbd6782
17 changed files with 1115 additions and 79 deletions
+12
View File
@@ -27,6 +27,12 @@ typedef enum {
SSH_TRANSPORT_SESSION_CLOSING,
} ssh_transport_session_state_t;
typedef enum {
SSH_TRANSPORT_ROUTE_NONE = 0,
SSH_TRANSPORT_ROUTE_BROKER,
SSH_TRANSPORT_ROUTE_ADMIN_CONSOLE,
} ssh_transport_session_route_t;
typedef struct {
uint64_t starts;
uint64_t start_failures;
@@ -52,6 +58,9 @@ typedef struct {
uint64_t tx_bytes;
uint64_t io_failures;
uint64_t session_revocations;
uint64_t admin_console_admissions;
uint64_t admin_console_admission_failures;
uint64_t admin_console_input_rejections;
} ssh_transport_counters_t;
typedef struct {
@@ -62,11 +71,14 @@ typedef struct {
bool close_requested;
bool rx_pending;
bool tx_pending;
bool admin_command_pending;
uint32_t admin_output_pending;
uint32_t session_id;
uint32_t generation;
int socket_fd;
session_broker_client_id_t broker_client_id;
ssh_transport_session_state_t state;
ssh_transport_session_route_t route;
user_role_t user_role;
user_auth_method_t auth_method;
char username[USER_DATABASE_USERNAME_CAPACITY + 1U];