]> jfr.im git - solanum.git/blobdiff - include/s_conf.h
switch sasl_usercloak.c to use SNO_BANNED
[solanum.git] / include / s_conf.h
index f7681ce5c50d886f0a2c86a192f7347847432d5d..b8bb1404996ceb05a72d295c593b0c49c188ef50 100644 (file)
@@ -72,6 +72,7 @@ struct ConfItem
        char *className;        /* Name of class */
        struct Class *c_class;  /* Class of connection */
        rb_patricia_node_t *pnode;      /* Our patricia node */
+       int umodes, umodes_mask;        /* Override umodes specified by mask */
 };
 
 #define CONF_ILLEGAL           0x80000000
@@ -140,6 +141,12 @@ struct ConfItem
 #define IsConfAllowSCTP(x)     ((x)->flags & CONF_FLAGS_ALLOW_SCTP)
 #define IsConfKlineSpoof(x)    ((x)->flags & CONF_FLAGS_KLINE_SPOOF)
 
+enum stats_l_oper_only {
+       STATS_L_OPER_ONLY_NO,
+       STATS_L_OPER_ONLY_SELF,
+       STATS_L_OPER_ONLY_YES,
+};
+
 /* flag definitions for opers now in client.h */
 
 struct config_file_entry
@@ -167,7 +174,6 @@ struct config_file_entry
        char *fname_operspylog;
        char *fname_ioerrorlog;
 
-       unsigned char compression_level;
        int disable_fake_channels;
        int dots_in_ident;
        int failed_oper_notice;
@@ -188,9 +194,9 @@ struct config_file_entry
        int stats_e_disabled;
        int stats_c_oper_only;
        int stats_y_oper_only;
-       int stats_h_oper_only;
        int stats_o_oper_only;
        int stats_k_oper_only;
+       enum stats_l_oper_only stats_l_oper_only;
        int stats_i_oper_only;
        int stats_P_oper_only;
        int map_oper_only;
@@ -234,6 +240,7 @@ struct config_file_entry
        int max_ratelimit_tokens;
        int away_interval;
        int tls_ciphers_oper_only;
+       int oper_secure_only;
 
        char **hidden_caps;
 
@@ -250,6 +257,15 @@ struct config_file_entry
        int hide_opers;
 
        char *drain_reason;
+       char *sasl_only_client_message;
+       char *identd_only_client_message;
+       char *sctp_forbidden_client_message;
+       char *ssltls_only_client_message;
+       char *not_authorised_client_message;
+       char *illegal_hostname_client_message;
+       char *server_full_client_message;
+       char *illegal_name_long_client_message;
+       char *illegal_name_short_client_message;
 };
 
 struct config_channel_entry
@@ -278,6 +294,7 @@ struct config_channel_entry
        int displayed_usercount;
        int strip_topic_colors;
        int opmod_send_statusmsg;
+       int ip_bans_through_vhost;
 };
 
 struct config_server_hide
@@ -294,7 +311,6 @@ struct server_info
        char sid[4];
        char *description;
        char *network_name;
-       int hub;
        struct rb_sockaddr_storage bind4;
        struct rb_sockaddr_storage bind6;
        int default_max_clients;
@@ -331,7 +347,7 @@ extern struct admin_info AdminInfo; /* defined in ircd.c */
 
 extern rb_dlink_list service_list;
 
-extern rb_dlink_list prop_bans;
+extern rb_dictionary *prop_bans_dict;
 
 typedef enum temp_list
 {
@@ -350,8 +366,11 @@ 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 *, time_t);
+extern struct ConfItem *find_prop_ban(unsigned int status, const char *user, const char *host);
+extern void add_prop_ban(struct ConfItem *);
+extern void remove_prop_ban(struct ConfItem *);
+extern bool lookup_prop_ban(struct ConfItem *);
+extern void deactivate_conf(struct ConfItem *, time_t);
 extern void replace_old_ban(struct ConfItem *);
 
 extern void read_conf_files(bool cold);
@@ -390,7 +409,7 @@ extern void conf_add_class(struct ConfItem *, int);
 extern void conf_add_d_conf(struct ConfItem *);
 extern void flush_expired_ips(void *);
 
-extern char *get_oper_name(struct Client *client_p);
+extern const char *get_oper_name(struct Client *client_p);
 
 extern int yylex(void);