/[svn]/ircd-hybrid/etc/example.conf
ViewVC logotype

Diff of /ircd-hybrid/etc/example.conf

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

revision 756 by michael, Tue Feb 7 14:19:52 2006 UTC revision 757 by michael, Fri Aug 18 10:41:40 2006 UTC
# Line 1  Line 1 
1  /* doc/example.conf - ircd-hybrid-7 Example configuration file  /* doc/example.conf - ircd-hybrid-7 Example configuration file
2   * Copyright (C) 2000-2005 Hybrid Development Team   * Copyright (C) 2000-2006 Hybrid Development Team
3   *   *
4   * Written by ejb, wcampbel, db, leeh and others   * Written by ejb, wcampbel, db, leeh and others
5   * Other example configurations can be found in the source dir under   * Other example configurations can be found in the source dir under
# Line 38  Line 38 
38   * example.efnet.conf   * example.efnet.conf
39   */   */
40    
41   /* serverinfo {}:  Contains information about the server. (OLD M:) */  /*
42     * serverinfo {}:  contains information about the server. (OLD M:)
43     */
44  serverinfo {  serverinfo {
45          /* name: the name of our server */          /*
46             * name: the name of our server
47             */
48          name = "hades.arpa";          name = "hades.arpa";
49    
50          /*          /*
51           * A server's unique ID. This is three characters long and must be in           * sid: a server's unique ID. This is three characters long and must
52           * the form [0-9][A-Z0-9][A-Z0-9].  The first character must be a           * be in the form [0-9][A-Z0-9][A-Z0-9].  The first character must be
53           * digit, followed by 2 alpha-numerical letters.           * a digit, followed by 2 alpha-numerical letters.
54           * Note: The letters must be capitalized.           * Note: The letters must be capitalized.  This cannot be changed at
55             * runtime.
56           */           */
57          sid = "_CHANGE_ME_";          sid = "_CHANGE_ME_";
58    
# Line 86  serverinfo { Line 91  serverinfo {
91          max_clients = 512;          max_clients = 512;
92    
93          /*          /*
94           * rsa key: the path to the file containing our rsa key for cryptlink.           * rsa_private_key_file: the path to the file containing our
95             * rsa key for cryptlink.
96           *           *
97           * Example command to store a 2048 bit RSA keypair in           * Example command to store a 2048 bit RSA keypair in
98           * rsa.key, and the public key in rsa.pub:           * rsa.key, and the public key in rsa.pub:
99           *           *
100           *      openssl genrsa -out rsa.key 2048           *      openssl genrsa -out rsa.key 2048
101           *      openssl rsa -in rsa.key -pubout -out rsa.pub           *      openssl rsa -in rsa.key -pubout -out rsa.pub
102           *      chown <ircd-user>.<ircd.group> rsa.key rsa.pub           *      chown <ircd-user>.<ircd.group> rsa.key rsa.pub
103           *      chmod 0600 rsa.key           *      chmod 0600 rsa.key
# Line 100  serverinfo { Line 106  serverinfo {
106          #rsa_private_key_file = "/usr/local/ircd/etc/rsa.key";          #rsa_private_key_file = "/usr/local/ircd/etc/rsa.key";
107    
108          /*          /*
109           * ssl certificate: the path to the file containing our ssl certificate           * ssl_certificate_file: the path to the file containing our ssl
110           * for encrypted client connection.           * certificate for encrypted client connection.
111           *           *
112           * This assumes your private RSA key is stored in rsa.key. You           * This assumes your private RSA key is stored in rsa.key. You
113           * MUST have an RSA key in order to generate the certificate           * MUST have an RSA key in order to generate the certificate
114           *           *
115           *      openssl req -new -days 3652 -x509 -key rsa.key -out cert.pem           *      openssl req -new -days 365 -x509 -key rsa.key -out cert.pem
116           *           *
117           * See http://www.openssl.org/docs/HOWTO/certificates.txt           * See http://www.openssl.org/docs/HOWTO/certificates.txt
118           *           *
# Line 120  serverinfo { Line 126  serverinfo {
126          #ssl_certificate_file = "/usr/local/ircd/etc/cert.pem";          #ssl_certificate_file = "/usr/local/ircd/etc/cert.pem";
127  };  };
128    
129  /* admin {}: contains admin information about the server. (OLD A:) */  /*
130     * admin {}:  contains admin information about the server. (OLD A:)
131     */
132  admin {  admin {
133          name = "Admin's name";          name = "Admin's name";
134          description = "Main Server Administrator";          description = "Main Server Administrator";
135          email = "<irc-admin@network.tld>";          email = "<irc-admin@network.tld>";
136  };  };
137    
138  /* logging {}: contains information about logfiles. */  /*
139  logging {   * log {}:  contains information about logfiles.
140     */
141    log {
142          /* Do you want to enable logging to ircd.log? */          /* Do you want to enable logging to ircd.log? */
143          use_logging = yes;          use_logging = yes;
144    
# Line 136  logging { Line 146  logging {
146           * logfiles: the logfiles to use for user connects, /oper uses,           * logfiles: the logfiles to use for user connects, /oper uses,
147           * and failed /oper.  These files must exist for logging to be used.           * and failed /oper.  These files must exist for logging to be used.
148           */           */
149          fuserlog = "logs/userlog";          fname_userlog = "logs/userlog";
150          foperlog = "logs/operlog";          fname_operlog = "logs/operlog";
151          fkilllog = "logs/kill";          fname_killlog = "logs/kill";
152          fklinelog = "logs/kline";          fname_klinelog = "logs/kline";
153          fglinelog = "logs/gline";          fname_glinelog = "logs/gline";
154    
155          /*          /*
156           * log level: the amount of detail to log in ircd.log.  The           * log level: the amount of detail to log in ircd.log.  The
# Line 151  logging { Line 161  logging {
161          log_level = L_INFO;          log_level = L_INFO;
162  };  };
163    
 /*  log is a synonym for logging  
  *  fname_userlog is a synonym for fuserlog  
  *  fname_operlog is a synonym for foperlog  
  *  fname_killlog is a synonym for fkilllog  
  *  fname_glinelog is a synonym for fglinelog  
  *  hence this is equivalent to the above  
  */  
 log {  
         fname_userlog = "logs/userlog";  
         fname_operlog = "logs/operlog";  
         fname_killlog = "logs/kill";  
         fname_klinelog = "logs/kline";  
         fname_glinelog = "logs/gline";  
         log_level = L_INFO;  
 };  
   
164  /* class {}: contain information about classes for users (OLD Y:)  /* class {}: contain information about classes for users (OLD Y:)
165   * ALL FIELDS EXCEPT 'name' ARE OPTIONAL. */   * ALL FIELDS EXCEPT 'name' ARE OPTIONAL. */
166  class {  class {
# Line 213  class { Line 207  class {
207    
208  class {  class {
209          name = "opers";          name = "opers";
210          ping_time = 5 minutes;          ping_time = 90 seconds;
211          host_limit = 10;          host_limit = 10;
212          max_total = 100;          max_total = 100;
213          sendq = 100kbytes;          sendq = 100kbytes;
# Line 221  class { Line 215  class {
215    
216  class {  class {
217          name = "server";          name = "server";
218          ping_time = 1 minute 30 seconds;          ping_time = 90 seconds;
219    
220          /*          /*
221           * ping_warning: how quickly a server must reply to a PING before           * ping_warning: how quickly a server must reply to a PING before
# Line 242  class { Line 236  class {
236          sendq = 2 megabytes;          sendq = 2 megabytes;
237  };  };
238    
239  /* listen {}: contain information about the ports ircd listens on (OLD P:) */  /*
240     * listen {}:  contains information about the ports ircd listens on (OLD P:)
241     */
242  listen {  listen {
243          /*          /*
244           * port: the specific port to listen on.  If no host is specified           * port: the specific port to listen on.  If no host is specified
# Line 275  listen { Line 271  listen {
271          port = 7002;          port = 7002;
272  };  };
273    
274  /* auth {}: allow users to connect to the ircd (OLD I:) */  /*
275     * auth {}:  allow users to connect to the ircd (OLD I:)
276     */
277  auth {  auth {
278          /*          /*
279           * user: the user@host allowed to connect.  Multiple IPv4/IPv6 user           * user: the user@host allowed to connect.  Multiple IPv4/IPv6 user
# Line 341  auth { Line 339  auth {
339          flags = need_ident;          flags = need_ident;
340  };  };
341    
342  /* operator {}: defines ircd operators. (OLD O:)  /*
343     * operator {}: defines ircd operators. (OLD O:)
344     *
345   * ircd-hybrid no longer supports local operators, privileges are   * ircd-hybrid no longer supports local operators, privileges are
346   * controlled via flags.   * controlled via flags.
347   */   */
# Line 351  operator { Line 351  operator {
351          name = "chuck";          name = "chuck";
352    
353          /*          /*
354           * user: the user@host required for this operator.  CIDR is not           * user: the user@host required for this operator.  CIDR is
355           * supported.  Multiple user="" lines are supported.           * supported.  Multiple user="" lines are supported.
356           */           */
357          user = "*norris@*";          user = "*norris@*";
358          user = "*@127.0.0.1";          user = "*@192.168.0.0/16";
359    
360          /*          /*
361           * password: the password required to oper.  By default this will           * password: the password required to oper.  By default this will
# Line 445  operator { Line 445  operator {
445                  die, rehash, nick_changes, admin, operwall;                  die, rehash, nick_changes, admin, operwall;
446  };  };
447    
448  /* connect {}: controls servers we connect to (OLD C:, N:, H:, L:) */  /*
449     * connect {}:  controls servers we connect to (OLD C:, N:, H:, L:)
450     */
451  connect {  connect {
452          /* name: the name of the server */          /* name: the name of the server */
453          name = "irc.uplink.com";          name = "irc.uplink.com";
# Line 457  connect { Line 459  connect {
459          host = "192.168.0.1";          host = "192.168.0.1";
460    
461          /*          /*
462             * vhost: the IP to bind to when we connect outward to servers.
463             * serverinfo::vhost and serverinfo::vhost6 will be overridden
464             * by this directive.
465             */
466            vhost = "192.168.0.2";
467    
468            /*
469           * passwords: the passwords we send (OLD C:) and accept (OLD N:).           * passwords: the passwords we send (OLD C:) and accept (OLD N:).
470           * The remote server will have these passwords reversed.           * The remote server will have these passwords reversed.
471           */           */
# Line 484  connect { Line 493  connect {
493           */           */
494  #       leaf_mask = "*.uk";  #       leaf_mask = "*.uk";
495    
496          /* masking: the servername we pretend to be when we connect */          /* fakename: the servername we pretend to be when we connect */
497  #       fakename = "*.arpa";  #       fakename = "*.arpa";
498    
499          /* class: the class this server is in */          /* class: the class this server is in */
# Line 521  connect { Line 530  connect {
530          rsa_public_key_file = "etc/remote.server.keyfile";          rsa_public_key_file = "etc/remote.server.keyfile";
531    
532          /*          /*
533           * cipher preference: set the preferred cipher for this link           * cipher_preference: set the preferred cipher for this link
534           *           *
535           * Available ciphers are:           * Available ciphers are:
536           *      BF/168 BF/128 CAST/128 IDEA/128 RC5.16/128           *      BF/168 BF/128 CAST/128 IDEA/128 RC5.16/128
# Line 566  connect "ipv6.some.server" { Line 575  connect "ipv6.some.server" {
575   * automatically (OLD hyb6 SLAVE_SERVERS)   * automatically (OLD hyb6 SLAVE_SERVERS)
576   */   */
577  cluster {  cluster {
578          /* name: the server to share with, this can take wildcards */          /* name: the server to share with, this can take wildcards.
579          /* NOTE: only local actions will be clustered, meaning if           *
580             * NOTE: only local actions will be clustered, meaning if
581           *       the server receives a shared kline/unkline/etc, it           *       the server receives a shared kline/unkline/etc, it
582           *       will not be propagated to clustered servers.           *       will not be propagated to clustered servers.
583           *           *
# Line 594  cluster { Line 604  cluster {
604          type = kline, unkline, locops, xline, resv;          type = kline, unkline, locops, xline, resv;
605  };  };
606    
607  /* shared {}: users that are allowed to remote kline (OLD U:) */  /*
608     * shared {}: users that are allowed to remote kline (OLD U:)
609     *
610     * NOTE: This can be effectively used for remote klines.
611     *       Please note that there is no password authentication
612     *       for users setting remote klines.  You must also be
613     *       /oper'd in order to issue a remote kline.
614     */
615  shared {  shared {
616          /*          /*
617           * name: the server the user must be on to set klines.  If this is not           * name: the server the user must be on to set klines.  If this is not
# Line 626  shared { Line 643  shared {
643          type = kline, unkline, resv;          type = kline, unkline, resv;
644  };  };
645    
646  /* kill {}: users that are not allowed to connect (OLD K:)  /*
647     * kill {}:  users that are not allowed to connect (OLD K:)
648   * Oper issued klines will be added to the specified kline config   * Oper issued klines will be added to the specified kline config
649   */   */
650  kill {  kill {
# Line 639  kill { Line 657  kill {
657          type = regex;          type = regex;
658  };  };
659    
660  /* deny {}: IPs that are not allowed to connect (before DNS/ident lookup)  /*
661     * deny {}:  IPs that are not allowed to connect (before DNS/ident lookup)
662   * Oper issued dlines will be added to the specified dline config   * Oper issued dlines will be added to the specified dline config
663   */   */
664  deny {  deny {
# Line 647  deny { Line 666  deny {
666          reason = "Reconnecting vhosted bots";          reason = "Reconnecting vhosted bots";
667  };  };
668    
669  /* exempt {}: IPs that are exempt from deny {} and Dlines. (OLD d:) */  /*
670     * exempt {}: IPs that are exempt from deny {} and Dlines. (OLD d:)
671     */
672  exempt {  exempt {
673          ip = "192.168.0.0/16";          ip = "192.168.0.0/16";
674  };  };
675    
676  /* resv {}: nicks and channels users may not use/join (OLD Q:) */  /*
677     * resv {}:  nicks and channels users may not use/join (OLD Q:)
678     */
679  resv {  resv {
680          /* reason: the reason for the proceeding resv's */          /* reason: the reason for the proceeding resv's */
681          reason = "There are no services on this network";          reason = "There are no services on this network";
# Line 667  resv { Line 690  resv {
690          nick = "clone*";          nick = "clone*";
691  };  };
692    
693  /* gecos {}:  The X: replacement, used for banning users based on their  /*
694     * gecos {}:  The X: replacement, used for banning users based on their
695   * "realname".   * "realname".
696   */   */
697  gecos {  gecos {
# Line 691  gecos { Line 715  gecos {
715  };  };
716    
717  /*  /*
718   * channel {}   * channel {}: The channel block contains options pertaining to channels
  *  
  * The channel block contains options pertaining to channels  
719   */   */
720  channel {  channel {
721          /*          /*
# Line 730  channel { Line 752  channel {
752           * knock_delay: The amount of time a user must wait between issuing           * knock_delay: The amount of time a user must wait between issuing
753           * the knock command.           * the knock command.
754           */           */
755          knock_delay = 5 minutes;          knock_delay = 1 minute;
756    
757          /*          /*
758           * knock_delay_channel: How often a knock to any specific channel           * knock_delay_channel: How often a knock to any specific channel
# Line 738  channel { Line 760  channel {
760           */           */
761          knock_delay_channel = 1 minute;          knock_delay_channel = 1 minute;
762    
763          /* burst topicwho: enable sending of who set topic on topicburst */          /*
764          /* default is yes */           * burst_topicwho: enable sending of who set topic on topicburst.
765             * default is yes
766             */
767          burst_topicwho = yes;          burst_topicwho = yes;
768    
769          /* max chans: The maximum number of channels a user can join/be on. */          /*
770          max_chans_per_user = 15;           * max_chans_per_user: The maximum number of channels a user can
771             * join/be on.
772             */
773            max_chans_per_user = 25;
774    
775          /* quiet_on_ban: stop banned people talking in channels. */          /* quiet_on_ban: stop banned people talking in channels. */
776          quiet_on_ban = yes;          quiet_on_ban = yes;
# Line 751  channel { Line 778  channel {
778          /* max_bans: maximum number of +b/e/I modes in a channel */          /* max_bans: maximum number of +b/e/I modes in a channel */
779          max_bans = 25;          max_bans = 25;
780    
781      /*          /*
782           * how many joins in how many seconds constitute a flood, use 0 to           * how many joins in how many seconds constitute a flood, use 0 to
783           * disable. +b opers will be notified (changeable via /set)           * disable. +b opers will be notified (changeable via /set)
784           */           */
# Line 782  channel { Line 809  channel {
809          /* split no create: disallow users creating channels on split. */          /* split no create: disallow users creating channels on split. */
810          no_create_on_split = yes;          no_create_on_split = yes;
811    
812          /* split: no join: disallow users joining channels at all on a split */          /*
813             * no_join_on_split: disallow users joining channels at all on a split
814             */
815          no_join_on_split = no;          no_join_on_split = no;
816  };  };
817    
# Line 870  general { Line 899  general {
899           * without a '.' in them.  this will add one to the end.  only needed           * without a '.' in them.  this will add one to the end.  only needed
900           * for older servers.           * for older servers.
901           */           */
902          dot_in_ip6_addr = yes;          dot_in_ip6_addr = no;
903    
904          /*          /*
905           * short_motd: send clients a notice telling them to read the motd           * short_motd: send clients a notice telling them to read the motd
# Line 918  general { Line 947  general {
947          stats_o_oper_only = yes;          stats_o_oper_only = yes;
948    
949          /* stats_P_oper_only: make stats P (ports) oper only */          /* stats_P_oper_only: make stats P (ports) oper only */
950          stats_P_oper_only = no;          stats_P_oper_only = yes;
951    
952          /*          /*
953           * stats i oper only: make stats i (auth {}) oper only. set to:           * stats_i_oper_only: make stats i (auth {}) oper only. set to:
954           *     yes:    show users no auth blocks, made oper only.           *     yes:    show users no auth blocks, made oper only.
955           *     masked: show users first matching auth block           *     masked: show users first matching auth block
956           *     no:     show users all auth blocks.           *     no:     show users all auth blocks.
957           */           */
958          stats_i_oper_only = masked;          stats_i_oper_only = yes;
959    
960          /*          /*
961           * stats_k_oper_only: make stats k/K (klines) oper only.  set to:           * stats_k_oper_only: make stats k/K (klines) oper only.  set to:
# Line 934  general { Line 963  general {
963           *     masked: show users first matching auth block           *     masked: show users first matching auth block
964           *     no:     show users all auth blocks.           *     no:     show users all auth blocks.
965           */           */
966          stats_k_oper_only = masked;          stats_k_oper_only = yes;
967    
968          /*          /*
969           * throttle_time: the minimum amount of time between connections from           * throttle_time: the minimum amount of time between connections from
# Line 1015  general { Line 1044  general {
1044           */           */
1045          anti_spam_exit_message_time = 5 minutes;          anti_spam_exit_message_time = 5 minutes;
1046    
1047      /*          /*
1048           * reject_hold_time: wait this amount of time before disconnecting           * reject_hold_time: wait this amount of time before disconnecting
1049           * a rejected client. Use 0 to disable.           * a rejected client. Use 0 to disable.
1050           */           */
# Line 1186  glines { Line 1215  glines {
1215          logging = reject, block;          logging = reject, block;
1216    
1217          /*          /*
1218           * NOTE: gline ACLs can cause a desync of glines throughout the network, meaning some servers           * NOTE: gline ACLs can cause a desync of glines throughout the
1219           * may have a gline triggered, and others may not. Also, you only need insert rules for glines           * network, meaning some servers may have a gline triggered, and
1220           * that you want to block and/or reject. If you want to accept and propagate the gline, do NOT           * others may not. Also, you only need insert rules for glines
1221           * put a rule for it.           * that you want to block and/or reject. If you want to accept and
1222             * propagate the gline, do NOT put a rule for it.
1223           */           */
1224    
1225          /* user@host for rule to apply to */          /* user@host for rule to apply to */
# Line 1211  glines { Line 1241  glines {
1241    
1242  modules {  modules {
1243          /*          /*
1244           * module path: other paths to search for modules specified below           * path: other paths to search for modules specified below
1245           * and in /modload.           * and in /modload.
1246           */           */
1247          path = "/usr/local/ircd/modules";          path = "/usr/local/ircd/modules";

Legend:
Removed from v.756  
changed lines
  Added in v.757

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