MPDC: Multi Party Domain Cryptosystem 1.0.0.0b (A0)
MPDC Interior protocol
dla.h File Reference

MPDC Domain List Agent (DLA) Server. More...

#include "common.h"

Go to the source code of this file.

Functions

MPDC_EXPORT_API void mpdc_dla_pause_server ()
 Pause the DLA server.
 
MPDC_EXPORT_API int32_t mpdc_dla_start_server ()
 Start the DLA server.
 
MPDC_EXPORT_API void mpdc_dla_stop_server ()
 Stop the DLA server.
 

Detailed Description

MPDC Domain List Agent (DLA) Server.

The Domain List Agent (DLA) is a central component of the Multi-Party Domain Cryptosystem (MPDC) responsible for managing the network's device list (topology), certificate distribution, and convergence. The DLA server acts as an intermediary between remote devices (such as agents, MAS, and clients) and the root certificate authority. It handles operations such as:

  • Processing registration requests from devices seeking to join the network.
  • Issuing incremental updates and convergence responses to synchronize device topology.
  • Broadcasting revocation and announcement messages to update the network state.

The DLA server is implemented as a dedicated network server that listens for incoming TCP connections (supporting both IPv4 and IPv6). It uses a console-based command loop to accept administrator commands for configuration, certificate management, and topology control. An idle timeout mechanism automatically logs out inactive sessions.

The implementation includes rigorous internal tests of its convergence, certificate verification, and topology update routines. These tests ensure that the DLA server reliably maintains an accurate network view and securely processes certificate-related transactions.

Note
The public API provided in this header comprises functions to start, pause, and stop the DLA server. Internal operations (such as certificate generation, topology convergence, and node queries) are encapsulated within the DLA server's implementation.

Function Documentation

◆ mpdc_dla_pause_server()

MPDC_EXPORT_API void mpdc_dla_pause_server ( )

Pause the DLA server.

Temporarily suspends the DLA server's processing of incoming network requests and command loop.

◆ mpdc_dla_start_server()

MPDC_EXPORT_API int32_t mpdc_dla_start_server ( )

Start the DLA server.

Initializes and starts the MPDC DLA server. This function configures the network listening socket, loads the local DLA certificate (importing the root certificate if necessary), initializes the topology database, and begins the interactive command loop.

Returns
Returns zero on success; a non-zero value indicates an error during initialization.

◆ mpdc_dla_stop_server()

MPDC_EXPORT_API void mpdc_dla_stop_server ( )

Stop the DLA server.

Terminates the DLA server by shutting down the network socket, stopping the command loop, and releasing all allocated resources.