/[svn]/ircd-hybrid/trunk/include/conf.h
ViewVC logotype

Diff of /ircd-hybrid/trunk/include/conf.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1643 by michael, Sun Nov 4 17:09:47 2012 UTC revision 1644 by michael, Tue Nov 6 22:20:16 2012 UTC
# Line 25  Line 25 
25  #ifndef INCLUDED_s_conf_h  #ifndef INCLUDED_s_conf_h
26  #define INCLUDED_s_conf_h  #define INCLUDED_s_conf_h
27  #include "config.h"  #include "config.h"
 #ifdef HAVE_LIBCRYPTO  
 #include <openssl/rsa.h>  
 #endif  
28  #include "ircd_defs.h"  #include "ircd_defs.h"
29  #include "motd.h"               /* MessageFile */  #include "motd.h"               /* MessageFile */
30  #include "client.h"  #include "client.h"
# Line 36  Line 33 
33    
34    
35    
 extern struct Callback *client_check_cb;  
   
36  struct conf_parser_context  struct conf_parser_context
37  {  {
38    unsigned int boot;    unsigned int boot;
# Line 66  enum maskitem_type Line 61  enum maskitem_type
61    CONF_SERVICE  = 1 << 14,    CONF_SERVICE  = 1 << 14,
62    CONF_OPER     = 1 << 15,    CONF_OPER     = 1 << 15,
63    CONF_HUB      = 1 << 16, /* XXX There are no separate hub/leaf configs anymore. This is just for /stats h */    CONF_HUB      = 1 << 16, /* XXX There are no separate hub/leaf configs anymore. This is just for /stats h */
64    CONF_CLASS    = 1 << 17    CONF_CLASS    = 1 << 17  /* XXX Same here; just for /stats Y|y */
65  };  };
66    
67  struct split_nuh_item  struct split_nuh_item
# Line 85  struct split_nuh_item Line 80  struct split_nuh_item
80    
81  struct MaskItem  struct MaskItem
82  {  {
83    struct MaskItem *hnext;    struct MaskItem   *hnext;
84    dlink_node node;    dlink_node         node;
85      dlink_list         leaf_list;
86      dlink_list         hub_list;
87    enum maskitem_type type;    enum maskitem_type type;
88    unsigned int     dns_failed;    unsigned int       dns_failed;
89    unsigned int     dns_pending;    unsigned int       dns_pending;
90    unsigned int     flags;    unsigned int       flags;
91    unsigned int     modes;    unsigned int       modes;
92    unsigned int     port;    unsigned int       port;
93    unsigned int     count;    unsigned int       count;
94    unsigned int     action;    unsigned int       aftype;
95    int              clients;  /* Number of *LOCAL* clients using this */    unsigned int       active;
96    int              bits;    unsigned int       htype;
97    unsigned int     aftype;    unsigned int       ref_count;  /* Number of *LOCAL* clients using this */
98    unsigned int     htype;    int                bits;
99    unsigned int     active;    time_t             hold;     /* Hold action until this time (calendar time) */
100    struct irc_ssaddr bind;  /* ip to bind to for outgoing connect */    time_t             setat;
101    struct irc_ssaddr addr;  /* ip to connect to */    struct irc_ssaddr  bind;  /* ip to bind to for outgoing connect */
102    char *           name;    struct irc_ssaddr  addr;  /* ip to connect to */
103    char *           host;     /* host part of user@host */    struct ClassItem  *class;  /* Class of connection */
104    char *           passwd;    char              *name;
105    char *           spasswd;  /* Password to send. */    char              *host;     /* host part of user@host */
106    char *           reason;    char              *passwd;
107    char *           user;     /* user part of user@host */    char              *spasswd;  /* Password to send. */
108    time_t           hold;     /* Hold action until this time (calendar time) */    char              *reason;
109    time_t           setat;    char              *user;     /* user part of user@host */
110    struct ClassItem *class;  /* Class of connection */    char              *cipher_list;
111  #ifdef HAVE_LIBCRYPTO    char              *rsa_public_key_file;
112    /* certs */    void              *rsa_public_key;
113    char *cipher_list;    void              *regexuser;
114    char *           rsa_public_key_file;    void              *regexhost;
   RSA *            rsa_public_key;  
 #endif  
   void *regexuser;  
   void *regexhost;  
   dlink_list leaf_list;  
   dlink_list hub_list;  
115  };  };
116    
117  struct CidrItem  struct CidrItem
118  {  {
119    dlink_node node;    dlink_node node;
120    struct irc_ssaddr mask;    struct irc_ssaddr mask;
121    int number_on_this_cidr;    unsigned int number_on_this_cidr;
122  };  };
123    
124    
# Line 137  struct CidrItem Line 128  struct CidrItem
128  #define IsConfGline(x)          ((x)->type == CONF_GLINE)  #define IsConfGline(x)          ((x)->type == CONF_GLINE)
129    
130  /* MaskItem->flags */  /* MaskItem->flags */
   
 /* Generic flags... */  
 /* access flags... */  
131  #define CONF_FLAGS_DO_IDENTD            0x00000001  #define CONF_FLAGS_DO_IDENTD            0x00000001
132  #define CONF_FLAGS_LIMIT_IP             0x00000002  #define CONF_FLAGS_LIMIT_IP             0x00000002
133  #define CONF_FLAGS_NO_TILDE             0x00000004  #define CONF_FLAGS_NO_TILDE             0x00000004
# Line 153  struct CidrItem Line 141  struct CidrItem
141  #define CONF_FLAGS_EXEMPTGLINE          0x00000400  #define CONF_FLAGS_EXEMPTGLINE          0x00000400
142  #define CONF_FLAGS_CAN_FLOOD            0x00000800  #define CONF_FLAGS_CAN_FLOOD            0x00000800
143  #define CONF_FLAGS_NEED_PASSWORD        0x00001000  #define CONF_FLAGS_NEED_PASSWORD        0x00001000
 /* server flags */  
144  #define CONF_FLAGS_ALLOW_AUTO_CONN      0x00002000  #define CONF_FLAGS_ALLOW_AUTO_CONN      0x00002000
145  #define CONF_FLAGS_ENCRYPTED            0x00004000  #define CONF_FLAGS_ENCRYPTED            0x00004000
146  #define CONF_FLAGS_IN_DATABASE          0x00008000  #define CONF_FLAGS_IN_DATABASE          0x00008000
# Line 304  struct server_info Line 291  struct server_info
291    char *description;    char *description;
292    char *network_name;    char *network_name;
293    char *network_desc;    char *network_desc;
 #ifdef HAVE_LIBCRYPTO  
294    char *rsa_private_key_file;    char *rsa_private_key_file;
295    RSA *rsa_private_key;    void *rsa_private_key;
296    SSL_CTX *server_ctx;    void *server_ctx;
297    SSL_CTX *client_ctx;    void *client_ctx;
 #endif  
298    int hub;    int hub;
299    struct irc_ssaddr ip;    struct irc_ssaddr ip;
300    struct irc_ssaddr ip6;    struct irc_ssaddr ip6;
# Line 332  struct logging_entry Line 317  struct logging_entry
317    unsigned int use_logging;    unsigned int use_logging;
318  };  };
319    
 extern dlink_list class_items;  
320  extern dlink_list server_items;  extern dlink_list server_items;
321  extern dlink_list cluster_items;  extern dlink_list cluster_items;
322  extern dlink_list xconf_items;  extern dlink_list xconf_items;
# Line 358  extern struct MaskItem *conf_make(enum m Line 342  extern struct MaskItem *conf_make(enum m
342  extern void read_conf_files(int);  extern void read_conf_files(int);
343  extern int attach_conf(struct Client *, struct MaskItem *);  extern int attach_conf(struct Client *, struct MaskItem *);
344  extern int attach_connect_block(struct Client *, const char *, const char *);  extern int attach_connect_block(struct Client *, const char *, const char *);
345  extern int get_conf_ping(const struct MaskItem *, int *);  extern int check_client(struct Client *);
346    
347    
348  extern void detach_conf(struct Client *, enum maskitem_type);  extern void detach_conf(struct Client *, enum maskitem_type);
349  extern struct MaskItem *find_conf_name(dlink_list *, const char *, enum maskitem_type);  extern struct MaskItem *find_conf_name(dlink_list *, const char *, enum maskitem_type);

Legend:
Removed from v.1643  
changed lines
  Added in v.1644

svnadmin@ircd-hybrid.org
ViewVC Help
Powered by ViewVC 1.1.28