ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/include/conf.h
(Generate patch)

Comparing:
ircd-hybrid-8/include/conf.h (file contents), Revision 1324 by michael, Fri Mar 30 21:40:38 2012 UTC vs.
ircd-hybrid/trunk/include/conf.h (file contents), Revision 1644 by michael, Tue Nov 6 22:20:16 2012 UTC

# Line 25 | Line 25
25   #ifndef INCLUDED_s_conf_h
26   #define INCLUDED_s_conf_h
27   #include "config.h"
28 – #ifdef HAVE_LIBCRYPTO
29 – #include <openssl/rsa.h>
30 – #endif
31 – #include "fileio.h"             /* FBFILE */
28   #include "ircd_defs.h"
29   #include "motd.h"               /* MessageFile */
30   #include "client.h"
31   #include "hook.h"
32 + #include "conf_class.h"
33  
34  
38 – #define CONF_SERVER_INFO_TLS_VERSION_SSLV3 0x1
39 – #define CONF_SERVER_INFO_TLS_VERSION_TLSV1 0x2
40 –
41 – struct Client;
42 –
43 – extern struct Callback *client_check_cb;
35  
36   struct conf_parser_context
37   {
38    unsigned int boot;
39    unsigned int pass;
40 <  FBFILE *conf_file;
40 >  FILE *conf_file;
41   };
42  
43   extern struct conf_parser_context conf_parser_ctx;
44  
45 < typedef enum
46 < {  
47 <  CONF_TYPE,
48 <  CLASS_TYPE,
49 <  OPER_TYPE,
50 <  CLIENT_TYPE,
51 <  SERVER_TYPE,
52 <  HUB_TYPE,
53 <  LEAF_TYPE,
54 <  KLINE_TYPE,
55 <  DLINE_TYPE,
56 <  EXEMPTDLINE_TYPE,
57 <  CLUSTER_TYPE,
58 <  RKLINE_TYPE,
59 <  RXLINE_TYPE,
60 <  XLINE_TYPE,    
61 <  ULINE_TYPE,
62 <  GLINE_TYPE,
63 <  CRESV_TYPE,    
64 <  NRESV_TYPE,
65 <  GDENY_TYPE,
75 <  SERVICE_TYPE
76 < } ConfType;
45 > enum maskitem_type
46 > {
47 >  CONF_RESERVED = 1 <<  0, /* XXX */
48 >  CONF_CLIENT   = 1 <<  1,
49 >  CONF_SERVER   = 1 <<  2,
50 >  CONF_KLINE    = 1 <<  3,
51 >  CONF_DLINE    = 1 <<  4,
52 >  CONF_EXEMPT   = 1 <<  5,
53 >  CONF_CLUSTER  = 1 <<  6,
54 >  CONF_RKLINE   = 1 <<  7,
55 >  CONF_RXLINE   = 1 <<  8,
56 >  CONF_XLINE    = 1 <<  9,
57 >  CONF_ULINE    = 1 << 10,
58 >  CONF_GLINE    = 1 << 11,
59 >  CONF_CRESV    = 1 << 12,
60 >  CONF_NRESV    = 1 << 13,
61 >  CONF_SERVICE  = 1 << 14,
62 >  CONF_OPER     = 1 << 15,
63 >  CONF_HUB      = 1 << 16, /* XXX There are no separate hub/leaf configs anymore. This is just for /stats h */
64 >  CONF_CLASS    = 1 << 17  /* XXX Same here; just for /stats Y|y */
65 > };
66  
67   struct split_nuh_item
68   {
# Line 89 | Line 78 | struct split_nuh_item
78    size_t hostsize;
79   };
80  
81 < struct ConfItem
81 > struct MaskItem
82   {
83 <  dlink_node node;      /* link into known ConfItems of this type */
84 <
85 <  char *name;           /* Primary key */
86 <  void *regexpname;
87 <  unsigned int flags;
88 <  ConfType type;
89 < };
90 <
91 < /*
92 < * MatchItem - used for XLINE and ULINE types
93 < */
94 < struct MatchItem
95 < {
96 <  char *user;           /* Used for ULINE only */
97 <  char *host;           /* Used for ULINE only */
98 <  char *reason;
99 <  char *oper_reason;
100 <  int action;           /* used for uline */
101 <  int count;            /* How many times this matchitem has been matched */
102 <  int ref_count;        /* How many times is this matchitem in use */
103 <  int illegal;          /* Should it be deleted when possible? */
104 <  time_t           hold;     /* Hold action until this time (calendar time) */
105 < };
106 <
107 < struct AccessItem
108 < {
109 <  dlink_node node;
110 <  unsigned int     dns_failed;
111 <  unsigned int     dns_pending;
112 <  unsigned int     status;   /* If CONF_ILLEGAL, delete when no clients */
113 <  unsigned int     flags;
114 <  unsigned int     modes;
126 <  unsigned int     port;
127 <  int              clients;  /* Number of *LOCAL* clients using this */
128 <  int              bits;
129 <  int              type;
130 <  struct irc_ssaddr my_ipnum; /* ip to bind to for outgoing connect */
131 <  struct irc_ssaddr ipnum;      /* ip to connect to */
132 <  char *           host;     /* host part of user@host */
133 <  char *           passwd;
134 <  char *           spasswd;  /* Password to send. */
135 <  char *           reason;
136 <  char *           oper_reason;
137 <  char *           user;     /* user part of user@host */
138 <  time_t           hold;     /* Hold action until this time (calendar time) */
139 <  struct ConfItem *class_ptr;  /* Class of connection */
140 <  int              aftype;
141 < #ifdef HAVE_LIBCRYPTO
142 <  /* certs */
143 <  char *cipher_list;
144 <  char *           rsa_public_key_file;
145 <  RSA *            rsa_public_key;
146 < #endif
147 <  void *regexuser;
148 <  void *regexhost;
149 < };
150 <
151 < struct ClassItem
152 < {
153 <  dlink_list list_ipv4;         /* base of per cidr ipv4 client link list */
154 <  dlink_list list_ipv6;         /* base of per cidr ipv6 client link list */
155 <  unsigned int max_sendq;
156 <  int con_freq;
157 <  int ping_freq;
158 <  int ping_warning;
159 <  int max_total;
160 <  int max_local;
161 <  int max_global;
162 <  int max_ident;
163 <  int max_perip;
164 <  int curr_user_count;
165 <  int cidr_bitlen_ipv4;
166 <  int cidr_bitlen_ipv6;
167 <  int number_per_cidr;
168 <  int active;
83 >  struct MaskItem   *hnext;
84 >  dlink_node         node;
85 >  dlink_list         leaf_list;
86 >  dlink_list         hub_list;
87 >  enum maskitem_type type;
88 >  unsigned int       dns_failed;
89 >  unsigned int       dns_pending;
90 >  unsigned int       flags;
91 >  unsigned int       modes;
92 >  unsigned int       port;
93 >  unsigned int       count;
94 >  unsigned int       aftype;
95 >  unsigned int       active;
96 >  unsigned int       htype;
97 >  unsigned int       ref_count;  /* Number of *LOCAL* clients using this */
98 >  int                bits;
99 >  time_t             hold;     /* Hold action until this time (calendar time) */
100 >  time_t             setat;
101 >  struct irc_ssaddr  bind;  /* ip to bind to for outgoing connect */
102 >  struct irc_ssaddr  addr;  /* ip to connect to */
103 >  struct ClassItem  *class;  /* Class of connection */
104 >  char              *name;
105 >  char              *host;     /* host part of user@host */
106 >  char              *passwd;
107 >  char              *spasswd;  /* Password to send. */
108 >  char              *reason;
109 >  char              *user;     /* user part of user@host */
110 >  char              *cipher_list;
111 >  char              *rsa_public_key_file;
112 >  void              *rsa_public_key;
113 >  void              *regexuser;
114 >  void              *regexhost;
115   };
116  
117   struct CidrItem
118   {
119    dlink_node node;
120    struct irc_ssaddr mask;
121 <  int number_on_this_cidr;
121 >  unsigned int number_on_this_cidr;
122   };
123  
178 – #define ConFreq(x)      ((x)->con_freq)
179 – #define PingFreq(x)     ((x)->ping_freq)
180 – #define PingWarning(x)  ((x)->ping_warning)
181 – #define MaxTotal(x)     ((x)->max_total)
182 – #define MaxGlobal(x)    ((x)->max_global)
183 – #define MaxLocal(x)     ((x)->max_local)
184 – #define MaxIdent(x)     ((x)->max_ident)
185 – #define MaxPerIp(x)     ((x)->max_perip)
186 – #define MaxSendq(x)     ((x)->max_sendq)
187 – #define CurrUserCount(x) ((x)->curr_user_count)
188 – #define CidrBitlenIPV4(x)       ((x)->cidr_bitlen_ipv4)
189 – #define CidrBitlenIPV6(x)       ((x)->cidr_bitlen_ipv6)
190 – #define NumberPerCidr(x) ((x)->number_per_cidr)
191 –
192 – #define ClassPtr(x)      ((x)->class_ptr)
193 –
194 –
195 – #define CONF_ILLEGAL            0x80000000
196 – #define CONF_RESERVED           0x00000001
197 – #define CONF_CLIENT             0x00000002
198 – #define CONF_SERVER             0x00000004
199 – #define CONF_OPERATOR           0x00000008
200 – #define CONF_KILL               0x00000010
201 – #define CONF_KLINE              CONF_KILL
202 – #define CONF_CLASS              0x00000020
203 – #define CONF_LEAF               0x00000040
204 – #define CONF_LISTEN_PORT        0x00000080
205 – #define CONF_HUB                0x00000100
206 – #define CONF_EXEMPTKLINE        0x00000200
207 – #define CONF_NOLIMIT            0x00000400
208 – #define CONF_DLINE              0x00000800
209 – #define CONF_XLINE              0x00001000
210 – #define CONF_ULINE              0x00002000
211 – #define CONF_EXEMPTDLINE        0x00004000
212 – #define CONF_GLINE              0x00008000
213 – #define CONF_SERVICE            0x00010000
214 –
215 – #define CONF_SERVER_MASK       CONF_SERVER
216 – #define CONF_CLIENT_MASK       (CONF_CLIENT | CONF_OPERATOR | CONF_SERVER_MASK)
217 –
218 – /* XXX temporary hack */
219 – #define CONF_CRESV              0x80000001
220 – #define CONF_NRESV              0x80000002
221 –
222 – #define IsConfIllegal(x)        ((x)->status & CONF_ILLEGAL)
223 – #define SetConfIllegal(x)       ((x)->status |= CONF_ILLEGAL)
224 – #define IsConfServer(x)         ((x)->status == CONF_SERVER)
225 – #define SetConfServer(x)        ((x)->status = CONF_SERVER)
226 – #define IsConfOperator(x)       ((x)->status & CONF_OPERATOR)
227 – #define IsConfHub(x)            ((x)->status == CONF_HUB)
228 – #define SetConfHub(x)           ((x)->status = CONF_HUB)
229 – #define IsConfLeaf(x)           ((x)->status == CONF_LEAF)
230 – #define SetConfLeaf(x)          ((x)->status = CONF_LEAF)
231 – #define IsConfHubOrLeaf(x)      ((x)->status & (CONF_HUB|CONF_LEAF))
232 – #define IsConfKill(x)           ((x)->status == CONF_KILL)
233 – #define IsConfClient(x)         ((x)->status & CONF_CLIENT)
234 – #define IsConfTypeOfClient(x)   ((x)->status & CONF_CLIENT_MASK)
235 – #define IsConfUline(x)          ((x)->status & CONF_ULINE)
236 – #define IsConfXline(x)          ((x)->status & CONF_XLINE)
237 – #define IsConfGline(x)          ((x)->status == CONF_GLINE)
124  
125 < /* AccessItem->flags */
125 > #define IsConfOperator(x)       ((x)->type == CONF_OPER)
126 > #define IsConfKill(x)           ((x)->type == CONF_KLINE)
127 > #define IsConfClient(x)         ((x)->type == CONF_CLIENT)
128 > #define IsConfGline(x)          ((x)->type == CONF_GLINE)
129  
130 < /* Generic flags... */
242 < /* access flags... */
130 > /* MaskItem->flags */
131   #define CONF_FLAGS_DO_IDENTD            0x00000001
132   #define CONF_FLAGS_LIMIT_IP             0x00000002
133   #define CONF_FLAGS_NO_TILDE             0x00000004
134   #define CONF_FLAGS_NEED_IDENTD          0x00000008
135 < /*                                      0x00000010 */
136 < #define CONF_FLAGS_NOMATCH_IP           0x00000020
137 < #define CONF_FLAGS_EXEMPTKLINE          0x00000040
138 < #define CONF_FLAGS_NOLIMIT              0x00000080
139 < /*                                      0x00000100 */
140 < #define CONF_FLAGS_SPOOF_IP             0x00000200
141 < #define CONF_FLAGS_SPOOF_NOTICE         0x00000400
142 < #define CONF_FLAGS_REDIR                0x00000800
143 < #define CONF_FLAGS_EXEMPTGLINE          0x00001000
144 < /*                                      0x00002000 */
145 < #define CONF_FLAGS_CAN_FLOOD            0x00100000
146 < #define CONF_FLAGS_NEED_PASSWORD        0x00200000
147 < /* server flags */
148 < #define CONF_FLAGS_ALLOW_AUTO_CONN      0x00004000
149 < /*                                      0x00008000 */
262 < #define CONF_FLAGS_ENCRYPTED            0x00010000
263 < #define CONF_FLAGS_UNUSED1___           0x00020000
264 < #define CONF_FLAGS_TEMPORARY            0x00040000
265 < #define CONF_FLAGS_UNUSED2___           0x00080000
266 < #define CONF_FLAGS_BURST_AWAY           0x00400000
267 < #define CONF_FLAGS_EXEMPTRESV           0x00800000
268 < #define CONF_FLAGS_TOPICBURST           0x01000000
269 < #define CONF_FLAGS_SSL                  0x02000000
135 > #define CONF_FLAGS_NOMATCH_IP           0x00000010
136 > #define CONF_FLAGS_EXEMPTKLINE          0x00000020
137 > #define CONF_FLAGS_NOLIMIT              0x00000040
138 > #define CONF_FLAGS_SPOOF_IP             0x00000080
139 > #define CONF_FLAGS_SPOOF_NOTICE         0x00000100
140 > #define CONF_FLAGS_REDIR                0x00000200
141 > #define CONF_FLAGS_EXEMPTGLINE          0x00000400
142 > #define CONF_FLAGS_CAN_FLOOD            0x00000800
143 > #define CONF_FLAGS_NEED_PASSWORD        0x00001000
144 > #define CONF_FLAGS_ALLOW_AUTO_CONN      0x00002000
145 > #define CONF_FLAGS_ENCRYPTED            0x00004000
146 > #define CONF_FLAGS_IN_DATABASE          0x00008000
147 > #define CONF_FLAGS_EXEMPTRESV           0x00010000
148 > #define CONF_FLAGS_SSL                  0x00020000
149 > #define CONF_FLAGS_MAINCONF             0x00040000
150  
151 < /* Macros for struct AccessItem */
151 > /* Macros for struct MaskItem */
152   #define IsLimitIp(x)            ((x)->flags & CONF_FLAGS_LIMIT_IP)
153   #define IsNoTilde(x)            ((x)->flags & CONF_FLAGS_NO_TILDE)
154   #define IsConfCanFlood(x)       ((x)->flags & CONF_FLAGS_CAN_FLOOD)
# Line 288 | Line 168 | struct CidrItem
168   #define IsConfAllowAutoConn(x)  ((x)->flags & CONF_FLAGS_ALLOW_AUTO_CONN)
169   #define SetConfAllowAutoConn(x) ((x)->flags |= CONF_FLAGS_ALLOW_AUTO_CONN)
170   #define ClearConfAllowAutoConn(x) ((x)->flags &= ~CONF_FLAGS_ALLOW_AUTO_CONN)
291 – #define IsConfTemporary(x)      ((x)->flags & CONF_FLAGS_TEMPORARY)
292 – #define SetConfTemporary(x)     ((x)->flags |= CONF_FLAGS_TEMPORARY)
171   #define IsConfRedir(x)          ((x)->flags & CONF_FLAGS_REDIR)
294 – #define IsConfAwayBurst(x)      ((x)->flags & CONF_FLAGS_BURST_AWAY)
295 – #define SetConfAwayBurst(x)     ((x)->flags |= CONF_FLAGS_BURST_AWAY)
296 – #define ClearConfAwayBurst(x)   ((x)->flags &= ~CONF_FLAGS_BURST_AWAY)
297 – #define IsConfTopicBurst(x)     ((x)->flags & CONF_FLAGS_TOPICBURST)
298 – #define SetConfTopicBurst(x)    ((x)->flags |= CONF_FLAGS_TOPICBURST)
299 – #define ClearConfTopicBurst(x)  ((x)->flags &= ~CONF_FLAGS_TOPICBURST)
172   #define IsConfSSL(x)      ((x)->flags & CONF_FLAGS_SSL)
173   #define SetConfSSL(x)     ((x)->flags |= CONF_FLAGS_SSL)
174   #define ClearConfSSL(x)   ((x)->flags &= ~CONF_FLAGS_SSL)
175 + #define IsConfDatabase(x)      ((x)->flags & CONF_FLAGS_IN_DATABASE)
176 + #define SetConfDatabase(x)     ((x)->flags |= CONF_FLAGS_IN_DATABASE)
177 +
178  
179   /* shared/cluster server entry types
180   * These defines are used for both shared and cluster.
# Line 318 | Line 193 | struct CidrItem
193                                   SHARED_RESV | SHARED_UNRESV |\
194                                   SHARED_LOCOPS | SHARED_DLINE | SHARED_UNDLINE)
195  
321 – /* gline acl entry actions */
322 – #define GDENY_BLOCK             0x1
323 – #define GDENY_REJECT            0x2
324 –
196   struct config_file_entry
197   {
198    const char *dpath;          /* DPATH if set from command line */
199    const char *configfile;
200    const char *klinefile;
201    const char *xlinefile;
331 –  const char *rxlinefile;
332 –  const char *rklinefile;
202    const char *dlinefile;
334 –  const char *glinefile;
203    const char *cresvfile;
204    const char *nresvfile;
205  
338 –  char *logpath;
339 –  char *operlog;
206    char *egdpool_path;
207    char *service_name;
208  
209    MessageFile motd;
344 –  MessageFile opermotd;
210    MessageFile linksfile;
211  
212    int gline_min_cidr;
# Line 356 | Line 221 | struct config_file_entry
221    int ts_max_delta;
222    int ts_warn_delta;
223    int anti_nick_flood;
359 –  int kline_with_reason;
224    int warn_no_nline;
225    int invisible_on_connect;
226    int stats_e_disabled;
# Line 370 | Line 234 | struct config_file_entry
234    int oper_pass_resv;
235    int glines;
236    int hide_spoof_ips;
373 –  int burst_away;
374 –  int use_whois_actually;
237    int tkline_expire_notices;
238    int opers_bypass_callerid;
239    int ignore_bogus_ts;
378 –  char *kline_reason;
240    int pace_wait;
241    int pace_wait_simple;
242    int gline_time;
243 <  int gline_logging;
243 >  int gline_request_time;
244    int oper_only_umodes;
245    int oper_umodes;
246    int max_targets;
# Line 388 | Line 249 | struct config_file_entry
249    int min_nonwildcard_simple;
250    int kill_chase_time_limit;
251    int default_floodcount;
391 –  int client_flood;
252    /* 0 == don't use throttle... */
253    int throttle_time;
254    int use_egd;
# Line 401 | Line 261 | struct config_channel_entry
261   {
262    int disable_fake_channels;
263    int restrict_channels;
404 –  int disable_local_channels;
405 –  int use_except;
406 –  int use_invex;
407 –  int use_knock;
264    int knock_delay;
265    int knock_delay_channel;
266    unsigned int max_bans;
267    unsigned int max_chans_per_user;
268 +  unsigned int max_chans_per_oper;
269    int no_create_on_split;
270    int no_join_on_split;
271    int quiet_on_ban;
415 –  int burst_topicwho;
272    int default_split_server_count;
273    int default_split_user_count;
274   };
# Line 425 | Line 281 | struct config_server_hide
281    int links_delay;
282    int links_disabled;
283    int hidden;
428 –  int disable_hidden;
284    int hide_server_ips;
285   };
286  
# Line 436 | Line 291 | struct server_info
291    char *description;
292    char *network_name;
293    char *network_desc;
439 – #ifdef HAVE_LIBCRYPTO
294    char *rsa_private_key_file;
295 <  RSA *rsa_private_key;
296 <  SSL_CTX *server_ctx;
297 <  SSL_CTX *client_ctx;
444 < #endif
295 >  void *rsa_private_key;
296 >  void *server_ctx;
297 >  void *client_ctx;
298    int hub;
299    struct irc_ssaddr ip;
300    struct irc_ssaddr ip6;
# Line 464 | Line 317 | struct logging_entry
317    unsigned int use_logging;
318   };
319  
467 – extern dlink_list gdeny_items;
468 – extern dlink_list class_items;
320   extern dlink_list server_items;
321   extern dlink_list cluster_items;
322 < extern dlink_list hub_items;
322 > extern dlink_list xconf_items;
323   extern dlink_list rxconf_items;
324   extern dlink_list rkconf_items;
474 – extern dlink_list leaf_items;
325   extern dlink_list service_items;
476 – extern dlink_list temporary_klines;
477 – extern dlink_list temporary_dlines;
478 – extern dlink_list temporary_glines;
479 – extern dlink_list temporary_xlines;
480 – extern dlink_list temporary_rxlines;
481 – extern dlink_list temporary_rklines;
326   extern struct logging_entry ConfigLoggingEntry;
327   extern struct config_file_entry ConfigFileEntry;/* defined in ircd.c*/
328   extern struct config_channel_entry ConfigChannel;/* defined in channel.c*/
# Line 488 | Line 332 | extern struct admin_info AdminInfo;
332   extern int valid_wild_card(struct Client *, int, int, ...);
333   /* End GLOBAL section */
334  
335 < extern unsigned int get_sendq(struct Client *);
336 < extern const char *get_client_class(struct Client *);
337 < extern int get_client_ping(struct Client *, int *);
494 < extern void check_class(void);
495 < extern void init_class(void);
496 < extern struct ConfItem *find_class(const char *);
335 >
336 >
337 >
338   extern void init_ip_hash_table(void);
339   extern void count_ip_hash(unsigned int *, uint64_t *);
340   extern void remove_one_ip(struct irc_ssaddr *);
341 < extern struct ConfItem *make_conf_item(ConfType type);
501 < extern void free_access_item(struct AccessItem *);
341 > extern struct MaskItem *conf_make(enum maskitem_type);
342   extern void read_conf_files(int);
343 < extern int attach_conf(struct Client *, struct ConfItem *);
343 > extern int attach_conf(struct Client *, struct MaskItem *);
344   extern int attach_connect_block(struct Client *, const char *, const char *);
345 + extern int check_client(struct Client *);
346  
506 – extern int detach_conf(struct Client *, ConfType);
347  
348 < extern struct ConfItem *find_conf_name(dlink_list *, const char *, ConfType);
349 < extern struct ConfItem *find_conf_exact(ConfType, const char *, const char *, const char *);
350 < extern struct AccessItem *find_kill(struct Client *);
351 < extern struct AccessItem *find_gline(struct Client *);
348 > extern void detach_conf(struct Client *, enum maskitem_type);
349 > extern struct MaskItem *find_conf_name(dlink_list *, const char *, enum maskitem_type);
350 > extern struct MaskItem *find_kill(struct Client *);
351 > extern struct MaskItem *find_gline(struct Client *);
352   extern int conf_connect_allowed(struct irc_ssaddr *, int);
353   extern char *oper_privs_as_string(const unsigned int);
354   extern void split_nuh(struct split_nuh_item *);
355 < extern struct ConfItem *find_matching_name_conf(ConfType, const char *,
356 <                                                const char *, const char *, int);
357 < extern struct ConfItem *find_exact_name_conf(ConfType, const struct Client *, const char *,
355 > extern struct MaskItem *find_matching_name_conf(enum maskitem_type, const char *,
356 >                                                const char *, const char *, unsigned int);
357 > extern struct MaskItem *find_exact_name_conf(enum maskitem_type, const struct Client *, const char *,
358                                               const char *, const char *);
359 < extern void delete_conf_item(struct ConfItem *);
360 < extern void report_confitem_types(struct Client *, ConfType, int);
359 > extern void conf_free(struct MaskItem *);
360 > extern void report_confitem_types(struct Client *, enum maskitem_type);
361   extern void yyerror(const char *);
522 – extern int conf_yy_fatal_error(const char *);
523 – extern int conf_fbgets(char *, unsigned int, FBFILE *);
524 – extern void write_conf_line(struct Client *, struct ConfItem *,
525 –                            const char *, time_t);
526 – extern int remove_conf_line(ConfType, struct Client *, const char *,
527 –                            const char *);
528 – extern void add_temp_line(struct ConfItem *);
362   extern void cleanup_tklines(void *);
530 – extern const char *get_conf_name(ConfType);
363   extern int rehash(int);
364 < extern int conf_add_server(struct ConfItem *, const char *);
365 < extern void conf_add_class_to_conf(struct ConfItem *, const char *);
534 <
535 < /* XXX consider moving these into csvlib.h */
536 < extern void parse_csv_file(FBFILE *, ConfType);
364 > extern int conf_add_server(struct MaskItem *, const char *);
365 > extern void conf_add_class_to_conf(struct MaskItem *, const char *);
366  
367 < extern char *get_oper_name(const struct Client *);
367 > extern const char *get_oper_name(const struct Client *);
368  
540 – extern void *map_to_conf(struct ConfItem *);
541 – extern struct ConfItem *unmap_conf_item(void *);
369   /* XXX should the parse_aline stuff go into another file ?? */
370   #define AWILD 0x1               /* check wild cards */
544 – #define NOUSERLOOKUP 0x2 /* Don't lookup the user@host on /rkline nick */
371   extern int parse_aline(const char *, struct Client *, int, char **,
372                         int, char **, char **, time_t *, char **, char **);
373   extern int valid_comment(struct Client *, char *, int);
# Line 550 | Line 376 | extern int valid_comment(struct Client *
376   #define TK_SECONDS 0
377   #define TK_MINUTES 1
378   extern time_t valid_tkline(const char *, int);
379 < extern int match_conf_password(const char *, const struct AccessItem *);
379 > extern int match_conf_password(const char *, const struct MaskItem *);
380  
381   #define NOT_AUTHORIZED    (-1)
382   #define I_LINE_FULL       (-2)
# Line 562 | Line 388 | extern int match_conf_password(const cha
388  
389   extern void cluster_a_line(struct Client *,
390                             const char *, int, int, const char *,...);
565 – extern void rebuild_cidr_class(struct ConfItem *, struct ClassItem *);
566 –
567 – /* XXX **/
568 – //extern int yylex(void);
569 –
391   #endif /* INCLUDED_s_conf_h */

Diff Legend

– Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)