]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - include/s_conf.h
autochanmodes support
[irc/rqf/shadowircd.git] / include / s_conf.h
index 72e24eb45b04d62ce6712e9fd0778a7fb752153c..636f5e7029675e32b9923cf39e601dec2aebd72f 100644 (file)
@@ -64,6 +64,8 @@ struct ConfItem
        char *host;             /* host part of user@host */
        char *passwd;           /* doubles as kline reason *ugh* */
        char *spasswd;          /* Password to send. */
+       char *autojoin;         /* channels for users to autojoin to on connect */
+       char *autojoin_opers; /* channels for opers to autojoin on oper-up */
        char *user;             /* user part of user@host */
        int port;
        time_t hold;            /* Hold action until this time (calendar time) */
@@ -88,7 +90,9 @@ struct ConfItem
 /* aConfItem->flags */
 
 /* Generic flags... */
-/* access flags... */
+#define CONF_FLAGS_TEMPORARY            0x00800000
+#define CONF_FLAGS_NEED_SSL            0x00000002
+/* auth{} flags... */
 #define CONF_FLAGS_NO_TILDE             0x00000004
 #define CONF_FLAGS_NEED_IDENTD          0x00000008
 #define CONF_FLAGS_EXEMPTKLINE          0x00000040
@@ -102,14 +106,7 @@ struct ConfItem
 #define CONF_FLAGS_EXEMPTSHIDE         0x00010000
 #define CONF_FLAGS_EXEMPTJUPE          0x00020000      /* exempt from resv generating warnings */
 #define CONF_FLAGS_NEED_SASL           0x00040000
-/* server flags */
-#define CONF_FLAGS_ALLOW_AUTO_CONN      0x00080000
-#define CONF_FLAGS_LAZY_LINK            0x00100000
 #define CONF_FLAGS_ENCRYPTED            0x00200000
-#define CONF_FLAGS_COMPRESSED           0x00400000
-#define CONF_FLAGS_TEMPORARY            0x00800000
-#define CONF_FLAGS_TB                  0x01000000
-#define CONF_FLAGS_VHOSTED             0x02000000
 #define CONF_FLAGS_EXEMPTDNSBL         0x04000000
 
 
@@ -126,11 +123,9 @@ struct ConfItem
 #define IsConfDoSpoofIp(x)      ((x)->flags & CONF_FLAGS_SPOOF_IP)
 #define IsConfSpoofNotice(x)    ((x)->flags & CONF_FLAGS_SPOOF_NOTICE)
 #define IsConfEncrypted(x)      ((x)->flags & CONF_FLAGS_ENCRYPTED)
-#define IsConfCompressed(x)     ((x)->flags & CONF_FLAGS_COMPRESSED)
-#define IsConfVhosted(x)       ((x)->flags & CONF_FLAGS_VHOSTED)
-#define IsConfTburst(x)                ((x)->flags & CONF_FLAGS_TB)
 #define IsNeedSasl(x)          ((x)->flags & CONF_FLAGS_NEED_SASL)
 #define IsConfExemptDNSBL(x)   ((x)->flags & CONF_FLAGS_EXEMPTDNSBL)
+#define IsConfSSLNeeded(x)     ((x)->flags & CONF_FLAGS_NEED_SSL)
 
 /* flag definitions for opers now in client.h */
 
@@ -138,12 +133,7 @@ struct config_file_entry
 {
        const char *dpath;      /* DPATH if set from command line */
        const char *configfile;
-       const char *klinefile;
-       const char *dlinefile;
-       const char *xlinefile;
-       const char *resvfile;
 
-       char *servlink_path;
        char *egdpool_path;
 
        char *default_operstring;
@@ -219,16 +209,20 @@ struct config_file_entry
        int reject_ban_time;
        int reject_after_count;
        int reject_duration;
+       int throttle_count;
+       int throttle_duration;
        int target_change;
        int collision_fnc;
        int default_umodes;
        int global_snotices;
        int operspy_dont_care_user_info;
-       int max_unknown_ip;
+       int secret_channels_in_whois;
+       int expire_override_time;
 };
 
 struct config_channel_entry
 {
+       char * autochanmodes;
        int use_except;
        int use_invex;
        int use_knock;
@@ -244,6 +238,10 @@ struct config_channel_entry
        int default_split_user_count;
        int burst_topicwho;
        int kick_on_split_riding;
+       int only_ascii_channels;
+       int cycle_host_change;
+       int host_in_topic;
+       int resv_forcepart;
 };
 
 struct config_server_hide
@@ -257,7 +255,7 @@ struct config_server_hide
 struct server_info
 {
        char *name;
-       char sid[3];
+       char sid[4];
        char *description;
        char *network_name;
        char *network_desc;
@@ -340,23 +338,11 @@ extern void yyerror(const char *);
 extern int conf_yy_fatal_error(const char *);
 extern int conf_fgets(char *, int, FILE *);
 
-typedef enum
-{
-       CONF_TYPE,
-       KLINE_TYPE,
-       DLINE_TYPE,
-       RESV_TYPE
-}
-KlineType;
-
-extern void write_confitem(KlineType, struct Client *, char *, char *,
-                          const char *, const char *, const char *, int);
 extern void add_temp_kline(struct ConfItem *);
 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 const char *get_conf_name(KlineType);
 extern int rehash(int);
 extern void rehash_bans(int);
 
@@ -367,14 +353,6 @@ extern void conf_add_class(struct ConfItem *, int);
 extern void conf_add_d_conf(struct ConfItem *);
 extern void flush_expired_ips(void *);
 
-
-/* XXX consider moving these into kdparse.h */
-extern void parse_k_file(FILE * fb);
-extern void parse_d_file(FILE * fb);
-extern void parse_x_file(FILE * fb);
-extern void parse_resv_file(FILE *);
-extern char *getfield(char *newline);
-
 extern char *get_oper_name(struct Client *client_p);
 
 extern int yylex(void);