]> jfr.im git - solanum.git/blobdiff - include/s_conf.h
global masktrace doesn't need to be an operspy action
[solanum.git] / include / s_conf.h
index b31db9101bc266cba103e765b3a174b7e6c89d57..acc4f1b82c8dae93f17cffcc4c6ab0451ecd11f2 100644 (file)
@@ -65,6 +65,7 @@ struct ConfItem
        char *passwd;           /* doubles as kline reason *ugh* */
        char *spasswd;          /* Password to send. */
        char *user;             /* user part of user@host */
+       char *desc;             /* description */
        int port;
        time_t hold;            /* Hold action until this time (calendar time) */
        time_t created;         /* Creation time (for klines etc) */
@@ -72,6 +73,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
@@ -173,7 +175,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;
@@ -194,7 +195,6 @@ 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;
@@ -241,6 +241,7 @@ struct config_file_entry
        int max_ratelimit_tokens;
        int away_interval;
        int tls_ciphers_oper_only;
+       int oper_secure_only;
 
        char **hidden_caps;
 
@@ -257,6 +258,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
@@ -285,6 +295,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
@@ -301,7 +312,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;
@@ -338,7 +348,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
 {
@@ -357,8 +367,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);
@@ -372,7 +385,7 @@ extern int detach_conf(struct Client *);
 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 **, const char **, char **, int *, char **);
+                              char **, char **, const char **, char **, int *, char **, char **);
 extern char *get_user_ban_reason(struct ConfItem *aconf);
 extern void get_printable_kline(struct Client *, struct ConfItem *,
                                char **, char **, char **, char **);
@@ -397,7 +410,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);