X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/d0f04f713ca0b689f745842fcc9e61d24610f11a..35305a49c0973c0e29e4a607c2b507a2d8face43:/src/hash.h diff --git a/src/hash.h b/src/hash.h index 7e42a80..1cceb21 100644 --- a/src/hash.h +++ b/src/hash.h @@ -101,6 +101,7 @@ #define NICKLEN 30 #define USERLEN 10 #define HOSTLEN 63 +#define SOCKIPLEN 45 #define ACCOUNTLEN 15 #define REALLEN 50 #define TOPICLEN 250 @@ -127,6 +128,8 @@ struct userNode { char info[REALLEN + 1]; /* Free form additional client information */ char hostname[HOSTLEN + 1]; /* DNS name or IP address */ char fakehost[HOSTLEN + 1]; /* Assigned fake host */ + char crypthost[HOSTLEN + 30]; /* Crypted hostname */ + char cryptip[SOCKIPLEN + 30]; /* Crypted IP */ #ifdef WITH_PROTOCOL_P10 char numeric[COMBO_NUMERIC_LEN+1]; unsigned int num_local : 18; @@ -188,7 +191,7 @@ struct exemptNode { struct modeNode { struct chanNode *channel; struct userNode *user; - unsigned short modes; + long modes; short oplevel; time_t idle_since; }; @@ -216,6 +219,42 @@ struct server { struct serverList children; }; +struct waitingConnection { + char *server; + char *target; +}; + +struct routingPlan { + dict_t servers; +}; + +struct routingPlanServer { + char *uplink; + char *secondaryuplink; + unsigned int port; + int karma; + int offline; +}; + +/* Ported from X2 */ +struct routeList { + char* server; /* Name of the server */ + unsigned int port; /* connection port */ + char *uplink; /* Server its linked to (towards us) */ + char *secondaryuplink; + int outsideness; /* 0 means leaf, 1 second layer, etc. my uplink is highest */ + struct routeList *next; +}; + +/* Ported from X2 */ +struct route { + int count; /* how many servers we have */ + int maxdepth; /* biggest outsideness value */ + int centered; /* set to TRUE when changerouteUplinks is run */ + struct routeList *servers; +}; + + extern struct server *self; extern dict_t channels; extern dict_t clients;