ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid-8/doc/example.efnet.conf
Revision: 912
Committed: Wed Nov 7 22:47:44 2007 UTC (18 years, 8 months ago) by michael
Original Path: ircd-hybrid-7.2/etc/example.efnet.conf.in
File size: 38041 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 michael 584 /* doc/example.efnet.conf - ircd-hybrid-7 EFnet Example configuration file
2 michael 583 * Copyright (C) 2000-2006 Hybrid Development Team
3 adx 30 *
4     * Written by ejb, wcampbel, db, leeh and others
5     * Other example configurations can be found in the source dir under
6     * etc/.
7     *
8 knight 31 * $Id$
9 adx 30 */
10    
11     /* IMPORTANT NOTES:
12     *
13     * auth {} blocks MUST be specified in order of precedence. The first one
14     * that matches a user will be used. So place spoofs first, then specials,
15     * then general access.
16     *
17     * Shell style (#), C++ style (//) and C style comments are supported.
18     *
19     * Files may be included by either:
20     * .include "filename"
21     * .include <filename>
22     *
23     * Times/durations are written as:
24     * 12 hours 30 minutes 1 second
25     *
26     * Valid units of time:
27     * month, week, day, hour, minute, second
28     *
29     * Valid units of size:
30     * megabyte/mbyte/mb, kilobyte/kbyte/kb, byte
31     *
32     * Sizes and times may be singular or plural.
33     */
34    
35     /* EFNET NOTE:
36 michael 583 *
37 adx 30 * This configuration file is a BASIC configuration file for use
38     * on EFnet. You MUST still take the time to set this file up
39     * properly.
40     *
41     * DISCLAIMER: This file was submitted by Disciple@EFnet and has
42     * since been modified by the Hybrid team.
43     */
44    
45 michael 583 /*
46     * serverinfo {}: contains information about the server. (OLD M:)
47     */
48 adx 30 serverinfo {
49 michael 583 /*
50     * name: the name of our server. This cannot be changed at runtime.
51     */
52 adx 30 name = "efnet.irc";
53    
54     /*
55 michael 583 * sid: a server's unique ID. This is three characters long and must
56     * be in the form [0-9][A-Z0-9][A-Z0-9]. The first character must be
57     * a digit, followed by 2 alpha-numerical letters.
58     * NOTE: The letters must be capitalized. This cannot be changed at runtime.
59 adx 30 */
60     sid = "_CHANGE_ME_";
61    
62     /*
63     * description: the description of the server. '[' and ']' may not
64     * be used here for compatibility with older servers.
65     */
66     description = "hybrid-7 test server";
67    
68     /*
69     * network info: the name and description of the network this server
70     * is on. Shown in the 005 reply and used with serverhiding.
71     */
72     network_name = "EFnet";
73     network_desc = "Eris Free Network";
74    
75     /*
76     * hub: allow this server to act as a hub and have multiple servers
77 michael 885 * connected to it.
78 adx 30 */
79     hub = no;
80    
81     /*
82     * vhost: the IP to bind to when we connect outward to ipv4 servers.
83     * This should be an ipv4 IP only, or "* for INADDR_ANY.
84     */
85     #vhost = "192.169.0.1";
86    
87     /*
88     * vhost6: the IP to bind to when we connect outward to ipv6 servers.
89     * This should be an ipv6 IP only, or "* for INADDR_ANY.
90     */
91     #vhost6 = "3ffe:80e8:546::2";
92    
93     /* max_clients: the maximum number of clients allowed to connect */
94     max_clients = 512;
95    
96     /*
97     * rsa key: the path to the file containing our rsa key for cryptlink.
98     *
99     * Example command to store a 2048 bit RSA keypair in
100     * rsa.key, and the public key in rsa.pub:
101     *
102     * openssl genrsa -out rsa.key 2048
103     * openssl rsa -in rsa.key -pubout -out rsa.pub
104     * chown <ircd-user>.<ircd.group> rsa.key rsa.pub
105     * chmod 0600 rsa.key
106     * chmod 0644 rsa.pub
107     */
108     #rsa_private_key_file = "/usr/local/ircd/etc/rsa.key";
109     };
110    
111 michael 583 /*
112     * admin {}: contains admin information about the server. (OLD A:)
113     */
114 adx 30 admin {
115     name = "EFnet Admin";
116     description = "Main Server Administrator";
117     email = "<irc-admin@efnet.irc>";
118     };
119    
120 michael 583 /*
121     * log {}: contains information about logfiles.
122     */
123     log {
124 adx 30 /* Do you want to enable logging to ircd.log? */
125     use_logging = yes;
126    
127     /*
128     * logfiles: the logfiles to use for user connects, /oper uses,
129     * and failed /oper. These files must exist for logging to be used.
130     */
131 michael 583 fname_userlog = "logs/userlog";
132     fname_operlog = "logs/operlog";
133     fname_killlog = "logs/kill";
134     fname_klinelog = "logs/kline";
135     fname_glinelog = "logs/gline";
136 adx 30
137     /*
138 michael 583 * log_level: the amount of detail to log in ircd.log. The
139 adx 30 * higher, the more information is logged. May be changed
140     * once the server is running via /quote SET LOG. Either:
141     * L_CRIT, L_ERROR, L_WARN, L_NOTICE, L_TRACE, L_INFO or L_DEBUG
142     */
143     log_level = L_INFO;
144     };
145    
146 michael 583 /*
147     * class {}: contains information about classes for users (OLD Y:)
148     */
149 adx 30 class {
150     /* name: the name of the class. classes are text now */
151     name = "users";
152    
153     /*
154     * ping_time: how often a client must reply to a PING from the
155     * server before they are dropped.
156     */
157     ping_time = 90 seconds;
158    
159 michael 583 /*
160     * number_per_ip: how many local users are allowed to connect
161     * from one IP (optional)
162     */
163 adx 30 number_per_ip = 2;
164    
165 michael 583 /*
166     * max_local: how many local users are allowed to connect
167     * from one ident@host (optional)
168     */
169 adx 30 max_local = 2;
170    
171 michael 583 /*
172     * max_global: network-wide limit of users per ident@host (optional)
173     */
174 adx 30 max_global = 10;
175    
176 michael 583 /*
177     * max_number: the maximum number of users allowed in this class (optional)
178     */
179 adx 30 max_number = 100;
180    
181 michael 583 /*
182     * the following lines are optional and allow you to define
183     * how many users can connect from one /NN subnet
184     */
185     cidr_bitlen_ipv4 = 24;
186     cidr_bitlen_ipv6 = 120;
187     number_per_cidr = 16;
188 adx 40
189 adx 30 /*
190     * sendq: the amount of data allowed in a clients queue before
191     * they are dropped.
192     */
193     sendq = 100 kbytes;
194     };
195    
196     class {
197     name = "opers";
198    
199     /*
200     * contrary to seeming popular belief, setting ping time
201     * higher for an oper is NOT doing them a favor.
202     * Since if a link is dead its dead and it means
203     * you have to use another nick long enough to kill the old one :-)
204     * Its much better to use a fairly standard 90 second ping time
205     */
206     ping_time = 90 seconds;
207     number_per_ip = 10;
208     max_number = 100;
209     sendq = 1 mbyte;
210     };
211    
212     class {
213     name = "server";
214    
215     /*
216 michael 583 * Same thing here. It's a fallacy to think increasing
217 adx 30 * ping time for servers is a "good idea." All it leads to
218     * is "ghosting" on one end. Not a good idea.
219     */
220     ping_time = 90 seconds;
221    
222 michael 583 /*
223     * ping_warning: how fast a server must reply to a PING before
224     * a warning to opers is generated.
225     */
226     ping_warning = 15 seconds;
227 adx 30
228     /*
229     * connectfreq: only used in server classes. Specifies the delay
230     * between autoconnecting to servers.
231     *
232     * Both comstud and I recommend 10 minutes a few years ago.
233     * 15 minutes might be right now. The reason you don't want it too
234     * low is, you make the servers reconnect too quickly with
235     * a large sendq, and they _will_ nick collide. badly. 5 minutes
236     * IS way too short.
237     */
238     connectfreq = 15 minutes;
239    
240     /* max number: the amount of servers to autoconnect to */
241     max_number = 1;
242    
243 michael 583 /* sendq: servers need a higher sendq as they send more data */
244 adx 30 sendq = 15 megabytes;
245     };
246    
247 michael 583 /*
248     * listen {}: contains information about the ports ircd listens on (OLD P:)
249     */
250 adx 30 listen {
251     /*
252     * port: the specific port to listen on. If no host is specified
253     * before, it will listen on all available IPs.
254     *
255     * Ports are separated via a comma, a range may be specified using ".."
256     */
257    
258     /* port: listen on all available IPs, ports 6665 to 6669 */
259     port = 6665 .. 6669;
260    
261     /*
262     * Listen on 192.168.0.1/7023 and hidden from STATS P
263     * unless you are an administrator.
264     *
265     * NOTE: The "flags" directive has to come before "port". Always!
266 michael 900 *
267     * Currently available flags are:
268     *
269     * ssl - Port is for SSL client connections only
270     * server - Only server connections are permitted
271     * hidden - Port is hidden from /stats P
272 adx 30 */
273     flags = hidden;
274     host = "192.168.0.1";
275     port = 7023;
276    
277     /*
278     * host: set a specific IP/host the ports after the line will listen
279     * on. This may be ipv4 or ipv6.
280     */
281     host = "1.2.3.4";
282     port = 7000, 7001;
283    
284     host = "3ffe:1234:a:b:c::d";
285     port = 7002;
286     };
287    
288 michael 583 /*
289     * auth {}: allow users to connect to the ircd (OLD I:)
290     */
291 adx 30 auth {
292     /*
293     * user: the user@host allowed to connect. Multiple IPv4/IPv6 user
294     * lines are permitted per auth block.
295     */
296     user = "*@172.16.0.0/12";
297     user = "*test@123D:B567:*";
298    
299     /* password: an optional password that is required to use this block */
300     password = "letmein";
301    
302     /*
303     * encrypted: controls whether the auth password above has been
304     * encrypted.
305     */
306     encrypted = yes;
307    
308     /*
309     * spoof: fake the users host to this. This is free-form,
310     * just do everyone a favor and don't abuse it. ('=' prefix on /stats I)
311     */
312     spoof = "I.still.hate.packets";
313    
314     /* class: the class the user is placed in */
315     class = "opers";
316    
317     /*
318     * need_password: don't allow users who haven't supplied the correct
319     * password to connect using another auth{} block
320     * ('&' prefix on /stats I if disabled)
321     * need_ident: require the user to have identd to connect ('+' prefix on /stats I)
322     * spoof_notice: enable spoofing notification to admins
323     * exceed_limit: allow a user to exceed class limits ('>' prefix on /stats I)
324     * kline_exempt: exempt this user from k/glines ('^' prefix on /stats I)
325     * gline_exempt: exempt this user from glines ('_' prefix on /stats I)
326     * resv_exempt: exempt this user from resvs ('$' prefix on /stats I)
327     * no_tilde: remove ~ from a user with no ident ('-' prefix on /stats I)
328     * can_flood: allow this user to exceed flood limits ('|' prefix on /stats I)
329 michael 390 * can_idle: exempt this user from idle restrictions ('<' prefix on /stats I)
330 adx 30 */
331     flags = need_password, spoof_notice, exceed_limit, kline_exempt,
332     gline_exempt, resv_exempt, no_tilde, can_flood, can_idle;
333     };
334    
335     auth {
336     /*
337     * redirect: the server and port to redirect a user to. A user does
338     * not have to obey the redirection, the ircd just suggests an alternative
339     * server for them.
340     */
341 db 806 redirserv = "this.is.not.a.real.server";
342 adx 30 redirport = 6667;
343    
344 db 806 user = "*.server";
345 adx 30
346     /* class: a class is required even though it is not used */
347     class = "users";
348     };
349    
350     auth {
351     user = "*@*";
352     class = "users";
353     flags = need_ident;
354     };
355    
356 michael 583 /*
357     * operator {}: defines ircd operators. (OLD O:)
358     *
359 adx 30 * ircd-hybrid no longer supports local operators, privileges are
360     * controlled via flags.
361     */
362     operator {
363     /* name: the name of the oper */
364 michael 583 /* NOTE: operator "opername"{} is also supported */
365 adx 30 name = "god";
366    
367     /*
368     * user: the user@host required for this operator. CIDR is not
369     * supported. Multiple user="" lines are supported.
370     */
371     user = "*god@*";
372     user = "*@127.0.0.1";
373    
374     /*
375     * password: the password required to oper. By default this will
376     * need to be encrypted using 'mkpasswd'. MD5 is supported.
377     */
378     password = "etcnjl8juSU1E";
379    
380     /*
381     * encrypted: controls whether the oper password above has been
382     * encrypted. (OLD CRYPT_OPER_PASSWORD now optional per operator)
383     */
384     encrypted = yes;
385    
386     /*
387     * rsa_public_key_file: the public key for this oper when using Challenge.
388     * A password should not be defined when this is used, see
389     * doc/challenge.txt for more information.
390     */
391     # rsa_public_key_file = "/usr/local/ircd/etc/oper.pub";
392    
393     /* class: the class the oper joins when they successfully /oper */
394     class = "opers";
395    
396     /*
397 michael 56 * umodes: default usermodes opers get when they /oper. If defined,
398     * it will override oper_umodes settings in general {}.
399     * Available usermodes:
400     *
401     * +b - bots - See bot and drone flooding notices
402     * +c - cconn - Client connection/quit notices
403 db 853 * +C - cconn_full - Client connection/quit notices full
404 michael 56 * +D - deaf - Don't receive channel messages
405     * +d - debug - See debugging notices
406     * +f - full - See I: line full notices
407     * +G - softcallerid - Server Side Ignore for users not on your channels
408     * +g - callerid - Server Side Ignore (for privmsgs etc)
409     * +i - invisible - Not shown in NAMES or WHO unless you share a
410     * a channel
411     * +k - skill - See server generated KILL messages
412     * +l - locops - See LOCOPS messages
413     * +n - nchange - See client nick changes
414     * +r - rej - See rejected client notices
415     * +s - servnotice - See general server notices
416     * +u - unauth - See unauthorized client notices
417     * +w - wallop - See server generated WALLOPS
418     * +x - external - See remote server connection and split notices
419     * +y - spy - See LINKS, STATS, TRACE notices etc.
420     * +z - operwall - See oper generated WALLOPS
421     */
422     # umodes = locops, servnotice, operwall, wallop;
423    
424     /*
425 adx 30 * privileges: controls the activities and commands an oper is
426     * allowed to do on the server. All options default to no.
427     * Available options:
428     *
429     * global_kill: allows remote users to be /KILL'd (OLD 'O' flag)
430     * remote: allows remote SQUIT and CONNECT (OLD 'R' flag)
431     * remoteban: allows remote KLINE/UNKLINE
432     * kline: allows KILL, KLINE and DLINE (OLD 'K' flag)
433     * unkline: allows UNKLINE and UNDLINE (OLD 'U' flag)
434     * gline: allows GLINE (OLD 'G' flag)
435 michael 583 * xline: allows XLINE (OLD 'X' flag)
436 adx 30 * operwall: allows OPERWALL
437     * nick_changes: allows oper to see nickchanges (OLD 'N' flag)
438     * via usermode +n
439     * rehash: allows oper to REHASH config (OLD 'H' flag)
440     * die: allows DIE and RESTART (OLD 'D' flag)
441     * admin: gives admin privileges. admins
442     * may (un)load modules and see the
443     * real IPs of servers.
444     * hidden_admin: same as 'admin', but noone can recognize you as
445 michael 583 * being an admin
446 adx 30 * hidden_oper: not shown in /stats p (except for other operators)
447     */
448     /* You can either use
449     * die = yes;
450     * rehash = yes;
451     *
452     * or in a flags statement i.e.
453     * flags = die, rehash;
454     *
455     * You can also negate a flag with ~ i.e.
456     * flags = ~remote;
457     *
458     */
459     flags = global_kill, remote, kline, unkline, xline,
460     die, rehash, nick_changes, admin, operwall;
461     };
462    
463 michael 583 /*
464     * connect {}: controls servers we connect to (OLD C:, N:, H:, L:)
465     */
466 adx 30 connect {
467     /* name: the name of the server */
468     name = "irc.uplink.com";
469    
470     /*
471     * host: the host or IP to connect to. If a hostname is used it
472     * must match the reverse dns of the server.
473     */
474     host = "192.168.0.1";
475    
476 michael 583 /*
477     * vhost: the IP to bind to when we connect outward to servers.
478     * serverinfo::vhost and serverinfo::vhost6 will be overridden
479     * by this directive.
480     */
481     vhost = "192.168.0.2";
482 michael 548
483 adx 30 /*
484     * passwords: the passwords we send (OLD C:) and accept (OLD N:).
485     * The remote server will have these passwords reversed.
486     */
487     send_password = "password";
488     accept_password = "anotherpassword";
489    
490     /*
491     * encrypted: controls whether the accept_password above has been
492     * encrypted. (OLD CRYPT_LINK_PASSWORD now optional per connect)
493     */
494     encrypted = no;
495    
496     /* port: the port to connect to this server on */
497     port = 6666;
498    
499     /*
500 michael 583 * hub_mask: the mask of servers that this server may hub. Multiple
501 adx 30 * entries are permitted
502     */
503     hub_mask = "*";
504    
505     /*
506     * leaf_mask: the mask of servers this server may not hub. Multiple
507     * entries are permitted. Useful for forbidding EU -> US -> EU routes.
508     */
509     # leaf_mask = "*.uk";
510    
511 michael 583 /* fakename: the servername we pretend to be when we connect */
512 adx 30 # fakename = "*.arpa";
513    
514     /* class: the class this server is in */
515     class = "server";
516    
517     /*
518 michael 124 * autoconn: controls whether we autoconnect to this server or not,
519 michael 583 * dependent on class limits. By default, this is disabled.
520 adx 30 * compressed: controls whether traffic is compressed via ziplinks.
521     * By default, this is disabled
522     * cryptlink: enable full encryption for all data passing between our
523     * server and this link and rsa authentication.
524     * burst_away: This will send the /away string that users have set
525 michael 583 * on the server burst. Note this can be a lot of data
526 adx 30 * and slow down your server burst.
527 michael 330 * topicburst: Send topics to this server during channel burst. Works
528     * only if the server we are connecting to is capable
529     * of TBURST/TB.
530 adx 30 */
531 michael 885 # flags = autoconn, compressed, cryptlink, burst_away, topicburst;
532 adx 30 };
533    
534     connect {
535     name = "encrypted.auth.example";
536     host = "some.host.somewhere";
537     port = 6667;
538    
539     flags = cryptlink;
540    
541     /*
542     * rsa_public_key_file: the path to the public keyfile of the server.
543     * Used instead of passwords.
544     */
545     rsa_public_key_file = "etc/remote.server.keyfile";
546    
547     /*
548     * cipher preference: set the preferred cipher for this link
549     *
550     * Available ciphers are:
551     * BF/168 BF/128 CAST/128 IDEA/128 RC5.16/128
552     * RC5.12/128 RC5.8/128 3DES/168 DES/56
553     *
554     * NOTE: Some ciphers may not be supported by your OpenSSL.
555     * Check the output from 'configure' for available ciphers.
556     *
557     * NOTE2: To help you decide what cipher to use, tools/encspeed
558     * will show you approximately how fast each cipher is.
559     * However, blowfish is fast and secure, and is probably
560     * a good default for most situations.
561     *
562     * NOTE3: Default if none is set is BF/128
563     *
564     * The cipher *MUST* be the same in both directions. If you
565     * set a cipher preference, your uplink must set the same cipher,
566     * else it will not link.
567     */
568     # cipher_preference = "BF/168";
569     };
570    
571     /*
572 michael 583 * NOTE: Don't add an extra 'name=' entry if you use
573 adx 30 * the connect "name"{} feature
574     */
575     connect "ipv6.some.server" {
576     host = "3ffd:dead:beef::1";
577     send_password = "password";
578     accept_password = "password";
579     port = 6666;
580    
581     /*
582     * aftype: controls whether the connection uses "ipv4" or "ipv6".
583     * Default is ipv4.
584     */
585     aftype = ipv6;
586     class = "server";
587     };
588    
589 michael 583 /*
590     * cluster {}: servers that share klines/unkline/xline/unxline/resv/unresv/locops
591 adx 30 * automatically (OLD hyb6 SLAVE_SERVERS)
592     */
593     cluster {
594 michael 583 /*
595     * name: the server to share with, this can take wildcards
596     *
597     * NOTE: only local actions will be clustered, meaning if
598 adx 30 * the server receives a shared kline/unkline/etc, it
599     * will not be propagated to clustered servers.
600     *
601     * Remote servers are not necessarily required to accept
602     * clustered lines, they need a shared{} for *THIS* server
603     * in order to accept them.
604     */
605     name = "*.arpa";
606    
607     /*
608     * type: list of what to share, options are as follows:
609     * kline - share klines
610     * tkline - share temporary klines
611     * unkline - share unklines
612     * xline - share xlines
613     * txline - share temporary xlines
614     * unxline - share unxlines
615     * resv - share resvs
616     * tresv - share temporary resvs
617     * unresv - share unresvs
618     * locops - share locops
619     * all - share all of the above (default)
620     */
621     type = kline, unkline, locops, xline, resv;
622     };
623    
624 michael 583 /*
625     * shared {}: users that are allowed to remote kline (OLD U:)
626 adx 30 *
627 michael 583 * NOTE: This can be effectively used for remote klines.
628     * Please note that there is no password authentication
629     * for users setting remote klines. You must also be
630     * /oper'd in order to issue a remote kline.
631 adx 30 */
632     shared {
633     /*
634     * name: the server the user must be on to set klines. If this is not
635     * specified, the user will be allowed to kline from all servers.
636     */
637     name = "irc2.some.server";
638    
639     /*
640     * user: the user@host mask that is allowed to set klines. If this is
641     * not specified, all users on the server above will be allowed to set
642     * a remote kline.
643     */
644     user = "oper@my.host.is.spoofed";
645    
646     /*
647     * type: list of what to share, options are as follows:
648     * kline - allow oper/server to kline
649     * tkline - allow temporary klines
650     * unkline - allow oper/server to unkline
651     * xline - allow oper/server to xline
652     * txline - allow temporary xlines
653     * unxline - allow oper/server to unxline
654     * resv - allow oper/server to resv
655     * tresv - allow temporary resvs
656     * unresv - allow oper/server to unresv
657     * locops - allow oper/server to locops - only used for servers that cluster
658     * all - allow oper/server to do all of the above (default)
659     */
660     type = kline, unkline, resv;
661     };
662    
663 michael 583 /*
664     * kill {}: users that are not allowed to connect (OLD K:)
665 adx 30 * Oper issued klines will be added to the specified kline config
666     */
667     kill {
668     user = "bad@*.hacked.edu";
669     reason = "Obviously hacked account";
670     };
671    
672     kill {
673     user = "^O[[:alpha:]]?[[:digit:]]+(x\.o|\.xo)$@^[[:alnum:]]{4}\.evilnet.org$";
674     type = regex;
675     };
676    
677 michael 583 /*
678     * deny {}: IPs that are not allowed to connect (before DNS/ident lookup)
679 adx 30 * Oper issued dlines will be added to the specified dline config
680     */
681     deny {
682     ip = "10.0.1.0/24";
683     reason = "Reconnecting vhosted bots";
684     };
685    
686 michael 583 /*
687     * exempt {}: IPs that are exempt from deny {} and Dlines. (OLD d:)
688 adx 30 *
689 michael 584 * EFnet Note: We really suggest to enable general::stats_e_disabled
690     * if you plan to exempt EFnet server IPs you don't want to show to
691     * other operators and/or administrators through "STATS e".
692 adx 30 */
693     exempt {
694     ip = "192.168.0.0/16";
695     };
696    
697 michael 583 /*
698     * resv {}: nicks and channels users may not use/join (OLD Q:)
699     */
700 adx 30 resv {
701     /* reason: the reason for the proceeding resv's */
702     reason = "There are no services on this network";
703    
704     /* resv: the nicks and channels users may not join/use */
705     nick = "nickserv";
706     nick = "chanserv";
707     nick = "operserv";
708     nick = "JUPES";
709     nick = "JUPE";
710     nick = "CH?NF?X"; # CHANFIX (services.int)
711    
712     /* These are totally optional, but may be a good idea */
713     nick = "oper";
714     nick = "ircop";
715     nick = "op";
716     nick = "ident";
717     nick = "pass";
718     channel = "#jupedchan";
719    
720     /* resv: wildcard masks are also supported in nicks only */
721     reason = "Clone bots";
722     nick = "clone*";
723     };
724    
725 michael 583 /*
726     * gecos {}: The X: replacement, used for banning users based on
727     * their "realname".
728 adx 30 */
729     gecos {
730     name = "*sex*";
731     reason = "Possible spambot";
732     };
733    
734     gecos {
735     name = "sub7server";
736     reason = "Trojan drone";
737     };
738    
739     gecos {
740     name = "*http*";
741     reason = "Spambot";
742     };
743    
744     gecos {
745     name = "^\[J[0o]hn Do[3e]\]-[0-9]{2,5}$";
746     type = regex;
747     };
748    
749     /*
750 michael 583 * channel {}: The channel block contains options pertaining to channels
751 adx 30 */
752     channel {
753 michael 56 /*
754 michael 632 * disable_fake_channels: this option, if set to 'yes', will
755     * disallow clients to create or join channels that have one
756     * of the following ASCII characters in their name:
757     *
758     * 2 | bold
759     * 3 | mirc color
760 michael 639 * 15 | plain text
761 michael 632 * 22 | reverse
762     * 31 | underline
763     * 160 | non-breaking space
764     */
765     disable_fake_channels = yes;
766    
767     /*
768 michael 56 * restrict_channels: reverse channel RESVs logic, only reserved
769     * channels are allowed
770     */
771     restrict_channels = no;
772 adx 30
773     /*
774     * disable_local_channels: prevent users from joining &channels.
775     */
776     disable_local_channels = no;
777    
778     /*
779     * use_invex: Enable/disable channel mode +I, a n!u@h list of masks
780     * that can join a +i channel without an invite.
781     */
782     use_invex = yes;
783    
784     /*
785     * use_except: Enable/disable channel mode +e, a n!u@h list of masks
786     * that can join a channel through a ban (+b).
787     */
788     use_except = yes;
789    
790     /*
791     * use_knock: Allows users to request an invite to a channel that
792     * is locked somehow (+ikl). If the channel is +p or you are banned
793     * the knock will not be sent.
794     *
795     * EFnet Note: This seems to be used mostly by European servers
796     * and not North American ones.
797 michael 583 * Please feel free to disable this if you do not
798     * want to run channel knock.
799 adx 30 * channel knock allows an user to "/quote knock #channel"
800 michael 583 * to ask for an invite. It is typically used in eu-efnet
801 adx 30 * to ask for an invite to #eu-opers.
802 adx 201 * A user who is banned will not have their knock
803 michael 583 * sent to channel. It is paced, so knock will not
804 adx 30 * cause a flood.
805     */
806     use_knock = yes;
807    
808     /*
809     * knock_delay: The amount of time a user must wait between issuing
810     * the knock command.
811     */
812     knock_delay = 1 minutes;
813    
814     /*
815     * knock_delay_channel: How often a knock to any specific channel
816     * is permitted, regardless of the user sending the knock.
817     */
818     knock_delay_channel = 1 minute;
819    
820 michael 583 /*
821     * burst_topicwho: enable sending of who set topic on topicburst
822     * default is yes
823     */
824 adx 201 burst_topicwho = yes;
825 adx 30
826 michael 583 /*
827     * max_chans_per_user: The maximum number of channels a user can
828     * join/be on.
829     */
830 adx 30 max_chans_per_user = 25;
831    
832     /* quiet_on_ban: stop banned people talking in channels. */
833     quiet_on_ban = yes;
834    
835     /* max_bans: maximum number of +b/e/I modes in a channel */
836     max_bans = 100;
837    
838     /*
839 adx 201 * how many joins in how many seconds constitute a flood, use 0 to
840     * disable. +b opers will be notified (changeable via /set)
841     */
842     join_flood_count = 16;
843     join_flood_time = 8 seconds;
844    
845     /*
846 adx 30 * splitcode: The ircd will now check splitmode every few seconds.
847     *
848     * Either split users or split servers can activate splitmode, but
849     * both conditions must be met for the ircd to deactivate splitmode.
850     *
851     * You may force splitmode to be permanent by /quote set splitmode on
852     */
853    
854     /*
855     * default_split_user_count: when the usercount is lower than this level,
856     * consider ourselves split. This must be set for automatic splitmode.
857     */
858     default_split_user_count = 40000;
859    
860     /*
861     * default_split_server_count: when the servercount is lower than this,
862     * consider ourselves split. This must be set for automatic splitmode.
863     */
864     default_split_server_count = 10;
865    
866     /* split no create: disallow users creating channels on split. */
867     no_create_on_split = yes;
868    
869     /* split: no join: disallow users joining channels at all on a split */
870     no_join_on_split = no;
871     };
872    
873     /*
874 michael 583 * serverhide {}: The serverhide block contains the options regarding
875     * serverhiding
876 adx 30 */
877     serverhide {
878     /*
879     * flatten_links: this option will show all servers in /links appear
880     * that they are linked to this current server
881     *
882     * EFnet Note: While this is not a requirement on EFnet, it
883     * may be a good idea. Except, it's useless
884     * unless the entire net runs it.
885     */
886     flatten_links = yes;
887    
888     /*
889     * links_delay: how often to update the links file when it is
890     * flattened.
891     */
892     links_delay = 5 minutes;
893    
894     /*
895     * hidden: hide this server from a /links output on servers that
896 michael 583 * support it. This allows hub servers to be hidden etc.
897 adx 30 */
898     hidden = no;
899    
900     /*
901     * disable_hidden: prevent servers hiding themselves from a
902     * /links output.
903     */
904     disable_hidden = no;
905    
906     /*
907     * hide_servers: hide remote servernames everywhere and instead use
908     * hidden_name and network_desc.
909     */
910     hide_servers = no;
911    
912     /*
913     * Use this as the servername users see if hide_servers = yes.
914     */
915 michael 583 hidden_name = "*.hidden.com";
916 adx 30
917     /*
918     * hide_server_ips: If this is disabled, opers will be unable to see servers
919     * ips and will be shown a masked ip, admins will be shown the real ip.
920     *
921     * If this is enabled, nobody can see a servers ip. *This is a kludge*, it
922     * has the side effect of hiding the ips everywhere, including logfiles.
923     *
924     * We recommend you leave this disabled, and just take care with who you
925     * give admin=yes; to.
926     */
927     hide_server_ips = yes;
928     };
929    
930     /*
931 michael 583 * general {}: The general block contains many of the options that were once
932     * compiled in options in config.h. The general block is read at start time.
933 adx 30 */
934     general {
935 michael 876 /* max_watch: maximum WATCH entries */
936     max_watch = 64;
937    
938 adx 30 /*
939     * gline_min_cidr: the minimum required length of a CIDR bitmask
940     * for IPv4 based glines
941     */
942     gline_min_cidr = 16;
943    
944     /*
945     * gline_min_cidr6: the minimum required length of a CIDR bitmask
946     * for IPv6 based glines
947     */
948     gline_min_cidr6 = 48;
949    
950     /*
951     * Whether to automatically set mode +i on connecting users.
952     */
953     invisible_on_connect = yes;
954    
955     /*
956     * If you don't explicitly specify burst_away in your connect blocks, then
957     * they will default to the burst_away value below.
958     */
959     burst_away = no;
960    
961     /*
962     * Show "actually using host <ip>" on /whois when possible.
963     */
964     use_whois_actually = yes;
965    
966     /*
967     * Max time from the nickname change that still causes KILL
968     * automatically to switch for the current nick of that user. (seconds)
969     */
970     kill_chase_time_limit = 90;
971    
972     /*
973     * If hide_spoof_ips is disabled, opers will be allowed to see the real IP of spoofed
974 michael 583 * users in /trace etc. If this is defined they will be shown a masked IP.
975 adx 30 */
976     hide_spoof_ips = yes;
977    
978     /*
979 michael 583 * Ignore bogus timestamps from other servers. Yes, this will desync
980 adx 30 * the network, but it will allow chanops to resync with a valid non TS 0
981     *
982     * This should be enabled network wide, or not at all.
983     */
984     ignore_bogus_ts = no;
985    
986     /*
987     * disable_auth: completely disable ident lookups; if you enable this,
988     * be careful of what you set need_ident to in your auth {} blocks
989     */
990     disable_auth = no;
991    
992     /* disable_remote_commands: disable users doing commands on remote servers */
993     disable_remote_commands = no;
994    
995     /*
996 michael 583 * tkline_expire_notices: enables or disables temporary kline/xline
997     * expire notices.
998 adx 30 */
999     tkline_expire_notices = no;
1000    
1001     /*
1002     * default_floodcount: the default value of floodcount that is configurable
1003     * via /quote set floodcount. This is the amount of lines a user
1004     * may send to any other user/channel in one second.
1005     */
1006     default_floodcount = 10;
1007    
1008     /*
1009     * failed_oper_notice: send a notice to all opers on the server when
1010     * someone tries to OPER and uses the wrong password, host or ident.
1011     */
1012     failed_oper_notice = yes;
1013    
1014     /*
1015     * dots_in_ident: the amount of '.' characters permitted in an ident
1016     * reply before the user is rejected.
1017     */
1018     dots_in_ident = 0;
1019    
1020     /*
1021     * dot_in_ip6_addr: ircd-hybrid-6.0 and earlier will disallow hosts
1022 michael 583 * without a '.' in them. This will add one to the end. Only needed
1023 adx 30 * for older servers.
1024     */
1025     dot_in_ip6_addr = no;
1026    
1027     /*
1028     * min_nonwildcard: the minimum non wildcard characters in k/d/g lines
1029     * placed via the server. klines hand placed are exempt from limits.
1030     * wildcard chars: '.' ':' '*' '?' '@' '!' '#'
1031     */
1032     min_nonwildcard = 3;
1033    
1034     /*
1035     * min_nonwildcard_simple: the minimum non wildcard characters in
1036     * gecos bans. wildcard chars: '*' '?' '#'
1037     */
1038     min_nonwildcard_simple = 3;
1039    
1040     /* max_accept: maximum allowed /accept's for +g usermode */
1041     max_accept = 20;
1042    
1043     /* anti_nick_flood: enable the nickflood control code */
1044     anti_nick_flood = yes;
1045    
1046     /* nick flood: the nick changes allowed in the specified period */
1047     max_nick_time = 20 seconds;
1048     max_nick_changes = 5;
1049    
1050     /*
1051     * anti_spam_exit_message_time: the minimum time a user must be connected
1052     * before custom quit messages are allowed.
1053     */
1054     anti_spam_exit_message_time = 5 minutes;
1055    
1056     /*
1057     * ts delta: the time delta allowed between server clocks before
1058     * a warning is given, or before the link is dropped. all servers
1059     * should run ntpdate/rdate to keep clocks in sync
1060     */
1061     ts_warn_delta = 30 seconds;
1062     ts_max_delta = 5 minutes;
1063    
1064     /*
1065     * kline_with_reason: show the user the reason why they are k/d/glined
1066     * on exit. May give away who set k/dline when set via tcm.
1067     */
1068     kline_with_reason = yes;
1069    
1070     /*
1071     * kline_reason: show this message to users on channel
1072     * instead of the oper reason.
1073     */
1074     kline_reason = "Connection closed";
1075    
1076 michael 583 /*
1077     * reject_hold_time: wait this amount of time before disconnecting
1078     * a rejected client. Use 0 to disable.
1079     */
1080     reject_hold_time = 30 seconds;
1081 adx 30
1082     /*
1083     * warn_no_nline: warn opers about servers that try to connect but
1084     * we don't have a connect {} block for. Twits with misconfigured
1085     * servers can get really annoying with this enabled.
1086     */
1087     warn_no_nline = yes;
1088    
1089 michael 584 /*
1090     * stats_e_disabled: set this to 'yes' to disable "STATS e" for both
1091     * operators and administrators. Doing so is a good idea in case
1092     * there are any exempted (exempt{}) server IPs you don't want to
1093     * see leaked.
1094     */
1095     stats_e_disabled = no;
1096    
1097 adx 30 /* stats_o_oper only: make stats o (opers) oper only */
1098     stats_o_oper_only = yes;
1099    
1100     /* stats_P_oper_only: make stats P (ports) oper only */
1101     stats_P_oper_only = yes;
1102    
1103     /*
1104     * stats i oper only: make stats i (auth {}) oper only. set to:
1105     * yes: show users no auth blocks, made oper only.
1106     * masked: show users first matching auth block
1107     * no: show users all auth blocks.
1108     */
1109     stats_i_oper_only = yes;
1110    
1111     /*
1112     * stats_k_oper_only: make stats k/K (klines) oper only. set to:
1113     * yes: show users no auth blocks, made oper only
1114     * masked: show users first matching auth block
1115     * no: show users all auth blocks.
1116     */
1117     stats_k_oper_only = yes;
1118 michael 583
1119 adx 30 /*
1120     * caller_id_wait: time between notifying a +g user that somebody
1121     * is messaging them.
1122     */
1123     caller_id_wait = 1 minute;
1124    
1125     /*
1126 michael 56 * opers_bypass_callerid: allows operators to bypass +g and message
1127     * anyone who has it set (useful if you use services).
1128     */
1129     opers_bypass_callerid = no;
1130    
1131     /*
1132 adx 30 * pace_wait_simple: time between use of less intensive commands
1133 adx 269 * (ADMIN, HELP, (L)USERS, VERSION, remote WHOIS)
1134 adx 30 */
1135     pace_wait_simple = 1 second;
1136    
1137     /*
1138     * pace_wait: time between more intensive commands
1139 adx 269 * (INFO, LINKS, LIST, MAP, MOTD, STATS, WHO, wildcard WHOIS, WHOWAS)
1140 adx 30 */
1141     pace_wait = 10 seconds;
1142    
1143     /*
1144     * short_motd: send clients a notice telling them to read the motd
1145     * instead of forcing a motd to clients who may simply ignore it.
1146     */
1147     short_motd = no;
1148    
1149     /*
1150     * ping_cookie: require clients to respond exactly to a ping command,
1151     * can help block certain types of drones and FTP PASV mode spoofing.
1152     */
1153     ping_cookie = no;
1154    
1155     /* no_oper_flood: increase flood limits for opers. */
1156     no_oper_flood = yes;
1157    
1158     /*
1159     * true_no_oper_flood: completely eliminate flood limits for opers
1160     * and for clients with can_flood = yes in their auth {} blocks
1161     */
1162     true_no_oper_flood = yes;
1163    
1164     /* oper_pass_resv: allow opers to over-ride RESVs on nicks/channels */
1165     oper_pass_resv = yes;
1166    
1167     /*
1168     * idletime: the maximum amount of time a user may idle before
1169     * they are disconnected
1170     */
1171     idletime = 0;
1172    
1173     /* REMOVE ME. The following line checks you've been reading. */
1174     havent_read_conf = 1;
1175    
1176     /*
1177     * max_targets: the maximum amount of targets in a single
1178     * PRIVMSG/NOTICE. Set to 999 NOT 0 for unlimited.
1179     */
1180     max_targets = 4;
1181    
1182     /*
1183     * client_flood: maximum amount of data in a clients queue before
1184     * they are dropped for flooding.
1185     */
1186     client_flood = 2560 bytes;
1187    
1188     /*
1189     * message_locale: the default message locale
1190     * Use "standard" for the compiled in defaults.
1191     * To install the translated messages, go into messages/ in the
1192     * source directory and run `make install'.
1193     */
1194     message_locale = "standard";
1195    
1196     /*
1197     * usermodes configurable: a list of usermodes for the options below
1198     *
1199     * +b - bots - See bot and drone flooding notices
1200     * +c - cconn - Client connection/quit notices
1201 db 853 * +C - cconn - Client connection/quit notices full
1202 adx 30 * +D - deaf - Don't receive channel messages
1203     * +d - debug - See debugging notices
1204     * +f - full - See I: line full notices
1205     * +G - softcallerid - Server Side Ignore for users not on your channels
1206     * +g - callerid - Server Side Ignore (for privmsgs etc)
1207     * +i - invisible - Not shown in NAMES or WHO unless you share a
1208     * a channel
1209     * +k - skill - See server generated KILL messages
1210     * +l - locops - See LOCOPS messages
1211     * +n - nchange - See client nick changes
1212     * +r - rej - See rejected client notices
1213     * +s - servnotice - See general server notices
1214     * +u - unauth - See unauthorized client notices
1215     * +w - wallop - See server generated WALLOPS
1216     * +x - external - See remote server connection and split notices
1217     * +y - spy - See LINKS, STATS, TRACE notices etc.
1218     * +z - operwall - See oper generated WALLOPS
1219     */
1220 michael 583
1221 adx 30 /* oper_only_umodes: usermodes only opers may set */
1222 db 853 oper_only_umodes = bots, cconn, cconn_full, debug, full, skill,
1223     nchange, rej, spy, external, operwall,
1224     locops, unauth;
1225 adx 30
1226     /* oper_umodes: default usermodes opers get when they /oper */
1227 adx 264 oper_umodes = bots, locops, servnotice, operwall, wallop;
1228 adx 30
1229     /*
1230     * servlink_path: path to 'servlink' program used by ircd to handle
1231     * encrypted/compressed server <-> server links.
1232     *
1233     * only define if servlink is not in same directory as ircd itself.
1234     */
1235     #servlink_path = "/usr/local/ircd/bin/servlink";
1236    
1237     /*
1238     * default_cipher_preference: default cipher to use for cryptlink when none is
1239     * specified in connect block.
1240     */
1241     #default_cipher_preference = "BF/168";
1242    
1243     /*
1244     * use_egd: if your system does not have *random devices yet you
1245     * want to use OpenSSL and encrypted links, enable this. Beware -
1246     * EGD is *very* CPU intensive when gathering data for its pool
1247     */
1248     # use_egd = yes;
1249    
1250     /*
1251     * egdpool_path: path to EGD pool. Not necessary for OpenSSL >= 0.9.7
1252     * which automatically finds the path.
1253     */
1254     # egdpool_path = "/var/run/egd-pool";
1255    
1256    
1257     /*
1258     * compression_level: level of compression for compressed links between
1259     * servers.
1260     *
1261     * values are between: 1 (least compression, fastest)
1262     * and: 9 (most compression, slowest).
1263     */
1264     # compression_level = 6;
1265    
1266     /*
1267     * throttle_time: the minimum amount of time between connections from
1268     * the same ip. exempt {} blocks are excluded from this throttling.
1269     * Offers protection against flooders who reconnect quickly.
1270     * Set to 0 to disable.
1271     */
1272     throttle_time = 0;
1273     };
1274    
1275     glines {
1276     /*
1277     * EFnet Note: This feature is required for European EFnet servers
1278     * and is used by several North American servers. As
1279     * such, it has been left on by default. If you
1280     * do not want your server to participate in G:Lines
1281     * you should disable this.
1282     */
1283    
1284     /* enable: enable glines, network wide temp klines */
1285     enable = yes;
1286    
1287 michael 583 /*
1288     * duration: the amount of time a gline will remain on your
1289     * server before expiring
1290     */
1291 adx 30 duration = 1 day;
1292    
1293 michael 583 /*
1294     * logging: which types of rules you want to log when triggered
1295     * (choose reject or block)
1296     */
1297 adx 30 logging = reject, block;
1298    
1299     /*
1300 michael 583 * NOTE: gline ACLs can cause a desync of glines throughout the
1301     * network, meaning some servers may have a gline triggered, and
1302     * others may not. Also, you only need insert rules for glines
1303     * that you want to block and/or reject. If you want to accept and
1304     * propagate the gline, do NOT put a rule for it.
1305 adx 30 */
1306    
1307     /* user@host for rule to apply to */
1308     user = "god@I.still.hate.packets";
1309     /* server for rule to apply to */
1310     name = "hades.arpa";
1311    
1312     /*
1313     * action: action to take when a matching gline is found. options are:
1314     * reject - do not apply the gline locally
1315     * block - do not propagate the gline
1316     */
1317     action = reject, block;
1318    
1319     user = "god@*";
1320     name = "*";
1321     action = block;
1322     };
1323    
1324     modules {
1325     /*
1326     * module path: other paths to search for modules specified below
1327     * and in /modload.
1328     */
1329 michael 912 path = "@LIBDIR@/modules";
1330     path = "@LIBDIR@/modules/autoload";
1331 adx 30
1332     /* module: the name of a module to load on startup/rehash */
1333     #module = "some_module.so";
1334     };

Properties

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