#include "ircd_defs.h"
#include "channel.h"
-#include "res.h"
+#include "dns.h"
#include "snomask.h"
#include "match.h"
#include "ircd.h"
struct LocalUser;
struct AuthRequest;
struct PreClient;
-struct ListClient;
struct scache_entry;
/*
char *opername; /* name of operator{} block being used or tried (challenge) */
char *challenge;
char *fullcaps;
+ char *cipher_string;
int caps; /* capabilities bit-field */
rb_fde_t *F; /* >= 0, for local clients */
/* 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;
/* clients allowed to talk through +g */
rb_dlink_list allow_list;
time_t ratelimit;
unsigned int join_who_credits;
- struct ListClient *safelist_data;
-
char *mangledhost; /* non-NULL if host mangling module loaded and
applicable to this client */
struct _ssl_ctl *ssl_ctl; /* which ssl daemon we're associate with */
struct _ssl_ctl *z_ctl; /* second ctl for ssl+zlib */
+ uint32_t zconnid;
uint32_t localflags;
struct ZipStats *zipstats; /* zipstats */
uint16_t cork_count; /* used for corking/uncorking connections */
struct rb_sockaddr_storage lip; /* address of our side of the connection */
};
-struct ListClient
-{
- unsigned int hash_indice;
- unsigned int users_min, users_max;
- time_t created_min, created_max, topic_min, topic_max;
- int operspy;
-};
-
/*
* status macros.
*/
/* 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
#define CLICAP_AWAY_NOTIFY 0x0010
#define CLICAP_TLS 0x0020
#define CLICAP_USERHOST_IN_NAMES 0x0040
+#define CLICAP_CAP_NOTIFY 0x0080
+#define CLICAP_CHGHOST 0x0100
/*
* flags macros.
#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
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 *);