ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/branches/8.2.x/include/conf.h
Revision: 912
Committed: Wed Nov 7 22:47:44 2007 UTC (18 years, 8 months ago) by michael
Content type: text/x-chdr
Original Path: ircd-hybrid-7.2/include/s_conf.h
File size: 18793 byte(s)
Log Message:
- Implemented libtool-ltdl. Only shared modules are supported currently
- Several build fixes and cleanups. ircd now builds and runs without any problems
- Added back all files to SVN that are needed to built the daemon
  I really don't want to force other people that want to test the snapshots
  or svn versions to install yyacc, lex, automake, autoconf and libtool...
  No problem having required files in svn
- Removed some automake maintainer stuff which is kinda useless for us

File Contents

# User Rev Content
1 adx 30 /*
2     * ircd-hybrid: an advanced Internet Relay Chat Daemon(ircd).
3     * s_conf.h: A header for the configuration functions.
4     *
5     * Copyright (C) 2005 by the past and present ircd coders, and others.
6     *
7     * This program is free software; you can redistribute it and/or modify
8     * it under the terms of the GNU General Public License as published by
9     * the Free Software Foundation; either version 2 of the License, or
10     * (at your option) any later version.
11     *
12     * This program is distributed in the hope that it will be useful,
13     * but WITHOUT ANY WARRANTY; without even the implied warranty of
14     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15     * GNU General Public License for more details.
16     *
17     * You should have received a copy of the GNU General Public License
18     * along with this program; if not, write to the Free Software
19     * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20     * USA
21     *
22 knight 31 * $Id$
23 adx 30 */
24    
25     #ifndef INCLUDED_s_conf_h
26     #define INCLUDED_s_conf_h
27 michael 912 #include "config.h"
28 adx 30 #ifdef HAVE_LIBCRYPTO
29     #include <openssl/rsa.h>
30     #endif
31     #include "fileio.h" /* FBFILE */
32     #include "ircd_defs.h"
33     #include "motd.h" /* MessageFile */
34     #include "client.h"
35     #include "hook.h"
36     #include "pcre.h"
37    
38     struct Client;
39     struct DNSReply;
40     struct hostent;
41    
42     extern FBFILE *conf_fbfile_in;
43     extern struct Callback *client_check_cb;
44    
45 michael 56 typedef enum
46     {
47 adx 30 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
66     } ConfType;
67    
68 michael 593 struct split_nuh_item
69     {
70     dlink_node node;
71    
72     char *nuhmask;
73     char *nickptr;
74     char *userptr;
75     char *hostptr;
76    
77     size_t nicksize;
78     size_t usersize;
79     size_t hostsize;
80     };
81    
82 adx 30 struct ConfItem
83     {
84     char *name; /* Primary key */
85     pcre *regexpname;
86     dlink_node node; /* link into known ConfItems of this type */
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 status; /* If CONF_ILLEGAL, delete when no clients */
111     unsigned int flags;
112 michael 56 unsigned int modes;
113 adx 30 int clients; /* Number of *LOCAL* clients using this */
114     struct irc_ssaddr my_ipnum; /* ip to bind to for outgoing connect */
115     struct irc_ssaddr ipnum; /* ip to connect to */
116     char * host; /* host part of user@host */
117     char * passwd;
118     char * spasswd; /* Password to send. */
119     char * reason;
120     char * oper_reason;
121     char * user; /* user part of user@host */
122     int port;
123     char * fakename; /* Mask name */
124     time_t hold; /* Hold action until this time (calendar time) */
125     struct ConfItem *class_ptr; /* Class of connection */
126     struct DNSQuery* dns_query;
127     int aftype;
128     #ifdef HAVE_LIBCRYPTO
129     char * rsa_public_key_file;
130     RSA * rsa_public_key;
131     struct EncCapability *cipher_preference;
132     #endif
133     pcre *regexuser;
134     pcre *regexhost;
135     };
136    
137     struct ClassItem
138     {
139     long max_sendq;
140     int con_freq;
141     int ping_freq;
142     int ping_warning;
143     int max_total;
144     int max_local;
145     int max_global;
146     int max_ident;
147     int max_perip;
148     int curr_user_count;
149     int cidr_bitlen_ipv4;
150     int cidr_bitlen_ipv6;
151     int number_per_cidr;
152     dlink_list list_ipv4; /* base of per cidr ipv4 client link list */
153     dlink_list list_ipv6; /* base of per cidr ipv6 client link list */
154 michael 671 int active;
155 adx 30 };
156    
157     struct CidrItem
158     {
159     struct irc_ssaddr mask;
160     int number_on_this_cidr;
161     dlink_node node;
162     };
163    
164     #define ConFreq(x) ((x)->con_freq)
165     #define PingFreq(x) ((x)->ping_freq)
166     #define PingWarning(x) ((x)->ping_warning)
167     #define MaxTotal(x) ((x)->max_total)
168     #define MaxGlobal(x) ((x)->max_global)
169     #define MaxLocal(x) ((x)->max_local)
170     #define MaxIdent(x) ((x)->max_ident)
171     #define MaxPerIp(x) ((x)->max_perip)
172     #define MaxSendq(x) ((x)->max_sendq)
173     #define CurrUserCount(x) ((x)->curr_user_count)
174     #define CidrBitlenIPV4(x) ((x)->cidr_bitlen_ipv4)
175     #define CidrBitlenIPV6(x) ((x)->cidr_bitlen_ipv6)
176     #define NumberPerCidr(x) ((x)->number_per_cidr)
177    
178     #define ClassPtr(x) ((x)->class_ptr)
179    
180    
181     #define CONF_ILLEGAL 0x80000000
182     #define CONF_RESERVED 0x00000001
183     #define CONF_CLIENT 0x00000002
184     #define CONF_SERVER 0x00000004
185     #define CONF_OPERATOR 0x00000008
186     #define CONF_KILL 0x00000010
187     #define CONF_KLINE CONF_KILL
188     #define CONF_CLASS 0x00000020
189     #define CONF_LEAF 0x00000040
190     #define CONF_LISTEN_PORT 0x00000080
191     #define CONF_HUB 0x00000100
192     #define CONF_EXEMPTKLINE 0x00000200
193     #define CONF_NOLIMIT 0x00000400
194     #define CONF_DLINE 0x00000800
195     #define CONF_XLINE 0x00001000
196     #define CONF_ULINE 0x00002000
197     #define CONF_EXEMPTDLINE 0x00004000
198     #define CONF_GLINE 0x00008000
199    
200     #define CONF_SERVER_MASK CONF_SERVER
201     #define CONF_CLIENT_MASK (CONF_CLIENT | CONF_OPERATOR | CONF_SERVER_MASK)
202    
203     /* XXX temporary hack */
204     #define CONF_CRESV 0x80000001
205     #define CONF_NRESV 0x80000002
206    
207     #define IsConfIllegal(x) ((x)->status & CONF_ILLEGAL)
208     #define SetConfIllegal(x) ((x)->status |= CONF_ILLEGAL)
209     #define IsConfServer(x) ((x)->status == CONF_SERVER)
210     #define SetConfServer(x) ((x)->status = CONF_SERVER)
211     #define IsConfOperator(x) ((x)->status & CONF_OPERATOR)
212     #define IsConfHub(x) ((x)->status == CONF_HUB)
213     #define SetConfHub(x) ((x)->status = CONF_HUB)
214     #define IsConfLeaf(x) ((x)->status == CONF_LEAF)
215     #define SetConfLeaf(x) ((x)->status = CONF_LEAF)
216     #define IsConfHubOrLeaf(x) ((x)->status & (CONF_HUB|CONF_LEAF))
217     #define IsConfKill(x) ((x)->status == CONF_KILL)
218     #define IsConfClient(x) ((x)->status & CONF_CLIENT)
219     #define IsConfTypeOfClient(x) ((x)->status & CONF_CLIENT_MASK)
220     #define IsConfUline(x) ((x)->status & CONF_ULINE)
221     #define IsConfXline(x) ((x)->status & CONF_XLINE)
222     #define IsConfGline(x) ((x)->status == CONF_GLINE)
223    
224     /* AccessItem->flags */
225    
226     /* Generic flags... */
227     /* access flags... */
228     #define CONF_FLAGS_DO_IDENTD 0x00000001
229     #define CONF_FLAGS_LIMIT_IP 0x00000002
230     #define CONF_FLAGS_NO_TILDE 0x00000004
231     #define CONF_FLAGS_NEED_IDENTD 0x00000008
232     /* 0x00000010 */
233     #define CONF_FLAGS_NOMATCH_IP 0x00000020
234     #define CONF_FLAGS_EXEMPTKLINE 0x00000040
235     #define CONF_FLAGS_NOLIMIT 0x00000080
236     #define CONF_FLAGS_IDLE_LINED 0x00000100
237     #define CONF_FLAGS_SPOOF_IP 0x00000200
238     #define CONF_FLAGS_SPOOF_NOTICE 0x00000400
239     #define CONF_FLAGS_REDIR 0x00000800
240     #define CONF_FLAGS_EXEMPTGLINE 0x00001000
241     #define CONF_FLAGS_RESTRICTED 0x00002000
242     #define CONF_FLAGS_CAN_FLOOD 0x00100000
243     #define CONF_FLAGS_NEED_PASSWORD 0x00200000
244     /* server flags */
245     #define CONF_FLAGS_ALLOW_AUTO_CONN 0x00004000
246     #define CONF_FLAGS_LAZY_LINK 0x00008000
247     #define CONF_FLAGS_ENCRYPTED 0x00010000
248     #define CONF_FLAGS_COMPRESSED 0x00020000
249     #define CONF_FLAGS_TEMPORARY 0x00040000
250     #define CONF_FLAGS_CRYPTLINK 0x00080000
251     #define CONF_FLAGS_BURST_AWAY 0x00400000
252     #define CONF_FLAGS_EXEMPTRESV 0x00800000
253     #define CONF_FLAGS_TOPICBURST 0x01000000
254    
255     /* Macros for struct AccessItem */
256     #define IsLimitIp(x) ((x)->flags & CONF_FLAGS_LIMIT_IP)
257     #define IsNoTilde(x) ((x)->flags & CONF_FLAGS_NO_TILDE)
258     #define IsConfCanFlood(x) ((x)->flags & CONF_FLAGS_CAN_FLOOD)
259     #define IsNeedPassword(x) ((x)->flags & CONF_FLAGS_NEED_PASSWORD)
260     #define IsNeedIdentd(x) ((x)->flags & CONF_FLAGS_NEED_IDENTD)
261     #define IsNoMatchIp(x) ((x)->flags & CONF_FLAGS_NOMATCH_IP)
262     #define IsConfExemptKline(x) ((x)->flags & CONF_FLAGS_EXEMPTKLINE)
263     #define IsConfExemptLimits(x) ((x)->flags & CONF_FLAGS_NOLIMIT)
264     #define IsConfExemptGline(x) ((x)->flags & CONF_FLAGS_EXEMPTGLINE)
265     #define IsConfExemptResv(x) ((x)->flags & CONF_FLAGS_EXEMPTRESV)
266     #define IsConfIdlelined(x) ((x)->flags & CONF_FLAGS_IDLE_LINED)
267     #define IsConfDoIdentd(x) ((x)->flags & CONF_FLAGS_DO_IDENTD)
268     #define IsConfDoSpoofIp(x) ((x)->flags & CONF_FLAGS_SPOOF_IP)
269     #define IsConfSpoofNotice(x) ((x)->flags & CONF_FLAGS_SPOOF_NOTICE)
270     #define IsConfRestricted(x) ((x)->flags & CONF_FLAGS_RESTRICTED)
271     #define IsConfEncrypted(x) ((x)->flags & CONF_FLAGS_ENCRYPTED)
272     #define SetConfEncrypted(x) ((x)->flags |= CONF_FLAGS_ENCRYPTED)
273     #define ClearConfEncrypted(x) ((x)->flags &= ~CONF_FLAGS_ENCRYPTED)
274     #define IsConfCompressed(x) ((x)->flags & CONF_FLAGS_COMPRESSED)
275     #define SetConfCompressed(x) ((x)->flags |= CONF_FLAGS_COMPRESSED)
276     #define ClearConfCompressed(x) ((x)->flags &= ~CONF_FLAGS_COMPRESSED)
277     #define IsConfCryptLink(x) ((x)->flags & CONF_FLAGS_CRYPTLINK)
278     #define SetConfCryptLink(x) ((x)->flags |= CONF_FLAGS_CRYPTLINK)
279     #define ClearConfCryptLink(x) ((x)->flags &= ~CONF_FLAGS_CRYPTLINK)
280     #define IsConfAllowAutoConn(x) ((x)->flags & CONF_FLAGS_ALLOW_AUTO_CONN)
281     #define SetConfAllowAutoConn(x) ((x)->flags |= CONF_FLAGS_ALLOW_AUTO_CONN)
282     #define ClearConfAllowAutoConn(x) ((x)->flags &= ~CONF_FLAGS_ALLOW_AUTO_CONN)
283     #define IsConfTemporary(x) ((x)->flags & CONF_FLAGS_TEMPORARY)
284     #define SetConfTemporary(x) ((x)->flags |= CONF_FLAGS_TEMPORARY)
285     #define IsConfRedir(x) ((x)->flags & CONF_FLAGS_REDIR)
286     #define IsConfAwayBurst(x) ((x)->flags & CONF_FLAGS_BURST_AWAY)
287     #define SetConfAwayBurst(x) ((x)->flags |= CONF_FLAGS_BURST_AWAY)
288     #define ClearConfAwayBurst(x) ((x)->flags &= ~CONF_FLAGS_BURST_AWAY)
289     #define IsConfTopicBurst(x) ((x)->flags & CONF_FLAGS_TOPICBURST)
290     #define SetConfTopicBurst(x) ((x)->flags |= CONF_FLAGS_TOPICBURST)
291     #define ClearConfTopicBurst(x) ((x)->flags &= ~CONF_FLAGS_TOPICBURST)
292    
293     /* shared/cluster server entry types
294     * These defines are used for both shared and cluster.
295     */
296     #define SHARED_KLINE 0x0001
297     #define SHARED_TKLINE 0x0002
298     #define SHARED_UNKLINE 0x0004
299     #define SHARED_XLINE 0x0008
300     #define SHARED_TXLINE 0x0010
301     #define SHARED_UNXLINE 0x0020
302     #define SHARED_RESV 0x0040
303     #define SHARED_TRESV 0x0080
304     #define SHARED_UNRESV 0x0100
305     #define SHARED_LOCOPS 0x0200
306     #define SHARED_ALL (SHARED_KLINE | SHARED_TKLINE | SHARED_UNKLINE | \
307     SHARED_XLINE | SHARED_TXLINE | SHARED_UNXLINE | \
308     SHARED_RESV | SHARED_TRESV | SHARED_UNRESV |\
309     SHARED_LOCOPS)
310    
311     /* gline acl entry actions */
312     #define GDENY_BLOCK 0x1
313     #define GDENY_REJECT 0x2
314    
315     struct config_file_entry
316     {
317     const char *dpath; /* DPATH if set from command line */
318     const char *configfile;
319     const char *klinefile;
320     const char *xlinefile;
321     const char *rxlinefile;
322     const char *rklinefile;
323     const char *dlinefile;
324     const char *glinefile;
325     const char *cresvfile;
326     const char *nresvfile;
327    
328     char *logpath;
329     char *operlog;
330    
331     char *servlink_path;
332     char *egdpool_path;
333    
334     MessageFile motd;
335     MessageFile opermotd;
336     MessageFile linksfile;
337    
338     unsigned char compression_level;
339 michael 876 int max_watch;
340 adx 30 int gline_min_cidr;
341     int gline_min_cidr6;
342     int dot_in_ip6_addr;
343     int dots_in_ident;
344     int failed_oper_notice;
345     int anti_spam_exit_message_time;
346     int max_accept;
347     int max_nick_time;
348     int max_nick_changes;
349     int ts_max_delta;
350     int ts_warn_delta;
351     int anti_nick_flood;
352     int kline_with_reason;
353     int warn_no_nline;
354     int invisible_on_connect;
355 michael 584 int stats_e_disabled;
356 adx 30 int stats_o_oper_only;
357     int stats_k_oper_only;
358     int stats_i_oper_only;
359     int stats_P_oper_only;
360     int short_motd;
361     int no_oper_flood;
362     int true_no_oper_flood;
363     int oper_pass_resv;
364     int glines;
365     int hide_spoof_ips;
366     int burst_away;
367     int use_whois_actually;
368     int tkline_expire_notices;
369     int opers_bypass_callerid;
370     int ignore_bogus_ts;
371     char *kline_reason;
372     int pace_wait;
373     int pace_wait_simple;
374     int gline_time;
375     int gline_logging;
376     int idletime;
377     int oper_only_umodes;
378     int oper_umodes;
379     int max_targets;
380     int caller_id_wait;
381     int min_nonwildcard;
382     int min_nonwildcard_simple;
383     int kill_chase_time_limit;
384     int default_floodcount;
385     int client_flood;
386     /* 0 == don't use throttle... */
387     int throttle_time;
388     int use_egd;
389     int ping_cookie;
390     int disable_auth;
391     int disable_remote;
392     #ifdef HAVE_LIBCRYPTO
393     struct EncCapability *default_cipher_preference;
394     #endif
395     };
396    
397     struct config_channel_entry
398     {
399 michael 632 int disable_fake_channels;
400 adx 30 int restrict_channels;
401     int disable_local_channels;
402     int use_except;
403     int use_invex;
404     int use_knock;
405     int knock_delay;
406     int knock_delay_channel;
407     unsigned int max_bans;
408     unsigned int max_chans_per_user;
409     int no_create_on_split;
410     int no_join_on_split;
411     int quiet_on_ban;
412     int burst_topicwho;
413     int default_split_server_count;
414     int default_split_user_count;
415     };
416    
417     struct config_server_hide
418     {
419     int flatten_links;
420     int hide_servers;
421     char *hidden_name;
422     int links_delay;
423     int links_disabled;
424     int hidden;
425     int disable_hidden;
426     int hide_server_ips;
427     };
428    
429     struct server_info
430     {
431     char *name;
432     char *description;
433     char *network_name;
434     char *network_desc;
435     #ifdef HAVE_LIBCRYPTO
436     char *rsa_private_key_file;
437     RSA *rsa_private_key;
438     SSL_CTX *ctx;
439     #endif
440     char *sid;
441     int hub;
442     struct irc_ssaddr ip;
443     struct irc_ssaddr ip6;
444     int max_clients;
445     int specific_ipv4_vhost;
446     int specific_ipv6_vhost;
447     struct sockaddr_in dns_host;
448     int can_use_v6;
449     };
450    
451     struct admin_info
452     {
453     char *name;
454     char *description;
455     char *email;
456     };
457    
458     struct logging_entry
459     {
460     unsigned int use_logging;
461     char operlog[PATH_MAX + 1];
462     char userlog[PATH_MAX + 1];
463     char glinelog[PATH_MAX + 1];
464     char ioerrlog[PATH_MAX + 1];
465     char klinelog[PATH_MAX + 1];
466     char killlog[PATH_MAX + 1];
467     char operspylog[PATH_MAX + 1];
468     char failed_operlog[PATH_MAX + 1];
469     };
470    
471     extern int ypass;
472     extern dlink_list class_items;
473     extern dlink_list server_items;
474     extern dlink_list cluster_items;
475     extern dlink_list hub_items;
476     extern dlink_list rxconf_items;
477     extern dlink_list rkconf_items;
478     extern dlink_list leaf_items;
479     extern dlink_list temporary_klines;
480     extern dlink_list temporary_dlines;
481     extern dlink_list temporary_glines;
482     extern dlink_list temporary_xlines;
483     extern dlink_list temporary_rxlines;
484     extern dlink_list temporary_rklines;
485     extern struct logging_entry ConfigLoggingEntry;
486     extern struct config_file_entry ConfigFileEntry;/* defined in ircd.c*/
487     extern struct config_channel_entry ConfigChannel;/* defined in channel.c*/
488     extern struct config_server_hide ConfigServerHide; /* defined in s_conf.c */
489     extern struct server_info ServerInfo; /* defined in ircd.c */
490     extern struct admin_info AdminInfo; /* defined in ircd.c */
491     extern int valid_wild_card(struct Client *, int, int, ...);
492     /* End GLOBAL section */
493    
494     extern unsigned long get_sendq(struct Client *);
495     extern const char *get_client_class(struct Client *);
496     extern int get_client_ping(struct Client *, int *);
497     extern void check_class(void);
498     extern void init_class(void);
499     extern struct ConfItem *find_class(const char *);
500     extern void init_ip_hash_table(void);
501     extern void count_ip_hash(int *, unsigned long *);
502     extern void remove_one_ip(struct irc_ssaddr *);
503     extern struct ConfItem *make_conf_item(ConfType type);
504     extern void free_access_item(struct AccessItem *);
505     extern void read_conf_files(int);
506     extern int attach_conf(struct Client *, struct ConfItem *);
507     extern int attach_connect_block(struct Client *, const char *, const char *);
508    
509     extern int detach_conf(struct Client *, ConfType);
510    
511     extern struct ConfItem *find_conf_name(dlink_list *, const char *, ConfType);
512     extern struct ConfItem *find_conf_exact(ConfType, const char *, const char *, const char *);
513     extern struct AccessItem *find_kill(struct Client *);
514     extern struct AccessItem *find_gline(struct Client *);
515     extern int conf_connect_allowed(struct irc_ssaddr *, int);
516     extern char *oper_privs_as_string(const unsigned int);
517 michael 593 extern void split_nuh(struct split_nuh_item *);
518 adx 30 extern struct ConfItem *find_matching_name_conf(ConfType, const char *,
519     const char *, const char *, int);
520     extern struct ConfItem *find_exact_name_conf(ConfType, const char *,
521     const char *, const char *);
522     extern void delete_conf_item(struct ConfItem *);
523     extern void report_confitem_types(struct Client *, ConfType, int);
524     extern void yyerror(const char *);
525     extern int conf_yy_fatal_error(const char *);
526     extern int conf_fbgets(char *, unsigned int, FBFILE *);
527     extern void write_conf_line(struct Client *, struct ConfItem *,
528     const char *, time_t);
529     extern int remove_conf_line(ConfType, struct Client *, const char *,
530     const char *);
531     extern void add_temp_line(struct ConfItem *);
532     extern void cleanup_tklines(void *);
533     extern const char *get_conf_name(ConfType);
534     extern int rehash(int);
535 michael 593 extern int conf_add_server(struct ConfItem *, const char *);
536 adx 30 extern void conf_add_class_to_conf(struct ConfItem *, const char *);
537     extern void conf_add_d_conf(struct AccessItem *);
538    
539     /* XXX consider moving these into csvlib.h */
540     extern void parse_csv_file(FBFILE *, ConfType);
541    
542     extern char *get_oper_name(const struct Client *);
543    
544     extern void *map_to_conf(struct ConfItem *);
545     extern struct ConfItem *unmap_conf_item(void *);
546     /* XXX should the parse_aline stuff go into another file ?? */
547     #define AWILD 0x1 /* check wild cards */
548     #define NOUSERLOOKUP 0x2 /* Don't lookup the user@host on /rkline nick */
549     extern int parse_aline(const char *, struct Client *, int, char **,
550     int, char **, char **, time_t *, char **, char **);
551     extern int valid_comment(struct Client *, char *, int);
552    
553     /* XXX */
554     extern int yylex(void);
555    
556     #define TK_SECONDS 0
557     #define TK_MINUTES 1
558     extern time_t valid_tkline(char *, int);
559     extern int match_conf_password(const char *, const struct AccessItem *);
560    
561     #define NOT_AUTHORIZED (-1)
562 michael 618 #define I_LINE_FULL (-2)
563     #define TOO_MANY (-3)
564     #define BANNED_CLIENT (-4)
565     #define TOO_FAST (-5)
566 adx 30
567     #define CLEANUP_TKLINES_TIME 60
568    
569     extern void cluster_a_line(struct Client *,
570     const char *, int, int, const char *,...);
571     extern void rebuild_cidr_class(struct ConfItem *, struct ClassItem *);
572    
573     #endif /* INCLUDED_s_conf_h */

Properties

Name Value
svn:eol-style native
svn:keywords Id Revision