]> jfr.im git - solanum.git/blobdiff - include/s_conf.h
Add general::stats_l_oper_only
[solanum.git] / include / s_conf.h
index 3d0cd7b6991ac4ffc60eaf5d960ef12442d104be..b31db9101bc266cba103e765b3a174b7e6c89d57 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  charybdis: Advanced, scalable Internet Relay Chat.
+ *  solanum: Advanced, scalable Internet Relay Chat.
  *  s_conf.h: A header for the configuration functions.
  *
  *  Copyright (C) 1990 Jarkko Oikarinen and University of Oulu, Co Center
@@ -84,6 +84,7 @@ struct ConfItem
 
 #define CONF_DLINE             0x020000
 #define CONF_EXEMPTDLINE       0x100000
+#define CONF_SECURE            0x200000
 
 #define IsIllegal(x)    ((x)->status & CONF_ILLEGAL)
 
@@ -111,6 +112,8 @@ struct ConfItem
 #define CONF_FLAGS_ENCRYPTED           0x00200000
 #define CONF_FLAGS_EXEMPTDNSBL         0x04000000
 #define CONF_FLAGS_EXEMPTPROXY         0x08000000
+#define CONF_FLAGS_ALLOW_SCTP          0x10000000
+#define CONF_FLAGS_KLINE_SPOOF         0x20000000
 
 
 /* Macros for struct ConfItem */
@@ -134,6 +137,14 @@ struct ConfItem
 #define IsConfExemptProxy(x)   ((x)->flags & CONF_FLAGS_EXEMPTPROXY)
 #define IsConfExtendChans(x)   ((x)->flags & CONF_FLAGS_EXTEND_CHANS)
 #define IsConfSSLNeeded(x)     ((x)->flags & CONF_FLAGS_NEED_SSL)
+#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 */
 
@@ -176,7 +187,7 @@ struct config_file_entry
        int ts_warn_delta;
        int dline_with_reason;
        int kline_with_reason;
-       int kline_delay;
+       int hide_tkdline_duration;
        int warn_no_nline;
        int nick_delay;
        int non_redundant_klines;
@@ -186,6 +197,7 @@ struct config_file_entry
        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;
@@ -211,6 +223,7 @@ struct config_file_entry
        int tkline_expire_notices;
        int use_whois_actually;
        int disable_auth;
+       int post_registration_delay;
        int connect_timeout;
        int burst_away;
        int reject_ban_time;
@@ -227,6 +240,9 @@ struct config_file_entry
        int use_propagated_bans;
        int max_ratelimit_tokens;
        int away_interval;
+       int tls_ciphers_oper_only;
+
+       char **hidden_caps;
 
        int client_flood_max_lines;
        int client_flood_burst_rate;
@@ -238,6 +254,9 @@ struct config_file_entry
        int certfp_method;
 
        int hide_opers_in_whois;
+       int hide_opers;
+
+       char *drain_reason;
 };
 
 struct config_channel_entry
@@ -265,6 +284,7 @@ struct config_channel_entry
        unsigned int autochanmodes;
        int displayed_usercount;
        int strip_topic_colors;
+       int opmod_send_statusmsg;
 };
 
 struct config_server_hide
@@ -346,6 +366,7 @@ extern void read_conf_files(bool cold);
 extern int attach_conf(struct Client *, struct ConfItem *);
 extern int check_client(struct Client *client_p, struct Client *source_p, const char *);
 
+extern void deref_conf(struct ConfItem *);
 extern int detach_conf(struct Client *);
 
 extern struct ConfItem *find_tkline(const char *, const char *, struct sockaddr *);