UDIF: Universal Digital Identification Framework 1.1.0.0a (A1)
A quantum-secure cryptographic identification
udif_server_application_state Struct Reference

The UDIF server state. More...

#include <server.h>

Data Fields

char cmdprompt [UDIF_STORAGE_PROMPT_MAX]
char domain [UDIF_STORAGE_DOMAINNAME_MAX]
char hostname [UDIF_STORAGE_HOSTNAME_MAX]
char issuer [UDIF_CERTIFICATE_ISSUER_SIZE]
char localip [UDIF_STORAGE_ADDRESS_MAX]
char logpath [UDIF_STORAGE_PATH_MAX]
char username [UDIF_STORAGE_USERNAME_MAX]
uint8_t * kchain
uint8_t * sigkey
const char * aplpath
const char * banner
const char * cfgname
const char * prikeyname
const char * promptdef
const char * pubkeyname
const char * srvname
const char * topname
const char * wtitle
udif_child_certificate ads
udif_root_certificate root
udif_topology_list_state tlist
udif_command_actions action
udif_console_modes mode
uint16_t port
udif_network_designations srvtype
uint16_t timeout
uint8_t retries
bool joined
bool loghost
const char * certname
const char * keynamepri
const char * keynamepub
udif_certificate selfcert
udif_certificate parentcert
udif_certificate rootcert
udif_signature_keypair selfkeypair
qstp_root_certificate qstprootcert
qstp_server_signature_key qstpserverkey
qstp_root_signature_key qstprootkey
udif_mcel_managermcelmgr
udif_tunnel_table tunnels
uint64_t nextanchorsecs
udif_roles role
udif_server_loop_status cmdloopstatus
udif_server_loop_status srvloopstatus

Detailed Description

The UDIF server state.

Central application state shared by all UDIF entity types.

This structure holds all state information used by the UDIF server. It includes the command prompt, network domain and host names, certificate issuer, IP address, log path, username, key chain, signing key, file names and paths for various configuration files, certificate structures, topology list, current action, console mode, network port, server type designation, timeout value, number of retries, and flags indicating whether the server has joined a network or is logging host activity.

Allocated on the stack inside each server's start_server() function and passed by pointer to all support functions. Never heap-allocated.

Field groups: Console strings — cmdprompt, hostname, domain, localip, logpath, username Resource pointers — banner, srvname, wtitle, promptdef, aplpath, cfgname, certname, keynamepub, keynamepri (all static, never freed) UDIF identity — selfcert, parentcert, rootcert, selfkeypair QSTP transport — qstprootcert, qstpserverkey (NULL for UA) MCEL ledger — mcelmgr (NULL for UA) Tunnel table — tunnels (shared with entity layer) Anchor cadence — nextanchorsecs Console state — action, mode, role Loop status — cmdloopstatus, srvloopstatus Configuration scalars — port, timeout, retries, joined, loghost

Field Documentation

◆ action

The current command action.

Current parsed command action.

◆ ads

udif_child_certificate ads

The ADC (Device-Level Authority) certificate.

◆ aplpath

const char * aplpath

The application path.

Application subdirectory path (e.g. "\\Root").

◆ banner

const char * banner

The application banner text.

Multi-line startup banner text.

◆ certname

const char* certname

UDIF certificate file name (e.g. "udif-root.cert").

◆ cfgname

const char * cfgname

The configuration file name.

Config file name (e.g. "\\userconfig.rtcfg").

◆ cmdloopstatus

udif_server_loop_status cmdloopstatus

Command loop status.

◆ cmdprompt

char cmdprompt

The current command prompt string.

Current command prompt string.

◆ domain

char domain

The network domain name.

Network domain name.

◆ hostname

char hostname

The server hostname.

Server host name.

◆ issuer

The certificate issuer string.

◆ joined

bool joined

True if the server has joined the network.

True once enrolled with parent.

◆ kchain

uint8_t* kchain

Pointer to the key chain array.

◆ keynamepri

const char* keynamepri

UDIF private key file name (e.g. "udif-root.key").

◆ keynamepub

const char* keynamepub

QSTP server key file name (e.g. "qstp-server.key").

◆ localip

char localip

The server's local IP address.

Bound IPv4 address string.

◆ loghost

bool loghost

True if host logging is enabled.

True when activity logging is enabled.

◆ logpath

char logpath

The full path to the log file.

Full path to the activity log file.

◆ mcelmgr

Ledger manager; NULL for UA.

◆ mode

The current console mode.

Current console mode.

◆ nextanchorsecs

uint64_t nextanchorsecs

UTC epoch at which to push the next anchor.

◆ parentcert

udif_certificate parentcert

Parent entity's certificate (zeroed for Root).

◆ port

uint16_t port

The network port number.

Network listen port.

◆ prikeyname

const char* prikeyname

The private key file name.

◆ promptdef

const char * promptdef

The default prompt string.

Default prompt string (e.g. "Root> ").

◆ pubkeyname

const char* pubkeyname

The public key file name.

◆ qstprootcert

qstp_root_certificate qstprootcert

QSTP root certificate (loaded from file).

◆ qstprootkey

qstp_root_signature_key qstprootkey

QSTP root signing key (populated for Root role only).

◆ qstpserverkey

qstp_server_signature_key qstpserverkey

QSTP server signing key (populated for listeners).

◆ retries

uint8_t retries

The allowed number of password retries.

Max login retries.

◆ role

udif_roles role

Entity role (governs help and cert generation).

◆ root

udif_root_certificate root

The root certificate.

◆ rootcert

udif_certificate rootcert

Root certificate.

◆ selfcert

udif_certificate selfcert

This entity's UDIF certificate.

◆ selfkeypair

Long-term signing keypair.

◆ sigkey

uint8_t* sigkey

Pointer to the secret signing key.

◆ srvloopstatus

udif_server_loop_status srvloopstatus

Network service loop status.

◆ srvname

const char * srvname

The server name.

Short server name (e.g. "Root").

◆ srvtype

udif_network_designations srvtype

The server type designation.

◆ timeout

uint16_t timeout

The console timeout in minutes.

Console idle timeout in minutes.

◆ tlist

The topology list state.

◆ topname

const char* topname

The topology file name.

◆ tunnels

Active tunnel table.

◆ username

char username

The username used for login.

Operator user name (set on first run).

◆ wtitle

const char * wtitle

The window title.

Window title (e.g. "UDIF Root Authority v1.0").


The documentation for this struct was generated from the following files:
  • C:/Users/stepp/Documents/Visual Studio 2022/Projects/C/UDIF/Saved/server.h
  • C:/Users/stepp/Documents/Visual Studio 2022/Projects/C/UDIF/UDIF/server.h