server_internal.h
- Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
+ Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 1997 - 2001 Pekka Riikonen
+ 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
SilcUInt32 packets_received; /* Received packets */
} SilcServerStatistics;
-/*
+/*
SILC Server Object.
*/
SilcUInt32 id_string_len;
SilcIdType id_type;
+ SilcUInt32 starttime;
bool standalone; /* TRUE if server is standalone, and
does not have connection to network. */
bool listenning; /* TRUE if server is listenning for
incoming connections. */
+ bool background;
SilcServerEntry id_entry; /* Server's own ID entry */
SilcServerEntry router; /* Pointer to the primary router */
unsigned long router_connect; /* Time when router was connected */
/* Configuration object */
SilcServerConfig config;
+ SilcServerConfigRef config_ref;
+ char *config_file;
/* Random pool */
SilcRng rng;
} \
} while(0)
+#define SILC_UMODE_STATS_UPDATE(oper, mod) \
+do { \
+ if (client->mode & (mod)) { \
+ if (!(mode & (mod))) { \
+ if (client->connection) \
+ server->stat.my_ ## oper ## _ops--; \
+ if (server->server_type == SILC_ROUTER) \
+ server->stat. oper ## _ops--; \
+ } \
+ } else { \
+ if (mode & (mod)) { \
+ if (client->connection) \
+ server->stat.my_ ## oper ## _ops++; \
+ if (server->server_type == SILC_ROUTER) \
+ server->stat. oper ## _ops++; \
+ } \
+ } \
+} while(0)
+
#define SILC_GET_SKE_FLAGS(x, p) \
if ((x)) { \
if ((x)->param && (x)->param->key_exchange_pfs) \
(p)->flags |= SILC_SKE_SP_FLAG_PFS; \
- if (!(x)->publickey) \
+ if (!(x)->publickeys) \
(p)->flags |= SILC_SKE_SP_FLAG_MUTUAL; \
}