/************************************************************************
* 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
*/
#undef 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.
*
*/
/*
* Configure rusnet extensions. Russian codepages per ports support,
* russian nicks and channels, channel mode +z (latin nicks only) etc
*/
#define RUSNET_IRCD
#define NETWORKNAME @IRC_NETNAME@
/* define if you don't want fun made with /connnect's */
#define NOWALLOPS_TO_USERS
/*
* use numeric 005 for 'I support' response. This breaks RFC but heck,
* now most clients break RFC the same way. They use numeric 010 as
* RPL_BOUNCE, so be it -erra
*/
#define SEND_ISUPPORT
/*
* Define this to see when a channel topic was set and who it was set by.
*/
#define TOPICWHOTIME
/*
* 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
#ifdef RUSNET_IRCD
/* NO_DEFAULT_VHOST
*
* When defined, your users will not automatically be attributed with user
* mode "x" (x == virtual host). Virtual host means people won't see the
* actual host of an user (except IRC operators on /whois)
*/
#define NO_DEFAULT_VHOST
/* NO_DIRECT_VHOST
*
* When defined, your users could not obtain usermode +x directly
* (except IRC operators). The IRC services are supposed to set this
* mode for registered nicks only. This method has its own disadvantages.
*
* RUSNET: This option should be set to undef in RusNet. Different states of this
* option are not compatible in the same network!
*/
#undef NO_DIRECT_VHOST
#endif
/* STATS_RESTRICTED
*
* When defined, only /stats c, h, o and u will be allowed for ordinary
* users. This breaks RFC 2812 requirements (/stats m and l) but saves
* the server from possible abuse.
*/
#define STATS_RESTRICTED
/* MODES_RESTRICTED
*
* When defined, only /mode #channel +b will be allowed outside the
* channel for ordinary users. Also, only channel (or IRC) ops can
* get /mode #channel +I
*/
#define MODES_RESTRICTED
/* 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.
*/
#define OPER_KILL
#define OPER_REHASH
#define OPER_RESTART
#define OPER_DIE
#define 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 256
/* 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 32
/*
* 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 1
#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 32
#else
# define MAXSERVERS 1
#endif
/*
* If you want to use timed klines, set it to frequence in seconds,
* how often to check if client is to be removed; usually 60 seconds
* (smallest granularity you can get in K:line anyway).
*
* Advised not to use it ;-) --Beeth
*/
#undef TIMEDKLINES
/* 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 log 'vital' messages about server,
* define this.
*/
#undef LOG_EVENTS
#ifdef LOG_EVENTS
/*
* Define these filenames and create files to maintain a list of persons who
* log into this server etc. Logging will stop when the file does not exist.
* Logging will be disabled also if you do not define this.
*/
/* log all operator kills
#define FNAME_KILLLOG "kills"
*/
/* log userlog stuff
#define FNAME_USERLOG "users"
*/
/* log all uncomplete/rejected connections
#define FNAME_CONNLOG "rejects"
*/
/* log &LOCAL channel
#define FNAME_LOCALLOG "local"
*/
/* log &ERRORS channel
#define FNAME_ERRORLOG "errors"
*/
/* log &NOTICES channel
#define FNAME_NOTICELOG "notices"
*/
/* log &AUTH channel (iauth output)
#define FNAME_AUTHLOG "auth"
*/
/*
* 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 want to log to a different facility than DAEMON, change
* this define.
*/
#define LOG_FACILITY LOG_DAEMON
/*
* If you use logging above, you may want to redefine syslog severities
* for several events or define logging not mentioned before
*/
/* log all remote squits for all servers
#define SYSLOG_SQUIT LOG_NOTICE
*/
/* log remote connect messages for all servs
#define SYSLOG_CONNECT LOG_NOTICE
*/
/* log all users who successfully become an Op
#define SYSLOG_OPER LOG_INFO
*/
/* log all operator kills
#define SYSLOG_KILL LOG_NOTICE
*/
/* send userlog stuff to syslog/file
#define SYSLOG_USERS LOG_INFO
*/
/* log all uncomplete/rejected connections
#define SYSLOG_CONN LOG_NOTICE
*/
/* log &LOCAL channel
#define SYSLOG_LOCAL LOG_INFO
*/
/* log &ERRORS channel
#define SYSLOG_ERRS LOG_ERR
*/
/* log &NOTICES channel
#define SYSLOG_NOTICES LOG_NOTICE
*/
/* log &AUTH channel (iauth output)
#define SYSLOG_AUTH LOG_NOTICE
*/
#endif /* USE_SYSLOG */
#endif /* LOG_EVENTS */
#ifdef RUSNET_IRCD
#undef OPER_RCPAGE /* Opers can remotely change user's codepage */
#undef EXTRA_NOTICES /* Extra notices for Opers */
#ifdef EXTRA_NOTICES
#undef CLIENT_NOTICES /* Opers see clients connecting/exiting */
#undef NCHANGE_NOTICES /* Opers see nick changes by users */
#undef WHOIS_NOTICES /* Opers see /whoises on them */
#endif /* EXTRA_NOTICES */
#endif
/*
* 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.
*/
#define 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.
*/
#define IRC_UID @IRC_UID@
#define IRC_GID @IRC_GID@
/*
* 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.
*
* Note: custom values may be defined in I:lines, this is system-wide -erra
*/
#define CLIENT_FLOOD 4096
/* Remote query flood protection. */
#define CHREPLLEN 8192
/*
* This will give some extra statistics, such as highest usercount,
* connection duration and local client incrementation.
*
* Note: will also show local/global max in /lusers - jv
*/
#define EXTRA_STATISTICS
/* 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.
*/
#define USE_SERVICES
/*
* Configure this if you want to start with TkServ and Services.
* Of course, you'll need to configure and build tkserv, too.
*/
#if defined( RUSNET_IRCD ) && defined( USE_SERVICES )
#define SERVICES_SERV "*.RusNet"
#define SERVICES_IDENT "Service"
#define SERVICES_HOST "RusNet"
#define NICKSERV_NICK "NickServ"
#define CHANSERV_NICK "ChanServ"
#define MEMOSERV_NICK "MemoServ"
#define INFOSERV_NICK "InfoServ"
#define STATSERV_NICK "StatServ"
#define OPERSERV_NICK "OperServ"
#define TK_USER OPERSERV_NICK "!" SERVICES_IDENT "@" SERVICES_HOST
#define TK_PASS "check_your_tkserv.access"
#define TK_REASON "Banned by services"
#endif
/*
* Use conservative mechanisms of NDELAY array management.
* Strongly not recommended on medium and big IRC networks. -kmale
*/
#undef CONSERVATIVE_NDELAY_MALLOC
/*
* 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.
*/
#define 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.
*/
#undef 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
*/
#define CLONE_CHECK
/*
* Because ip6.arpa is still not delegated for the 6bone (3ffe::/16)
* this options allows you to still resolve it using ip6.int.
*/
#define SIXBONE_HACK
/* 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. */
/*
* Values below are used in switch() so changing them is generally
* NOT recommended.
*/
#if defined( FNAME_KILLLOG ) || defined( SYSLOG_KILL )
#define SVLOG_KILL 1
#endif
#if defined( FNAME_USERLOG ) || defined( SYSLOG_USERS )
#define SVLOG_USERS 2
#endif
#if defined( FNAME_LOCALLOG ) || defined( SYSLOG_LOCAL )
#define SVLOG_LOCAL 3
#endif
#if defined( FNAME_CONNLOG ) || defined( SYSLOG_CONN )
#define SVLOG_CONN 4
#endif
#if defined( FNAME_ERRORLOG ) || defined( SYSLOG_ERRS )
#define SVLOG_ERRS 5
#endif
#if defined( FNAME_NOTICELOG ) || defined( SYSLOG_NOTICES )
#define SVLOG_NOTICES 6
#endif
#if defined( FNAME_AUTHLOG ) || defined( SYSLOG_AUTH )
#define SVLOG_AUTH 7
#endif
/*
* beware! when defined, SVLOG_AUTH will actually be logged to FNAME_CONNLOG
* and FNAME_AUTHLOG will be used for iauth messages only. Don't miss that.
*/
#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
*/
#undef 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 60 /* 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 */
/*
* number of collision map entries to allocate per request -erra
*/
#ifdef RUSNET_IRCD
#define COLLMAPCHUNK 16
#endif
/*
* 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 */
/*
* the period of time collision maps are checked for expiry (seconds)
*/
#define CMAPCHECKEVERY 10 /* Recommended value: 10 */
/*
* Max time the nick collision is being kept mapped (seconds)
*/
#define COLLMAP_HOLDTIME 30 /* Recommended value: 30 */
/*
* 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 */
/*
* Min NDELAY nick locks array size. -kmale
*/
#define MINLOCKS 512 /*Recommended value: 512*/
/*
* Max allowed number of nick locks due to NDELAY before lock array
* will be rewrited. -kmale
*/
#define MAXLOCKS 4096 /*
* Recommended value: 1024 or greater
* depends on irc network size
*/
/*
* Reallocate memory if MAXLOCKS threshold broken. If undefined simply
* set index to zero and begin to rewrite array. -kmale
*/
#define REALLOC_IF_MAX_BROKEN 1
/*
* Whether to lock recently changed nick to protect from
* nick collision or if KILL is in place. Causes falsely
* locked nicks, so try to keep it off and see -erra
*/
#undef LOCKRECENTCHANGE
/*
* Size of memory block allocating per one step to store NDELAY locks if
* array is full. -kmale
*/
#define LOCKMEMORYALLOCATIONSTEP 32 /*Recommended value: 16 or greater*/
/*
* Max age (in seconds) of NDELAY lock before it will be deleted. -kmale
*/
#define MAXLOCKAGE DELAYCHASETIMELIMIT /*Recommended value: DELAYCHASETIMELIMIT*/
/*
* 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 10
# define CLONE_PERIOD 2
#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
/*
** buffer used for iauth-ircd communication
** very big servers might consider increasing it
*/
#ifdef USE_IAUTH
# define IAUTH_BUFFER 65535
#endif
/*
** Make sure that if zlib isn't found, or you don't want to use it, that you
** don't define ZIP_LINKS
*/
#ifndef USE_ZLIB
#undef ZIP_LINKS
#endif
/*
** Make sure TIMEDKLINES is defined along with R_LINES_OFTEN
**
*/
#if defined(R_LINES_OFTEN) && !defined(TIMEDKLINES)
error TIMEDKLINES must be defined for R_LINES_OFTEN to work (are you sure you need them?)
#endif
/*
** You should not want to change this. ;)
*/
#define NOWRITEALARM 1
/*
** Accept only hostnames conforming to RFC1034/1035/1123.
** Conformance of the internal resolver to RFC1123.
*/
#define RESTRICT_HOSTNAMES 1
/*
** If your local DNS contains a lot of typical DNS errors and under some
** circumstances you cannot fix that, try to define this
*/
#undef HOSTNAMES_UNDERSCORE
/*
** If RUSNET_IRCD is defined don't use strcasecmp from libc (we do not rely on locales)
** Until FreeBSD jail bug is fixed we need JAIL_RESOLVER_HACK defined
*/
#ifdef RUSNET_IRCD
# undef USE_STRCASECMP
# define JAIL_RESOLVER_HACK 1
#endif
syntax highlighted by Code2HTML, v. 0.9.1