]> jfr.im git - solanum.git/blobdiff - include/s_conf.h
remove RB_IPV6
[solanum.git] / include / s_conf.h
index 3f4d69f596ad5311460a8e8e62bfee0e7166b5d9..3d0cd7b6991ac4ffc60eaf5d960ef12442d104be 100644 (file)
@@ -20,8 +20,6 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
- *
- *  $Id: s_conf.h 3550 2007-08-09 06:47:26Z nenolod $
  */
 
 #ifndef INCLUDED_s_conf_h
@@ -35,7 +33,6 @@
 #include "ircd_defs.h"
 #include "class.h"
 #include "client.h"
-#include "common.h"
 
 struct Client;
 struct DNSReply;
@@ -77,41 +74,43 @@ struct ConfItem
        rb_patricia_node_t *pnode;      /* Our patricia node */
 };
 
-#define CONF_ILLEGAL            0x80000000
-#define CONF_CLIENT             0x0002
-#define CONF_KILL               0x0040
+#define CONF_ILLEGAL           0x80000000
+#define CONF_CLIENT            0x0002
+#define CONF_KILL              0x0040
 #define CONF_XLINE             0x0080
 #define CONF_RESV_CHANNEL      0x0100
 #define CONF_RESV_NICK         0x0200
 #define CONF_RESV              (CONF_RESV_CHANNEL | CONF_RESV_NICK)
 
-#define CONF_DLINE             0x20000
-#define CONF_EXEMPTDLINE      0x100000
+#define CONF_DLINE             0x020000
+#define CONF_EXEMPTDLINE       0x100000
 
 #define IsIllegal(x)    ((x)->status & CONF_ILLEGAL)
 
 /* aConfItem->flags */
 
 /* Generic flags... */
-#define CONF_FLAGS_TEMPORARY            0x00800000
+#define CONF_FLAGS_TEMPORARY           0x00800000
 #define CONF_FLAGS_NEED_SSL            0x00000002
-#define CONF_FLAGS_MYOPER              0x00080000 /* need to rewrite info.oper on burst */
+#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
-#define CONF_FLAGS_EXEMPTKLINE          0x00000040
-#define CONF_FLAGS_NOLIMIT              0x00000080
-#define CONF_FLAGS_SPOOF_IP             0x00000200
+#define CONF_FLAGS_NO_TILDE            0x00000004
+#define CONF_FLAGS_NEED_IDENTD         0x00000008
+#define CONF_FLAGS_EXEMPTKLINE         0x00000040
+#define CONF_FLAGS_NOLIMIT             0x00000080
+#define CONF_FLAGS_SPOOF_IP            0x00000200
 #define CONF_FLAGS_SPOOF_NOTICE                0x00000400
-#define CONF_FLAGS_REDIR                0x00000800
+#define CONF_FLAGS_REDIR               0x00000800
 #define CONF_FLAGS_EXEMPTRESV          0x00002000      /* exempt from resvs */
-#define CONF_FLAGS_EXEMPTFLOOD          0x00004000
+#define CONF_FLAGS_EXEMPTFLOOD         0x00004000
 #define CONF_FLAGS_EXEMPTSPAMBOT       0x00008000
 #define CONF_FLAGS_EXEMPTSHIDE         0x00010000
 #define CONF_FLAGS_EXEMPTJUPE          0x00020000      /* exempt from resv generating warnings */
 #define CONF_FLAGS_NEED_SASL           0x00040000
-#define CONF_FLAGS_ENCRYPTED            0x00200000
+#define CONF_FLAGS_EXTEND_CHANS                0x00080000
+#define CONF_FLAGS_ENCRYPTED           0x00200000
 #define CONF_FLAGS_EXEMPTDNSBL         0x04000000
+#define CONF_FLAGS_EXEMPTPROXY         0x08000000
 
 
 /* Macros for struct ConfItem */
@@ -132,6 +131,8 @@ struct ConfItem
 #define IsConfEncrypted(x)      ((x)->flags & CONF_FLAGS_ENCRYPTED)
 #define IsNeedSasl(x)          ((x)->flags & CONF_FLAGS_NEED_SASL)
 #define IsConfExemptDNSBL(x)   ((x)->flags & CONF_FLAGS_EXEMPTDNSBL)
+#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)
 
 /* flag definitions for opers now in client.h */
@@ -234,6 +235,9 @@ struct config_file_entry
        int client_flood_message_num;
 
        unsigned int nicklen;
+       int certfp_method;
+
+       int hide_opers_in_whois;
 };
 
 struct config_channel_entry
@@ -247,6 +251,7 @@ struct config_channel_entry
        int max_bans;
        int max_bans_large;
        int max_chans_per_user;
+       int max_chans_per_user_large;
        int no_create_on_split;
        int no_join_on_split;
        int default_split_server_count;
@@ -257,6 +262,9 @@ struct config_channel_entry
        int resv_forcepart;
        int channel_target_change;
        int disable_local_channels;
+       unsigned int autochanmodes;
+       int displayed_usercount;
+       int strip_topic_colors;
 };
 
 struct config_server_hide
@@ -274,20 +282,16 @@ struct server_info
        char *description;
        char *network_name;
        int hub;
-       struct sockaddr_in ip;
+       struct rb_sockaddr_storage bind4;
+       struct rb_sockaddr_storage bind6;
        int default_max_clients;
-#ifdef RB_IPV6
-       struct sockaddr_in6 ip6;
-#endif
-       int specific_ipv4_vhost;
-#ifdef RB_IPV6
-       int specific_ipv6_vhost;
-#endif
        char *ssl_private_key;
        char *ssl_ca_cert;
        char *ssl_cert;
        char *ssl_dh_params;
+       char *ssl_cipher_list;
        int ssld_count;
+       int wsockd_count;
 };
 
 struct admin_info
@@ -302,12 +306,9 @@ struct alias_entry
        char *name;
        char *target;
        int flags;                      /* reserved for later use */
-       int hits;
 };
 
 /* All variables are GLOBAL */
-extern int specific_ipv4_vhost;        /* used in s_bsd.c */
-extern int specific_ipv6_vhost;
 extern struct config_file_entry ConfigFileEntry;       /* defined in ircd.c */
 extern struct config_channel_entry ConfigChannel;      /* defined in channel.c */
 extern struct config_server_hide ConfigServerHide;     /* defined in s_conf.c */
@@ -340,7 +341,7 @@ extern rb_dlink_node *find_prop_ban(unsigned int status, const char *user, const
 extern void deactivate_conf(struct ConfItem *, rb_dlink_node *, time_t);
 extern void replace_old_ban(struct ConfItem *);
 
-extern void read_conf_files(int cold);
+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 *);
@@ -350,7 +351,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 **, char **, char **, int *, char **);
+                              char **, char **, const char **, char **, int *, char **);
 extern char *get_user_ban_reason(struct ConfItem *aconf);
 extern void get_printable_kline(struct Client *, struct ConfItem *,
                                char **, char **, char **, char **);
@@ -365,8 +366,8 @@ extern void add_temp_dline(struct ConfItem *);
 extern void report_temp_klines(struct Client *);
 extern void show_temp_klines(struct Client *, rb_dlink_list *);
 
-extern int rehash(int);
-extern void rehash_bans(int);
+extern bool rehash(bool);
+extern void rehash_bans(void);
 
 extern int conf_add_server(struct ConfItem *, int);
 extern void conf_add_class_to_conf(struct ConfItem *);
@@ -381,11 +382,11 @@ extern int yylex(void);
 
 extern unsigned long cidr_to_bitmask[];
 
-extern char conffilebuf[IRCD_BUFSIZE + 1];
+extern char conffilebuf[BUFSIZE + 1];
 extern int lineno;
 
 #define NOT_AUTHORISED  (-1)
-#define SOCKET_ERROR    (-2)
+#define I_SOCKET_ERROR  (-2)
 #define I_LINE_FULL     (-3)
 #define BANNED_CLIENT   (-4)
 #define TOO_MANY_LOCAL (-6)