Electroneum
remote.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  rc_state
 
struct  daemon_remote
 
struct  remote_stream
 

Macros

#define REMOTE_CONTROL_TCP_TIMEOUT   120000
 

Typedefs

typedef struct remote_stream RES
 

Functions

struct daemon_remotedaemon_remote_create (struct config_file *cfg)
 
void daemon_remote_delete (struct daemon_remote *rc)
 
void daemon_remote_clear (struct daemon_remote *rc)
 
struct listen_portdaemon_remote_open_ports (struct config_file *cfg)
 
int daemon_remote_open_accept (struct daemon_remote *rc, struct listen_port *ports, struct worker *worker)
 
void daemon_remote_stop_accept (struct daemon_remote *rc)
 
void daemon_remote_start_accept (struct daemon_remote *rc)
 
void daemon_remote_exec (struct worker *worker)
 

Detailed Description

This file contains the remote control functionality for the daemon. The remote control can be performed using either the commandline unbound-control tool, or a SSLv3/TLS capable web browser. The channel is secured using SSLv3 or TLSv1, and certificates. Both the server and the client(control tool) have their own keys.

Definition in file remote.h.

Macro Definition Documentation

◆ REMOTE_CONTROL_TCP_TIMEOUT

#define REMOTE_CONTROL_TCP_TIMEOUT   120000

number of milliseconds timeout on incoming remote control handshake

Definition at line 60 of file remote.h.

Typedef Documentation

◆ RES

typedef struct remote_stream RES

Definition at line 119 of file remote.h.

Function Documentation

◆ daemon_remote_clear()

void daemon_remote_clear ( struct daemon_remote rc)

remote control state to clear up. Busy and accept points are closed. Does not delete the rc itself, or the ssl context (with its keys).

Parameters
rcstate to clear.

◆ daemon_remote_create()

struct daemon_remote* daemon_remote_create ( struct config_file cfg)

Create new remote control state for the daemon.

Parameters
cfgconfig file with key file settings.
Returns
new state, or NULL on failure.

◆ daemon_remote_delete()

void daemon_remote_delete ( struct daemon_remote rc)

remote control state to delete.

Parameters
rcstate to delete.

◆ daemon_remote_exec()

void daemon_remote_exec ( struct worker worker)

Handle nonthreaded remote cmd execution.

Parameters
workerthis worker (the remote worker).

◆ daemon_remote_open_accept()

int daemon_remote_open_accept ( struct daemon_remote rc,
struct listen_port ports,
struct worker worker 
)

Setup comm points for accepting remote control connections.

Parameters
rcstate
portsalready opened ports.
workerworker with communication base. and links to command channels.
Returns
false on error.

◆ daemon_remote_open_ports()

struct listen_port* daemon_remote_open_ports ( struct config_file cfg)

Open and create listening ports for remote control.

Parameters
cfgconfig options.
Returns
list of ports or NULL on failure. can be freed with listening_ports_free().

◆ daemon_remote_start_accept()

void daemon_remote_start_accept ( struct daemon_remote rc)

Stop accept handlers for TCP (until enabled again)

Parameters
rcstate

◆ daemon_remote_stop_accept()

void daemon_remote_stop_accept ( struct daemon_remote rc)

Stop accept handlers for TCP (until enabled again)

Parameters
rcstate