Author: Johnny Mnemonic <johnny@themnemonic.org>
- Copyright (C) 1997 - 2002 Johnny Mnemonic
+ Copyright (C) 1997 - 2002 Pekka Riikonen
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
struct SilcServerConfigPkcsStruct *next;
} SilcServerConfigPkcs;
-typedef struct SilcServerConfigServerInfoStruct {
- char *server_name;
+typedef struct SilcServerConfigServerInfoInterfaceStruct {
char *server_ip;
SilcUInt16 port;
+ struct SilcServerConfigServerInfoInterfaceStruct *next;
+} SilcServerConfigServerInfoInterface;
+
+typedef struct SilcServerConfigServerInfoStruct {
+ char *server_name;
+ SilcServerConfigServerInfoInterface *primary;
+ SilcServerConfigServerInfoInterface *secondary;
char *server_type; /* E.g. "Test Server" */
char *location; /* geographic location */
char *admin; /* admin full name */
/* Connection parameters */
typedef struct SilcServerConfigConnParams {
+ struct SilcServerConfigConnParams *next;
char *name;
+ char *version_protocol;
+ char *version_software;
+ char *version_software_vendor;
SilcUInt32 connections_max;
SilcUInt32 connections_max_per_host;
SilcUInt32 keepalive_secs;
SilcUInt32 reconnect_count;
SilcUInt32 reconnect_interval;
SilcUInt32 reconnect_interval_max;
- bool reconnect_keep_trying;
SilcUInt32 key_exchange_rekey;
- bool key_exchange_pfs;
- char *version_protocol;
- char *version_software;
- char *version_software_vendor;
- struct SilcServerConfigConnParams *next;
+ SilcUInt32 qos_rate_limit;
+ SilcUInt32 qos_bytes_limit;
+ SilcUInt32 qos_limit_sec;
+ SilcUInt32 qos_limit_usec;
+ unsigned int key_exchange_pfs : 1;
+ unsigned int reconnect_keep_trying : 1;
+ unsigned int anonymous : 1;
+ unsigned int qos : 1;
} SilcServerConfigConnParams;
/* Holds all client authentication data from config file */
SilcUInt32 key_exchange_timeout;
SilcUInt32 conn_auth_timeout;
SilcServerConfigConnParams param;
+ bool detach_disabled;
+ SilcUInt32 detach_timeout;
+ bool logging_timestamp;
bool logging_quick;
long logging_flushdelay;
silc_server_config_find_server_conn(SilcServer server, char *host);
SilcServerConfigRouter *
silc_server_config_find_router_conn(SilcServer server, char *host, int port);
+SilcServerConfigRouter *
+silc_server_config_find_backup_conn(SilcServer server, char *host);
bool silc_server_config_is_primary_route(SilcServer server);
SilcServerConfigRouter *
silc_server_config_get_primary_router(SilcServer server);
+SilcServerConfigRouter *
+silc_server_config_get_backup_router(SilcServer server);
#endif /* !SERVERCONFIG_H */