aboutsummaryrefslogtreecommitdiff
path: root/support/config.h.dist
diff options
context:
space:
mode:
Diffstat (limited to 'support/config.h.dist')
-rw-r--r--support/config.h.dist555
1 files changed, 555 insertions, 0 deletions
diff --git a/support/config.h.dist b/support/config.h.dist
new file mode 100644
index 0000000..4d742c3
--- /dev/null
+++ b/support/config.h.dist
@@ -0,0 +1,555 @@
+/************************************************************************
+ * IRC - Internet Relay Chat, support/config.h
+ * Copyright (C) 1990 Jarkko Oikarinen
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 1, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+/*
+ * ircdwatch configuration options.
+ */
+
+/* how often (in seconds) should we check that ircd runs? */
+#define IRCDWATCH_POLLING_INTERVAL 30
+
+/*
+ * should we check for config file changes and HUP the server
+ * if a change is detected?
+ */
+#undef IRCDWATCH_HUP_ON_CONFIG_CHANGE
+
+/*
+ * although you may not want to log ircd-messages to syslog you
+ * may want to log when ircdwatch reloads the config or when
+ * ircd croaks and ircdwatch has to restart it
+ */
+#define IRCDWATCH_USE_SYSLOG
+#ifdef IRCDWATCH_USE_SYSLOG
+# define IRCDWATCH_SYSLOG_IDENT "ircdwatch"
+# define IRCDWATCH_SYSLOG_OPTIONS (LOG_PID)
+# define IRCDWATCH_SYSLOG_FACILITY LOG_DAEMON
+#endif
+
+
+/*
+ * irc[d] configuration options.
+ *
+ * Most of the following defines are related to the server,
+ * some apply to the client.
+ *
+ */
+
+/*
+ * If you don't want the server to keep reading the MOTD file from the disk,
+ * define CACHED_MOTD. The server will store the MOTD in memory, and only
+ * read it again from the disk when rehashing if the file has changed.
+ */
+#define CACHED_MOTD
+
+/* CHROOTDIR
+ *
+ * Define for value added security if you are a rooter.
+ *
+ * CPATH, MPATH, LPATH, PPATH, TPATH, QPATH, OPATH,
+ * FNAME_USERLOG, FNAME_OPERLOG, FNAME_CONNLOG, FNAME_AUTHLOG
+ * must have RPATH as root directory! Set them in Makefile
+ *
+ * You may want to define IRC_UID and IRC_GID
+ */
+#undef CHROOTDIR
+
+#if defined(CHROOTDIR)
+ #define ROOT_PATH "/where/to/change/root/dir"
+#endif
+
+/* ENABLE_SUMMON
+ *
+ * The SUMMON command requires the ircd to be run as group tty in order
+ * to work properly in many cases. If you are on a machine where it
+ * won't work, or simply don't want local users to be summoned, undefine
+ * this.
+ */
+#undef ENABLE_SUMMON /* local summon */
+#undef ENABLE_USERS /* enables local /users (same as who/finger output) */
+
+/* SHOW_INVISIBLE_LUSERS
+ *
+ * As defined this will show the correct invisible count for anyone who does
+ * LUSERS on your server. On a large net this doesnt mean much, but on a
+ * small net it might be an advantage to undefine it.
+ */
+#define SHOW_INVISIBLE_LUSERS
+
+/* NO_DEFAULT_INVISIBLE
+ *
+ * When defined, your users will not automatically be attributed with user
+ * mode "i" (i == invisible). Invisibility means people dont showup in
+ * WHO or NAMES unless they are on the same channel as you.
+ */
+#undef NO_DEFAULT_INVISIBLE
+
+/* OPER_KILL
+ *
+ * If you dont believe operators should be allowed to use the /KILL command
+ * or believe it is uncessary for them to use it, then leave OPER_KILL
+ * undefined. This will not affect other operators or servers issuing KILL
+ * commands however. OPER_REHASH and OPER_RESTART allow operators to
+ * issue the REHASH and RESTART commands when connected to your server.
+ * Left undefined they increase the security of your server from wayward
+ * operators and accidents. Defining OPER_REMOTE removes the restriction
+ * that O-lines only become fully effective for people on the 'same network'
+ * as the server. Undefined, it increases the security of the server by
+ * placing restrictions on where people can use operator powers from.
+ * The 'LOCOP_' #defines are for making the respective commands available
+ * to 'local' operators. Note that the 'OPER_' #defines affect both global
+ * (big O) and local (little o) operators. Defining 'LOCOP_x' has no effect
+ * if 'OPER_x' is undefined so you can't give local operators more rights
+ * than global ones.
+ */
+#undef OPER_KILL
+#define OPER_REHASH
+#undef OPER_RESTART
+#define OPER_DIE
+#undef OPER_REMOTE
+#undef LOCOP_REHASH
+#undef LOCOP_RESTART
+#undef LOCOP_DIE
+
+/*
+ * Maximum number of network connections your server will allow. This should
+ * never exceed max. number of open file descrpitors and wont increase this.
+ * Should remain LOW as possible. Most sites will usually have under 50 or so
+ * connections.
+ * if you have a lot of server connections, it may be worth splitting the load
+ * over 2 or more servers.
+ * 1 server = 1 connection, 1 user = 1 connection.
+ * This should be at *least* 4: 2 listen ports (1 tcp, 1 udp)
+ * 1 dns port, 1 client
+ */
+#define MAXCONNECTIONS 50
+
+/* MAXIMUM LINKS
+ *
+ * This define is useful for leaf nodes and gateways. It keeps you from
+ * connecting to too many places. It works by keeping you from
+ * connecting to more than "n" nodes which you have C:blah::blah:6667
+ * lines for.
+ *
+ * Note that any number of nodes can still connect to you. This only
+ * limits the number that you actively reach out to connect to.
+ *
+ * Leaf nodes are nodes which are on the edge of the tree. If you want
+ * to have a backup link, then sometimes you end up connected to both
+ * your primary and backup, routing traffic between them. To prevent
+ * this, #define MAXIMUM_LINKS 1 and set up both primary and
+ * secondary with C:blah::blah:6667 lines. THEY SHOULD NOT TRY TO
+ * CONNECT TO YOU, YOU SHOULD CONNECT TO THEM.
+ *
+ * Gateways such as the server which connects Australia to the US can
+ * do a similar thing. Put the American nodes you want to connect to
+ * in with C:blah::blah:6667 lines, and the Australian nodes with
+ * C:blah::blah lines. Have the Americans put you in with C:blah::blah
+ * lines. Then you will only connect to one of the Americans.
+ *
+ * This value is only used if you don't have server classes defined, and
+ * a server is in class 0 (the default class if none is set).
+ *
+ */
+#define MAXIMUM_LINKS 1
+
+/*
+ * A pure non-routing leaf server can undefine HUB for best performance.
+ * If your server is running as a a HUB Server then define this.
+ * A HUB Server has many servers connect to it at the same as opposed
+ * to a leaf which just has 1 server (typically the uplink).
+ */
+/* #define HUB */
+
+#ifdef HUB
+/*
+ * MAXSERVERS is the maximum number of servers that will be linked
+ * to your server at the same time. This number is not a limit,
+ * it is used to allocate memory when ircd is started.
+ */
+# define MAXSERVERS 3
+#else
+# define MAXSERVERS 1
+#endif
+
+/* R_LINES: The conf file now allows the existence of R lines, or
+ * restrict lines. These allow more freedom in the ability to restrict
+ * who is to sign on and when. What the R line does is call an outside
+ * program which returns a reply indicating whether to let the person on.
+ * Because there is another program involved, Delays and overhead could
+ * result. It is for this reason that there is a line in config.h to
+ * decide whether it is something you want or need. -Hoppie
+ *
+ * The default is no R_LINES as most people probably don't need it. --Jto
+ */
+#undef R_LINES
+
+#ifdef R_LINES
+/* Also, even if you have R lines defined, you might not want them to be
+ checked everywhere, since it could cost lots of time and delay. Therefore,
+ The following two options are also offered: R_LINES_REHASH rechecks for
+ R lines after a rehash, and R_LINES_OFTEN, which rechecks it as often
+ as it does K lines. Note that R_LINES_OFTEN is *very* likely to cause
+ a resource drain, use at your own risk. R_LINES_REHASH shouldn't be too
+ bad, assuming the programs are fairly short. */
+#define R_LINES_REHASH
+#define R_LINES_OFTEN
+#endif
+
+/*
+ * NOTE: defining CMDLINE_CONFIG and installing ircd SUID or SGID is a MAJOR
+ * security problem - they can use the "-f" option to read any files
+ * that the 'new' access lets them. Note also that defining this is
+ * a major security hole if your ircd goes down and some other user
+ * starts up the server with a new conf file that has some extra
+ * O-lines. So don't use this unless you're debugging.
+ */
+#undef CMDLINE_CONFIG /* allow conf-file to be specified on command line */
+
+/*
+ * To use m4 as a preprocessor on the ircd.conf file, define M4_PREPROC.
+ * The server will then call m4 each time it reads the ircd.conf file,
+ * reading m4 output as the server's ircd.conf file.
+ */
+#undef M4_PREPROC
+
+/*
+ * If you wish to have the server send 'vital' messages about server
+ * through syslog, define USE_SYSLOG. Only system errors and events critical
+ * to the server are logged although if this is defined with FNAME_USERLOG,
+ * syslog() is used instead of the above file. It is not recommended that
+ * this option is used unless you tell the system administrator beforehand
+ * and obtain their permission to send messages to the system log files.
+ */
+#undef USE_SYSLOG
+
+#ifdef USE_SYSLOG
+/*
+ * If you use syslog above, you may want to turn some (none) of the
+ * spurious log messages for KILL/SQUIT off.
+ */
+#undef SYSLOG_KILL /* log all operator kills to syslog */
+#undef SYSLOG_SQUIT /* log all remote squits for all servers to syslog */
+#undef SYSLOG_CONNECT /* log remote connect messages for other all servs */
+#undef SYSLOG_USERS /* send userlog stuff to syslog */
+#undef SYSLOG_OPER /* log all users who successfully become an Op */
+#undef SYSLOG_CONN /* log all uncomplete/rejected connections */
+
+/*
+ * If you want to log to a different facility than DAEMON, change
+ * this define.
+ */
+#define LOG_FACILITY LOG_DAEMON
+#endif /* USE_SYSLOG */
+
+/*
+ * define this if you want to use crypted passwords for operators in your
+ * ircd.conf file. See contrib/mkpasswd/README for more details on this.
+ */
+#undef CRYPT_OPER_PASSWORD
+
+/*
+ * If you want to store encrypted passwords in N-lines for server links,
+ * define this. For a C/N pair in your ircd.conf file, the password
+ * need not be the same for both, as long as hte opposite end has the
+ * right password in the opposite line. See INSTALL doc for more details.
+ */
+#undef CRYPT_LINK_PASSWORD
+
+/*
+ * define this if you enable summon and if you want summon to look for the
+ * least idle tty a user is logged in on.
+ */
+#undef LEAST_IDLE
+
+/*
+ * IDLE_FROM_MSG
+ *
+ * Idle-time nullified only from privmsg, if undefined idle-time
+ * is nullified from everything except ping/pong.
+ * Added 3.8.1992, kny@cs.hut.fi (nam)
+ */
+#define IDLE_FROM_MSG
+
+/*
+ * use these to setup a Unix domain socket to connect clients/servers to.
+ */
+#undef UNIXPORT
+
+/*
+ * IRC_UID
+ *
+ * If you start the server as root but wish to have it run as another user,
+ * define IRC_UID to that UID. This should only be defined if you are running
+ * as root and even then perhaps not.
+ */
+#undef IRC_UID
+#undef IRC_GID
+
+#ifdef notdef
+#define IRC_UID 65534 /* eg for what to do to enable this feature */
+#define IRC_GID 65534
+#endif
+
+/*
+ * CLIENT_FLOOD
+ *
+ * this controls the number of bytes the server will allow a client to
+ * send to the server without processing before disconnecting the client for
+ * flooding it. Values greater than 8000 make no difference to the server.
+ */
+#define CLIENT_FLOOD 1000
+
+/* Remote query flood protection. */
+#define CHREPLLEN 8192
+
+/* Default server for standard client */
+#define UPHOST "irc"
+
+/*
+ * If you wish to run services, define USE_SERVICES.
+ * This can make the server noticeably bigger and slower.
+ * services are not fully implemented yet, so don't use it unless you really
+ * know what you are doing.
+ */
+#undef USE_SERVICES
+
+/*
+ * Define the following to make the delay for nicks random.
+ * Some people believe a bot can exactly time the delay and don't like it,
+ * I think this is a useless concern. -krys
+ */
+#undef RANDOM_NDELAY
+
+/*
+ * You've read the BOFH saga and you liked it, then define the following.
+ *
+ * The two following will change the nick delay and channel delay features
+ * making them totally user unfriendly but more efficient.
+ */
+#undef BETTER_NDELAY
+#undef BETTER_CDELAY
+
+/*
+ * Defining this will enable the use of compressed server-server links.
+ * In order to have it work, you must have the zlib version 1.0 or higher.
+ * The library and the include files must have been found by configure,
+ * if you have installed the zlib after running configure, run it again.
+ */
+#undef ZIP_LINKS
+
+/*
+ * Defining this will add an artificial 2 seconds delay for accepting
+ * connections. This is the OLD behaviour of the server.
+ *
+ * NOTE: Undefining this leads to a significant increase in CPU usage if
+ * you reject client which keeps connecting.
+ */
+#define SLOW_ACCEPT
+
+/*
+ * Defining this will make the server check for rapid connections from a single
+ * host and reject new connections from this host if the limit is reached.
+ *
+ * NOTE: Enabling this feature will significantly increase the CPU usage
+ * for servers carrying several hundred clients and getting many connections.
+ *
+ * IMPORTANT: This **MUST** defined if SLOW_ACCEPT is NOT defined
+ */
+#undef CLONE_CHECK
+
+/* STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP */
+/* STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP */
+/* STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP */
+
+/* You shouldn't change anything below this line, unless absolutely needed. */
+
+#ifdef OPER_KILL
+/* LOCAL_KILL_ONLY
+ *
+ * To be used, OPER_KILL must be defined.
+ * LOCAL_KILL_ONLY restricts KILLs to clients which are connected to the
+ * server the Operator is connected to (ie lets them deal with local
+ * problem users or 'ghost' clients
+ */
+#define LOCAL_KILL_ONLY
+#endif
+
+/* Default server port, used by client. */
+#define PORTNUM 6667
+
+/* Maximum length the queue of pending connections to one port may grow to. */
+#define LISTENQUEUE 128
+
+/* define DEBUGMODE to enable debugging mode.*/
+#undef DEBUGMODE
+
+/*
+ * Time interval to wait and if no messages have been received, then check for
+ * PINGFREQUENCY and CONNECTFREQUENCY
+ */
+#define TIMESEC 60 /* Recommended value: 60 */
+
+/*
+ * If daemon doesn't receive anything from any of its links within
+ * PINGFREQUENCY seconds, then the server will attempt to check for
+ * an active link with a PING message. If no reply is received within
+ * (PINGFREQUENCY * 2) seconds, then the connection will be closed.
+ */
+#define PINGFREQUENCY 120 /* Recommended value: 120 */
+
+/*
+ * If the connection to to uphost is down, then attempt to reconnect every
+ * CONNECTFREQUENCY seconds.
+ */
+#define CONNECTFREQUENCY 600 /* Recommended value: 600 */
+
+/*
+ * Often net breaks for a short time and it's useful to try to
+ * establishing the same connection again faster than CONNECTFREQUENCY
+ * would allow. But, to keep trying on bad connection, we require
+ * that connection has been open for certain minimum time
+ * (HANGONGOODLINK) and we give the net few seconds to steady
+ * (HANGONRETRYDELAY). This latter has to be long enough that the
+ * other end of the connection has time to notice it broke too.
+ */
+#define HANGONRETRYDELAY 30 /* Recommended value: 30 seconds */
+#define HANGONGOODLINK 900 /* Recommended value: 15 minutes */
+
+/*
+ * Number of seconds to wait for write to complete if stuck.
+ */
+#define WRITEWAITDELAY 15 /* Recommended value: 15 */
+
+/*
+ * Number of seconds to wait for DNS/authentication to complete.
+ * Note that iauth's default timeout per module is 30 seconds, so this value
+ * should be at least 30 * number of modules. Extra time should really be
+ * given to be safe.
+ */
+#define ACCEPTTIMEOUT 90 /* Recommended value: 90 */
+
+/*
+ * Max time from the nickname change that still causes KILL
+ * automaticly to switch for the current nick of that user. (seconds)
+ */
+#define KILLCHASETIMELIMIT 90 /* Recommended value: 90 */
+
+/*
+ * Max time for the channel history and nick delay to be effective.
+ * It should be the same value on all servers of a same net, and
+ * be greater than the split durations usually seen.
+ * DELAYCHASETIMELIMIT is the default.
+ */
+#define DELAYCHASETIMELIMIT 1800 /* Recommended value: 1800 */
+
+/*
+ * Max time for !channel history, this *MUST* be fairly long (usually
+ * much longer than the value above) to ensure shortname unicity.
+ * It makes very little sense to use a short time limit here.
+ */
+#define LDELAYCHASETIMELIMIT 5400 /* Recommended value: 5400 */
+
+/*
+ * Max number of channels a user is allowed to join.
+ */
+#define MAXCHANNELSPERUSER 10 /* Recommended value: 10 */
+
+/*
+ * USE_IAUTH makes ircd use the iauth program for authentication.
+ * it can always be overriden by using the -s switch
+ */
+#define USE_IAUTH
+
+#ifdef ZIP_LINKS
+/*
+ * the compression level used. (Suggested values: 3, 4, 5)
+ * Above 5 will only give a *very* marginal increase in compression for a
+ * *very* large increase in CPU usage.
+ */
+# define ZIP_LEVEL 5
+#endif
+
+#ifdef CLONE_CHECK
+/*
+ * If CLONE_CHECK has been defined, these control how the checks are performed,
+ * and how the alarm is triggered.
+ */
+# define CLONE_MAX 2
+# define CLONE_PERIOD 10
+#endif
+
+/*
+ * define NO_IDENT if you don't want to support ident (RFC1413).
+ * it is a VERY bad idea to do so, since this will make it impossible to
+ * efficientely track abusers.
+ * NO_PREFIX should always be undefined.
+ */
+/* #undef NO_IDENT */
+/* #undef NO_PREFIX */
+
+/* ------------------------- END CONFIGURATION SECTION -------------------- */
+#ifndef ENABLE_SUMMON
+# undef LEAST_IDLE
+#endif
+
+#define SEQ_NOFILE 128 /* For Dynix (sequent OS) users :
+ * set to your current kernel impl,
+ * max number of socket connections;
+ * ignored on other OS.
+ */
+/*
+ * safety margin so we can always have one spare fd, for motd/authd or
+ * whatever else. -5 allows "safety" margin of 1 and space reserved.
+ */
+#define MAXCLIENTS (MAXCONNECTIONS-5)
+
+#if defined(CLIENT_FLOOD)
+# if (CLIENT_FLOOD > 8000) || (CLIENT_FLOOD < 512)
+error CLIENT_FLOOD needs redefining.
+# endif
+#else
+error CLIENT_FLOOD undefined
+#endif
+
+#if defined(ZIP_LINKS)
+# if (ZIP_MINIMUM > ZIP_MAXIMUM)
+error ZIP_MINIMUM needs redefining.
+# endif
+#endif
+
+#if !defined(SLOW_ACCEPT) && !defined(CLONE_CHECK)
+# define CLONE_CHECK
+# define CLONE_MAX 2
+# define CLONE_PERIOD 10
+#endif
+
+/*
+** you wouldn't want to compress messages one by one.. would you?
+** (it's not implemented anyways)
+*/
+#ifdef ZIP_LINKS
+# define SENDQ_ALWAYS
+#endif
+
+#if ! USE_POLL
+# if (MAXCONNECTIONS > FD_SETSIZE)
+error FD_SETSIZE must be bigger than MAXCONNECTIONS
+# endif
+#endif