X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/cda8e9b8db4e4c46b4270c915724b288924bc173..e6a489940b6b36203567a62b07d8df34301b0d0e:/include/s_conf.h diff --git a/include/s_conf.h b/include/s_conf.h index 846d2fe..5b91748 100644 --- a/include/s_conf.h +++ b/include/s_conf.h @@ -36,7 +36,6 @@ #include "class.h" #include "client.h" #include "common.h" -#include "patricia.h" struct Client; struct DNSReply; @@ -47,7 +46,7 @@ struct hostent; struct ip_value { - struct irc_sockaddr_storage ip; + struct rb_sockaddr_storage ip; int ip_mask; int type; }; @@ -55,26 +54,29 @@ struct ip_value extern FILE *conf_fbfile_in; extern char conf_line_in[256]; -struct ConfItem -{ - struct ConfItem *next; /* list node pointer */ - unsigned int status; /* If CONF_ILLEGAL, delete when no clients */ - unsigned int flags; - int clients; /* Number of *LOCAL* clients using this */ - char *name; /* IRC name, nick, server name, or original u@h */ - char *host; /* host part of user@host */ - char *passwd; /* doubles as kline reason *ugh* */ - char *spasswd; /* Password to send. */ - char *user; /* user part of user@host */ - int port; - time_t hold; /* Hold action until this time (calendar time) */ - char *className; /* Name of class */ - struct Class *c_class; /* Class of connection */ - patricia_node_t *pnode; /* Our patricia node */ +struct ConfItem +{ + unsigned int status; /* If CONF_ILLEGAL, delete when no clients */ + unsigned int flags; + int clients; /* Number of *LOCAL* clients using this */ + + union + { + char *name; /* IRC name, nick, server name, or original u@h */ + const char *oper; + } info; + + char *host; /* host part of user@host */ + char *passwd; /* doubles as kline reason *ugh* */ + char *spasswd; /* Password to send. */ + char *user; /* user part of user@host */ + int port; + time_t hold; /* Hold action until this time (calendar time) */ + struct Class *c_class; /* Class of connection */ + rb_patricia_node_t *pnode; }; #define CONF_ILLEGAL 0x80000000 -#define CONF_QUARANTINED_NICK 0x0001 #define CONF_CLIENT 0x0002 #define CONF_KILL 0x0040 #define CONF_XLINE 0x0080 @@ -82,10 +84,6 @@ struct ConfItem #define CONF_RESV_NICK 0x0200 #define CONF_RESV (CONF_RESV_CHANNEL | CONF_RESV_NICK) -#define CONF_CLASS 0x0400 -#define CONF_LISTEN_PORT 0x1000 -#define CONF_EXEMPTKLINE 0x4000 -#define CONF_NOLIMIT 0x8000 #define CONF_GLINE 0x10000 #define CONF_DLINE 0x20000 #define CONF_EXEMPTDLINE 0x100000 @@ -96,15 +94,10 @@ struct ConfItem /* Generic flags... */ /* access flags... */ -#define CONF_FLAGS_DO_IDENTD 0x00000001 -#define CONF_FLAGS_LIMIT_IP 0x00000002 #define CONF_FLAGS_NO_TILDE 0x00000004 #define CONF_FLAGS_NEED_IDENTD 0x00000008 -#define CONF_FLAGS_PASS_IDENTD 0x00000010 -#define CONF_FLAGS_NOMATCH_IP 0x00000020 #define CONF_FLAGS_EXEMPTKLINE 0x00000040 #define CONF_FLAGS_NOLIMIT 0x00000080 -#define CONF_FLAGS_IDLE_LINED 0x00000100 #define CONF_FLAGS_SPOOF_IP 0x00000200 #define CONF_FLAGS_SPOOF_NOTICE 0x00000400 #define CONF_FLAGS_REDIR 0x00000800 @@ -127,11 +120,8 @@ struct ConfItem /* Macros for struct ConfItem */ -#define IsLimitIp(x) ((x)->flags & CONF_FLAGS_LIMIT_IP) #define IsNoTilde(x) ((x)->flags & CONF_FLAGS_NO_TILDE) #define IsNeedIdentd(x) ((x)->flags & CONF_FLAGS_NEED_IDENTD) -#define IsPassIdentd(x) ((x)->flags & CONF_FLAGS_PASS_IDENTD) -#define IsNoMatchIp(x) ((x)->flags & CONF_FLAGS_NOMATCH_IP) #define IsConfExemptKline(x) ((x)->flags & CONF_FLAGS_EXEMPTKLINE) #define IsConfExemptLimits(x) ((x)->flags & CONF_FLAGS_NOLIMIT) #define IsConfExemptGline(x) ((x)->flags & CONF_FLAGS_EXEMPTGLINE) @@ -140,8 +130,6 @@ struct ConfItem #define IsConfExemptShide(x) ((x)->flags & CONF_FLAGS_EXEMPTSHIDE) #define IsConfExemptJupe(x) ((x)->flags & CONF_FLAGS_EXEMPTJUPE) #define IsConfExemptResv(x) ((x)->flags & CONF_FLAGS_EXEMPTRESV) -#define IsConfIdlelined(x) ((x)->flags & CONF_FLAGS_IDLE_LINED) -#define IsConfDoIdentd(x) ((x)->flags & CONF_FLAGS_DO_IDENTD) #define IsConfDoSpoofIp(x) ((x)->flags & CONF_FLAGS_SPOOF_IP) #define IsConfSpoofNotice(x) ((x)->flags & CONF_FLAGS_SPOOF_NOTICE) #define IsConfEncrypted(x) ((x)->flags & CONF_FLAGS_ENCRYPTED) @@ -186,7 +174,6 @@ struct config_file_entry unsigned char compression_level; int disable_fake_channels; - int dot_in_ip6_addr; int dots_in_ident; int failed_oper_notice; int anti_nick_flood; @@ -221,7 +208,6 @@ struct config_file_entry int gline_time; int gline_min_cidr; int gline_min_cidr6; - int idletime; int hide_server; int hide_spoof_ips; int hide_error_messages; @@ -276,7 +262,6 @@ struct config_server_hide { int flatten_links; int links_delay; - int links_disabled; int hidden; int disable_hidden; }; @@ -326,7 +311,7 @@ extern struct server_info ServerInfo; /* defined in ircd.c */ extern struct admin_info AdminInfo; /* defined in ircd.c */ /* End GLOBAL section */ -dlink_list service_list; +rb_dlink_list service_list; typedef enum temp_list { @@ -337,8 +322,8 @@ typedef enum temp_list LAST_TEMP_TYPE } temp_list; -dlink_list temp_klines[LAST_TEMP_TYPE]; -dlink_list temp_dlines[LAST_TEMP_TYPE]; +rb_dlink_list temp_klines[LAST_TEMP_TYPE]; +rb_dlink_list temp_dlines[LAST_TEMP_TYPE]; extern void init_s_conf(void); @@ -356,8 +341,8 @@ extern struct ConfItem *find_tkline(const char *, const char *, struct sockaddr extern char *show_iline_prefix(struct Client *, struct ConfItem *, char *); extern void get_printable_conf(struct ConfItem *, char **, char **, char **, char **, int *, char **); -extern void get_printable_kline(struct Client *, struct ConfItem *, - char **, char **, char **, char **); +void get_printable_kline(struct Client *, struct ConfItem *, + const char **, const char **, const char **, const char **); extern void yyerror(const char *); extern int conf_yy_fatal_error(const char *); @@ -377,7 +362,7 @@ extern void write_confitem(KlineType, struct Client *, char *, char *, extern void add_temp_kline(struct ConfItem *); extern void add_temp_dline(struct ConfItem *); extern void report_temp_klines(struct Client *); -extern void show_temp_klines(struct Client *, dlink_list *); +extern void show_temp_klines(struct Client *, rb_dlink_list *); extern const char *get_conf_name(KlineType); extern int rehash(int);