X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/a0f4c418d39ab72d88e1430500082b7d6bb68073..36fb4e9a7743326d1a2ca7601bc9bf1c5b9a0bcb:/include/s_conf.h?ds=sidebyside diff --git a/include/s_conf.h b/include/s_conf.h index a5ff080..d9e3b1f 100644 --- a/include/s_conf.h +++ b/include/s_conf.h @@ -56,7 +56,6 @@ 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 */ @@ -74,6 +73,7 @@ struct ConfItem int port; time_t hold; /* Hold action until this time (calendar time) */ time_t created; /* Creation time (for klines etc) */ + time_t lifetime; /* Propagated lines: remember until this time */ char *className; /* Name of class */ struct Class *c_class; /* Class of connection */ rb_patricia_node_t *pnode; /* Our patricia node */ @@ -97,6 +97,7 @@ struct ConfItem /* Generic flags... */ #define CONF_FLAGS_TEMPORARY 0x00800000 #define CONF_FLAGS_NEED_SSL 0x00000002 +#define CONF_FLAGS_MYOPER 0x00080000 /* need to rewrite info.oper on burst */ /* auth{} flags... */ #define CONF_FLAGS_NO_TILDE 0x00000004 #define CONF_FLAGS_NEED_IDENTD 0x00000008 @@ -228,6 +229,7 @@ struct config_file_entry int default_umodes; int global_snotices; int operspy_dont_care_user_info; + int use_propagated_bans; int secret_channels_in_whois; int expire_override_time; }; @@ -284,6 +286,8 @@ struct server_info char *description; char *network_name; char *network_desc; + char *helpchan; + char *helpurl; int hub; struct sockaddr_in ip; int default_max_clients; @@ -328,6 +332,8 @@ extern struct admin_info AdminInfo; /* defined in ircd.c */ extern rb_dlink_list service_list; +extern rb_dlink_list prop_bans; + typedef enum temp_list { TEMP_MIN, @@ -345,6 +351,10 @@ extern void init_s_conf(void); extern struct ConfItem *make_conf(void); extern void free_conf(struct ConfItem *); +extern rb_dlink_node *find_prop_ban(unsigned int status, const char *user, const char *host); +extern void deactivate_conf(struct ConfItem *, rb_dlink_node *); +extern void replace_old_ban(struct ConfItem *); + extern void read_conf_files(int cold); extern int attach_conf(struct Client *, struct ConfItem *); @@ -364,6 +374,7 @@ extern void yyerror(const char *); extern int conf_yy_fatal_error(const char *); extern int conf_fgets(char *, int, FILE *); +extern int valid_wild_card(const char *, const char *); extern void add_temp_kline(struct ConfItem *); extern void add_temp_dline(struct ConfItem *); extern void report_temp_klines(struct Client *);