X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fserver_internal.h;h=1d679b0b30a5bbeaa2c127a226614fe654ccaeba;hb=a93321c8c98c4a84f5b3aefbb4f013d8978ec9b8;hp=f2a141008bffa01ed3d0f5aed4f5d5995cf2dcb1;hpb=d56ab2d482dd7f21ceb3b18a1f4fe833bc0a9c3f;p=silc.git diff --git a/apps/silcd/server_internal.h b/apps/silcd/server_internal.h index f2a14100..1d679b0b 100644 --- a/apps/silcd/server_internal.h +++ b/apps/silcd/server_internal.h @@ -55,8 +55,8 @@ typedef struct { SilcUInt32 conn_failures; /* Connection failure */ SilcUInt32 auth_attempts; /* Authentication attempts */ SilcUInt32 auth_failures; /* Authentication failures */ - SilcUInt32 packets_sent; /* Sent packets */ - SilcUInt32 packets_received; /* Received packets */ + SilcUInt32 packets_sent; /* Sent SILC packets */ + SilcUInt32 packets_received; /* Received SILC packets */ } SilcServerStatistics; /* @@ -162,6 +162,11 @@ typedef struct { /* Return TRUE if a packet must be broadcasted (router broadcasts) */ #define SILC_BROADCAST(server) (server->server_type == SILC_ROUTER) +/* Return TRUE if entry is locally connected or local to us */ +#define SILC_IS_LOCAL(entry) \ + ((entry)->connection ? TRUE : \ + (entry)->data.status & SILC_IDLIST_STATUS_LOCAL ? TRUE : FALSE) + /* Registers generic task for file descriptor for reading from network and writing to network. As being generic task the actual task is allocated only once and after that the same task applies to all registered fd's. */ @@ -187,7 +192,7 @@ do { \ #define SILC_OPER_STATS_UPDATE(c, type, mod) \ do { \ if ((c)->mode & (mod)) { \ - if ((c)->connection) \ + if (SILC_IS_LOCAL((c))) \ server->stat.my_ ## type ## _ops--; \ if (server->server_type == SILC_ROUTER) \ server->stat. type ## _ops--; \ @@ -199,14 +204,14 @@ do { \ do { \ if (client->mode & (mod)) { \ if (!(mode & (mod))) { \ - if (client->connection) \ + if (SILC_IS_LOCAL(client)) \ server->stat.my_ ## oper ## _ops--; \ if (server->server_type == SILC_ROUTER) \ server->stat. oper ## _ops--; \ } \ } else { \ if (mode & (mod)) { \ - if (client->connection) \ + if (SILC_IS_LOCAL(client)) \ server->stat.my_ ## oper ## _ops++; \ if (server->server_type == SILC_ROUTER) \ server->stat. oper ## _ops++; \