X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/b5b4a0e79baf1bcfa071994d6815d72b9fab2eed..b47f8a4fda31315010464212717fc8be226ba7dc:/include/client.h diff --git a/include/client.h b/include/client.h index f1a239c6..0261c775 100644 --- a/include/client.h +++ b/include/client.h @@ -36,7 +36,7 @@ #include "ircd_defs.h" #include "channel.h" -#include "res.h" +#include "dns.h" #include "snomask.h" #include "match.h" #include "ircd.h" @@ -117,7 +117,8 @@ struct Client struct Client *servptr; /* Points to server this Client is on */ struct Client *from; /* == self, if Local Client, *NEVER* NULL! */ - struct Whowas *whowas; /* Pointers to whowas structs */ + rb_dlink_list whowas_clist; + time_t tsinfo; /* TS on the nick, SVINFO on server */ unsigned int umodes; /* opers, normal users subset */ unsigned int flags; /* client flags */ @@ -236,8 +237,6 @@ struct LocalUser /* time challenge response is valid for */ time_t chal_time; - struct DNSQuery *dnsquery; /* for outgoing server's name lookup */ - time_t next_away; /* Don't allow next away before... */ time_t last; uint32_t connid; @@ -306,7 +305,7 @@ struct PreClient struct ListClient { - unsigned int hash_indice; + char *chname; unsigned int users_min, users_max; time_t created_min, created_max, topic_min, topic_max; int operspy; @@ -433,6 +432,7 @@ struct ListClient /* overflow flags */ /* EARLIER FLAGS ARE IN s_newconf.h */ +#define FLAGS2_EXTENDCHANS 0x00200000 #define FLAGS2_EXEMPTRESV 0x00400000 #define FLAGS2_EXEMPTKLINE 0x00800000 #define FLAGS2_EXEMPTFLOOD 0x01000000 @@ -549,6 +549,8 @@ struct ListClient #define SetExemptResv(x) ((x)->flags2 |= FLAGS2_EXEMPTRESV) #define IsIPSpoof(x) ((x)->flags2 & FLAGS2_IP_SPOOFING) #define SetIPSpoof(x) ((x)->flags2 |= FLAGS2_IP_SPOOFING) +#define IsExtendChans(x) ((x)->flags2 & FLAGS2_EXTENDCHANS) +#define SetExtendChans(x) ((x)->flags2 |= FLAGS2_EXTENDCHANS) /* for local users: flood grace period is over * for servers: mentioned in networknotice.c notice @@ -592,6 +594,8 @@ extern void error_exit_client(struct Client *, int); extern void count_local_client_memory(size_t * count, size_t * memory); extern void count_remote_client_memory(size_t * count, size_t * memory); +extern int clean_nick(const char *, int loc_client); + extern struct Client *find_chasing(struct Client *, const char *, int *); extern struct Client *find_person(const char *); extern struct Client *find_named_person(const char *);