PQS: Post Quantum Shell Protocol 1.1.0.0a (A2)
A quantum secure secure shell protocol
pqs_server_config Struct Reference

The PQS server configuration state. More...

#include <pqsconfig.h>

Data Fields

char application_path [QSC_SYSTEM_MAX_PATH]
char private_key_path [QSC_SYSTEM_MAX_PATH]
char public_key_path [QSC_SYSTEM_MAX_PATH]
char user_database_path [QSC_SYSTEM_MAX_PATH]
char shell_database_path [QSC_SYSTEM_MAX_PATH]
char policy_database_path [QSC_SYSTEM_MAX_PATH]
char log_path [QSC_SYSTEM_MAX_PATH]
char listen_address [QSC_IPINFO_IPV4_STRNLEN]
uint16_t listen_port
uint32_t max_sessions
uint32_t max_login_attempts
char sandbox_working_directory [QSC_SYSTEM_MAX_PATH]
char sandbox_run_as_user [PQS_USERNAME_MAX]
char sandbox_run_as_group [PQS_USERNAME_MAX]
uint32_t login_timeout_seconds
uint32_t idle_timeout_seconds
uint32_t command_timeout_seconds
uint32_t command_output_max_bytes
pqs_log_level log_level
bool sandbox_enabled
bool sandbox_clear_environment
bool sandbox_chroot_enabled
bool sandbox_allow_same_user

Detailed Description

The PQS server configuration state.

This structure contains the resolved server configuration used to initialize the PQS server application, including storage paths, network binding values, authentication limits, logging behavior, and command sandbox settings.

Field Documentation

◆ application_path

char application_path[QSC_SYSTEM_MAX_PATH]

The base PQS application storage directory

◆ command_output_max_bytes

uint32_t command_output_max_bytes

The maximum command-output byte count returned for one server-side command

◆ command_timeout_seconds

uint32_t command_timeout_seconds

The maximum execution time, in seconds, permitted for a server-side command

◆ idle_timeout_seconds

uint32_t idle_timeout_seconds

The maximum idle time, in seconds, permitted for an established session

◆ listen_address

char listen_address[QSC_IPINFO_IPV4_STRNLEN]

The IPv4 address used by the server listener

◆ listen_port

uint16_t listen_port

The TCP port used by the server listener

◆ log_level

pqs_log_level log_level

The configured server logging level

◆ log_path

char log_path[QSC_SYSTEM_MAX_PATH]

The path to the PQS server log file

◆ login_timeout_seconds

uint32_t login_timeout_seconds

The maximum time, in seconds, permitted for a login exchange

◆ max_login_attempts

uint32_t max_login_attempts

The maximum number of login attempts permitted before rejecting the session

◆ max_sessions

uint32_t max_sessions

The maximum number of authenticated server sessions permitted; PQS currently enforces one active session

◆ policy_database_path

char policy_database_path[QSC_SYSTEM_MAX_PATH]

The path to the PQS command policy database file

◆ private_key_path

char private_key_path[QSC_SYSTEM_MAX_PATH]

The path to the encoded PQS server private key file

◆ public_key_path

char public_key_path[QSC_SYSTEM_MAX_PATH]

The path to the encoded PQS server public key file

◆ sandbox_allow_same_user

bool sandbox_allow_same_user

A flag indicating whether POSIX same-user command execution is explicitly allowed

◆ sandbox_chroot_enabled

bool sandbox_chroot_enabled

A flag indicating whether POSIX chroot confinement is used

◆ sandbox_clear_environment

bool sandbox_clear_environment

A flag indicating whether the command execution environment is cleared

◆ sandbox_enabled

bool sandbox_enabled

A flag indicating whether command sandbox controls are enabled

◆ sandbox_run_as_group

char sandbox_run_as_group[PQS_USERNAME_MAX]

The POSIX group name used for command privilege drop

◆ sandbox_run_as_user

char sandbox_run_as_user[PQS_USERNAME_MAX]

The POSIX user name used for command privilege drop

◆ sandbox_working_directory

char sandbox_working_directory[QSC_SYSTEM_MAX_PATH]

The working directory used for sandboxed command execution

◆ shell_database_path

char shell_database_path[QSC_SYSTEM_MAX_PATH]

The path to the PQS shell profile database file

◆ user_database_path

char user_database_path[QSC_SYSTEM_MAX_PATH]

The path to the PQS user database file


The documentation for this struct was generated from the following file:
  • C:/Users/stepp/Documents/Visual Studio 2022/Projects/C/PQS/PQS/pqsconfig.h