]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - include/s_conf.h
Minor umode help file cleanups.
[irc/rqf/shadowircd.git] / include / s_conf.h
index a5ff0800f968dc2f6bf131cc2fbfcb55afb122f1..31b9a74feaf12f2ac31ca0de3bcd44b135490e88 100644 (file)
@@ -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;
 };
@@ -328,6 +330,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 +349,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 +372,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 *);