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
char *fname_operspylog;
char *fname_ioerrorlog;
- unsigned char compression_level;
int disable_fake_channels;
int dots_in_ident;
int failed_oper_notice;
int max_ratelimit_tokens;
int away_interval;
int tls_ciphers_oper_only;
+ int oper_secure_only;
char **hidden_caps;
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
int displayed_usercount;
int strip_topic_colors;
int opmod_send_statusmsg;
+ int ip_bans_through_vhost;
};
struct config_server_hide
extern rb_dlink_list service_list;
-extern rb_dlink_list prop_bans;
+extern rb_dictionary *prop_bans_dict;
typedef enum temp_list
{
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);