ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/releases/8.1.0beta4/doc/reference.conf
(Generate patch)

Comparing:
ircd-hybrid-8/doc/example.conf (file contents), Revision 1516 by michael, Thu Aug 30 15:08:36 2012 UTC vs.
ircd-hybrid/trunk/doc/reference.conf (file contents), Revision 1825 by michael, Sun Apr 14 19:54:48 2013 UTC

# Line 1 | Line 1
1 < /* doc/example.conf - ircd-hybrid-8 Example configuration file
2 < * Copyright (C) 2000-2012 Hybrid Development Team
1 > /* ircd-hybrid reference configuration file
2 > * Copyright (C) 2000-2013 Hybrid Development Team
3   *
4   * Written by ejb, wcampbel, db, leeh and others
5 * Other example configurations can be found in the source dir under
6 * etc/.
5   *
6   * $Id$
7   */
8  
9 < /* IMPORTANT NOTES:
9 > /*
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   *
18   * Shell style (#), C++ style (//) and C style comments are supported.
19   *
# Line 24 | Line 25
25   *        12 hours 30 minutes 1 second
26   *        
27   * Valid units of time:
28 < *        month, week, day, hour, minute, second
28 > *        year, month, week, day, hour, minute, second
29   *
30   * Valid units of size:
31   *        megabyte/mbyte/mb, kilobyte/kbyte/kb, byte
# Line 32 | Line 33
33   * Sizes and times may be singular or plural.  
34   */
35  
36 < /* EFNET NOTE:
36 < *
37 < * This config file is NOT suitable for EFNet.  EFNet admins should use
38 < * example.efnet.conf
39 < */
40 <
36 >
37   /*
38   * serverinfo {}:  contains information about the server
39   */
# Line 53 | Line 49 | serverinfo {
49           * a digit, followed by 2 alpha-numerical letters.
50           * NOTE: The letters must be capitalized.  This cannot be changed at runtime.
51           */
52 <        sid = "_CHANGE_ME_";
52 >        sid = "0HY";
53  
54          /*
55 <         * description: the description of the server.  '[' and ']' may not
60 <         * be used here for compatibility with older servers.
55 >         * description: the description of the server.
56           */
57 <        description = "hybrid-7 test server";
57 >        description = "ircd-hybrid test server";
58  
59          /*
60           * network info: the name and description of the network this server
# Line 90 | Line 85 | serverinfo {
85          max_clients = 512;
86  
87          /*
88 +         * max_nick_length: only applies to local clients. Must be in the
89 +         * range of 9 to 30. Default is 9 if nothing else is specified.
90 +         */
91 +        max_nick_length = 9;
92 +
93 +        /*
94 +         * max_topic_length: only applies to topics set by local clients.
95 +         * Must be in the range of 80 to 300. Default is 80 if nothing
96 +         * else is specified.
97 +         */
98 +        max_topic_length = 160;
99 +
100 +        /*
101           * rsa_private_key_file: the path to the file containing our
102           * rsa key for cryptlink.
103           *
# Line 124 | Line 132 | serverinfo {
132           */
133          #ssl_certificate_file = "/usr/local/ircd/etc/cert.pem";
134  
127
135          /*
136           * ssl_dh_param_file:
137           *
# Line 136 | Line 143 | serverinfo {
143           *
144           *      openssl dhparam -out dhparam.pem 1024
145           *
146 <         * Further information regarding specific OpenSSL dhparam
147 <         * command-line options can be found in the OpenSSL manual.
146 >         * Prime size must be at least 1024 bits. Further information
147 >         * regarding specific OpenSSL dhparam command-line options
148 >         * can be found in the OpenSSL manual.
149           */
150          #ssl_dh_param_file = "/usr/local/ircd/etc/dhparam.pem";
151  
152          /*
153           * ssl_cipher_list:
154           *
155 <         * List of ciphers that are supported by _this_ server. Can be used to enforce
156 <         * specific ciphers for incoming SSL/TLS connections.
157 <         * If a client (which also includes incoming server connections) isn't capable
158 <         * of any cipher listed below, the connection will simply be rejected.
155 >         * List of ciphers that are supported by _this_ server. Can be used to
156 >         * enforce specific ciphers for incoming SSL/TLS connections.
157 >         * If a client (which also includes incoming server connections) isn't
158 >         * capable of any cipher listed below, the connection will simply be
159 >         * rejected.
160           *
161           * A list of supported ciphers can be obtained by running:
162           *
163           *      openssl ciphers -ssl3 -tls1 -v
164           *
165 <         * Multiple ciphers are separated by colons. The order of preference is from
166 <         * left to right.
165 >         * Multiple ciphers are separated by colons. The order of preference is
166 >         * from left to right.
167           */
168          #ssl_cipher_list = "DHE-RSA-AES256-SHA:AES256-SHA";
169  
# Line 165 | Line 174 | serverinfo {
174           * SSL/TLS methods we provide for incoming (server method) and
175           * outgoing (client method) SSL/TLS connections.
176           * This can be either sslv3 for SSLv3, and/or tlsv1 for TLSv1.
168         * SSLv2 is not suppported.
177           */
178          #ssl_server_method = tlsv1, sslv3;
179          #ssl_client_method = tlsv1;
# Line 184 | Line 192 | admin {
192   * class {}:  contains information about classes for users
193   */
194   class {
195 <        /* name: the name of the class.  classes are text now */
195 >        /* name: the name of the class */
196          name = "users";
197  
198          /*
# Line 224 | Line 232 | class {
232          number_per_cidr = 16;
233  
234          /*
235 <         * sendq: the amount of data allowed in a clients queue before
235 >         * sendq: the amount of data allowed in a clients send queue before
236           * they are dropped.
237           */
238          sendq = 100 kbytes;
239  
240          /*
241 <         * recvq: maximum amount of data in a clients queue before they
242 <         * are dropped for flooding. Defaults to 2560 if the chosen
241 >         * recvq: maximum amount of data in a clients receive queue before
242 >         * they are dropped for flooding. Defaults to 2560 if the chosen
243           * value isn't within the range of 512 to 8000.
244           */
245          recvq = 2560 bytes;
238
246   };
247  
248   class {
# Line 244 | Line 251 | class {
251          number_per_ip = 10;
252          max_number = 100;
253          sendq = 100 kbytes;
254 +
255 +        /*
256 +         * min_idle: minimum idle time that is shown in /whois
257 +         */
258 +        min_idle = 3 hours;
259 +
260 +        /*
261 +         * max_idle: maximum idle time that is shown in /whois
262 +         */
263 +        max_idle = 8 hours;
264 +
265 +        /*
266 +         * flags:
267 +         *
268 +         * random_idle          - idle time is randomly selected within the
269 +         *                        range of min_idle to max_idle
270 +         * hide_idle_from_opers - fake idle time will be shown to operators, too
271 +         */
272 +        flags = random_idle, hide_idle_from_opers;
273   };
274  
275   class {
# Line 251 | Line 277 | class {
277          ping_time = 90 seconds;
278  
279          /*
254         * ping_warning: how fast a server must reply to a PING before
255         * a warning to opers is generated.
256         */
257        ping_warning = 15 seconds;
258
259        /*
280           * connectfreq: only used in server classes.  Specifies the delay
281           * between autoconnecting to servers.
282           */
# Line 291 | Line 311 | listen {
311           *
312           * Currently available flags are:
313           *
314 <         *  ssl    - Port is for SSL client connections only
314 >         *  ssl    - Port may only accept TLS/SSL connections
315           *  server - Only server connections are permitted
316           *  hidden - Port is hidden from /stats P, unless you're an admin
317           */
# Line 315 | Line 335 | listen {
335   */
336   auth {
337          /*
338 <         * user: the user@host allowed to connect.  Multiple IPv4/IPv6 user
338 >         * user: the user@host allowed to connect. Multiple user
339           * lines are permitted per auth block.
340           */
341          user = "*@172.16.0.0/12";
# Line 351 | Line 371 | auth {
371           * resv_exempt   - exempt this user from resvs ('$' prefix on /stats I)
372           * no_tilde      - remove ~ from a user with no ident ('-' prefix on /stats I)
373           * can_flood     - allow this user to exceed flood limits ('|' prefix on /stats I)
374 +         * webirc        - enables WEBIRC authentication for web-based clients such as Mibbit
375 +         *                 ('<' prefix on /stats I)
376           */
377          flags = need_password, spoof_notice, exceed_limit, kline_exempt,
378                  gline_exempt, resv_exempt, no_tilde, can_flood;
# Line 385 | Line 407 | auth {
407   */
408   operator {
409          /* name: the name of the oper */
410 <        name = "god";
410 >        name = "sheep";
411  
412          /*
413           * user: the user@host required for this operator. Multiple
414           * user="" lines are supported.
415           */
416 <        user = "*god@192.168.0.0/16";
416 >        user = "*sheep@192.168.0.0/16";
417          user = "*@127.0.0.0/8";
418  
419          /*
# Line 430 | Line 452 | operator {
452           * +C - cconn_full   - Client connection/quit notices full
453           * +D - deaf         - Don't receive channel messages
454           * +d - debug        - See debugging notices
455 +         * +e - external     - See remote server connection and split notices
456           * +f - full         - See auth{} block full notices
457           * +G - softcallerid - Server Side Ignore for users not on your channels
458           * +g - callerid     - Server Side Ignore (for privmsgs etc)
# Line 443 | Line 466 | operator {
466           * +s - servnotice   - See general server notices
467           * +u - unauth       - See unauthorized client notices
468           * +w - wallop       - See server generated WALLOPS
446         * +x - external     - See remote server connection and split notices
469           * +y - spy          - See LINKS, STATS, TRACE notices etc.
470           * +z - operwall     - See oper generated WALLOPS
471           */
# Line 478 | Line 500 | operator {
500                  die, rehash, nick_changes, admin, operwall, module;
501   };
502  
503 + /*
504 + * service {}: specifies what server may act as a network service
505 + *
506 + * NOTE: it is absolutely important that every single server on the network
507 + *       has the same service{} block.
508 + */
509   service {
510          name = "service.someserver";
511          name = "stats.someserver";
# Line 534 | Line 562 | connect {
562          /* class: the class this server is in */
563          class = "server";
564  
565 +        /*
566 +         * ssl_cipher_list:
567 +         *
568 +         * List of ciphers that the server we are connecting to must support.
569 +         * If the server isn't capable of any cipher listed below, the
570 +         * connection will simply be rejected.
571 +         * Can be used to enforce stronger ciphers, even though this option
572 +         * is not necessarily required to establish a SSL/TLS connection.
573 +         *
574 +         * Multiple ciphers are separated by colons. The order of preference
575 +         * is from left to right.
576 +         */
577          #ssl_cipher_list = "DHE-RSA-AES256-SHA:AES256-SHA";
578  
579          /*
580           * autoconn   - controls whether we autoconnect to this server or not,
581           *              dependent on class limits. By default, this is disabled.
542         * burst_away - This will send the /away string that users have set
543         *              on the server burst. Note this can be a lot of data
544         *              and slow down your server burst.
545         * topicburst - Send topics to this server during channel burst. Works
546         *              only if the server we are connecting to is capable
547         *              of TBURST.
582           * ssl        - Initiates a TLS/SSL connection.
583           */
584 < #       flags = autoconn, burst_away, topicburst;
584 > #       flags = autoconn, ssl;
585   };
586  
587   connect {
# Line 675 | Line 709 | exempt {
709   /*
710   * resv {}:  nicks and channels users may not use/join
711   */
712 < resv {
713 <        /* reason: the reason for the proceeding resv's */
714 <        reason = "Reserved for services";
715 <
716 <        /* resv: the nicks and channels users may not join/use */
717 <        nick = "Global";
718 <        nick = "DevNull";
719 <        nick = "BotServ";
720 <        nick = "Services";
687 <        nick = "StatServ";
688 <        nick = "HelpServ";
689 <        nick = "HostServ";
690 <        nick = "NickServ";
691 <        nick = "ChanServ";
692 <        nick = "MemoServ";
693 <        nick = "OperServ";
694 <        channel = "#services";
695 <
696 <        /* resv: wildcard masks are also supported in nicks only */
697 <        reason = "Clone bots";
698 <        nick = "clone*";
699 < };
712 > resv { nick = "clone*"; reason = "Clone bots"; };
713 > resv { nick = "NickServ"; reason = "Reserved for services"; };
714 > resv { nick = "OperServ"; reason = "Reserved for services"; };
715 > resv { nick = "MemoServ"; reason = "Reserved for services"; };
716 > resv { nick = "BotServ"; reason = "Reserved for services"; };
717 > resv { nick = "HelpServ"; reason = "Reserved for services"; };
718 > resv { nick = "HostServ"; reason = "Reserved for services"; };
719 > resv { nick = "StatServ"; reason = "Reserved for services"; };
720 > resv { channel = "#*services*"; reason = "Reserved for services"; };
721  
722   /*
723   * gecos {}:  The X: replacement, used for banning users based on
# Line 713 | Line 734 | gecos {
734   };
735  
736   gecos {
716        name = "*http*";
717        reason = "Spambot";
718 };
719
720 gecos {
737          name = "^\[J[0o]hn Do[3e]\]-[0-9]{2,5}$";
738  
739          /*
# Line 780 | Line 796 | channel {
796          quiet_on_ban = yes;
797  
798          /* max_bans: maximum number of +b/e/I modes in a channel */
799 <        max_bans = 25;
799 >        max_bans = 100;
800  
801          /*
802           * how many joins in how many seconds constitute a flood, use 0 to
# Line 861 | Line 877 | serverhide {
877           * logfiles.
878           *
879           * We recommend you leave this disabled, and just take care with who you
880 <         * give admin=yes; to.
880 >         * give administrator privileges to.
881           */
882          hide_server_ips = no;
883   };
884  
885   /*
886   * general {}:  The general block contains many of the options that were once
887 < * compiled in options in config.h.  The general block is read at start time.
887 > * compiled in options in config.h
888   */
889   general {
890          /* services_name: servername of nick/channel services */
# Line 910 | Line 926 | general {
926          invisible_on_connect = yes;
927  
928          /*
913         * Show "actually using host <ip>" on /whois when possible.
914         */
915        use_whois_actually = yes;
916
917        /*
929           * Max time from the nickname change that still causes KILL
930           * automatically to switch for the current nick of that user.
931           */
# Line 1007 | Line 1018 | general {
1018          ts_max_delta = 5 minutes;
1019  
1020          /*
1010         * kline_with_reason: show the user the reason why they are k/d/glined
1011         * on exit.  May give away who set k/dline when set via tcm.
1012         */
1013        kline_with_reason = yes;
1014
1015        /*
1016         * kline_reason: show this message to users on channel
1017         * instead of the oper reason.
1018         */
1019        kline_reason = "Connection closed";
1020
1021        /*
1022         * reject_hold_time: wait this amount of time before disconnecting
1023         * a rejected client. Use 0 to disable.
1024         */
1025        reject_hold_time = 0;
1026
1027        /*
1021           * warn_no_nline: warn opers about servers that try to connect but
1022           * we don't have a connect {} block for.  Twits with misconfigured
1023           * servers can get really annoying with this enabled.
# Line 1134 | Line 1127 | general {
1127           * +C - cconn_full   - Client connection/quit notices full
1128           * +D - deaf         - Don't receive channel messages
1129           * +d - debug        - See debugging notices
1130 +         * +e - external     - See remote server connection and split notices
1131           * +f - full         - See auth{} block full notices
1132           * +G - softcallerid - Server Side Ignore for users not on your channels
1133           * +g - callerid     - Server Side Ignore (for privmsgs etc)
# Line 1147 | Line 1141 | general {
1141           * +s - servnotice   - See general server notices
1142           * +u - unauth       - See unauthorized client notices
1143           * +w - wallop       - See server generated WALLOPS
1150         * +x - external     - See remote server connection and split notices
1144           * +y - spy          - See LINKS, STATS, TRACE notices etc.
1145           * +z - operwall     - See oper generated WALLOPS
1146           */
# Line 1241 | Line 1234 | log {
1234                  type = debug;
1235                  name = "/home/ircd/var/log/debug.log";
1236                  size = 50 megabytes;
1237 <        };
1237 >        };
1238   };

Diff Legend

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