elemental-ircd/include/config.h.dist

171 lines
6.1 KiB
Plaintext
Raw Normal View History

/*
* ircd-ratbox: A slightly useful ircd.
* config.h: The ircd compile-time-configurable header.
*
* Copyright (C) 1990 Jarkko Oikarinen and University of Oulu, Co Center
* Copyright (C) 1996-2002 Hybrid Development Team
* Copyright (C) 2002-2004 ircd-ratbox development team
*
* 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 2 of the License, 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*
* $Id: config.h.dist 438 2006-01-06 01:00:44Z jilles $
*/
#ifndef INCLUDED_config_h
#define INCLUDED_config_h
#include "setup.h"
/*
* Directory paths and filenames for UNIX systems.
* IRCD_PREFIX is set using ./configure --prefix, see INSTALL.
* The other defaults should be fine.
*
* NOTE: CHANGING THESE WILL NOT ALTER THE DIRECTORY THAT FILES WILL
* BE INSTALLED TO. IF YOU CHANGE THESE, DO NOT USE MAKE INSTALL,
* BUT COPY THE FILES MANUALLY TO WHERE YOU WANT THEM.
*
* IRCD_PREFIX = prefix for all directories,
* DPATH = root directory of installation,
* BINPATH = directory for binary files,
* ETCPATH = directory for configuration files,
* LOGPATH = directory for logfiles,
* MODPATH = directory for modules,
* AUTOMODPATH = directory for autoloaded modules
*/
/* dirs */
#define DPATH IRCD_PREFIX
#define BINPATH IRCD_PREFIX "/bin/"
#define MODPATH IRCD_PREFIX "/modules/"
#define AUTOMODPATH IRCD_PREFIX "/modules/autoload/"
#define ETCPATH IRCD_PREFIX "/etc"
#define LOGPATH IRCD_PREFIX "/logs"
#define UHPATH IRCD_PREFIX "/help/users"
#define HPATH IRCD_PREFIX "/help/opers"
/* files */
#define SPATH BINPATH "/ircd" /* ircd executable */
#define SLPATH BINPATH "/servlink" /* servlink executable */
#define CPATH ETCPATH "/ircd.conf" /* ircd.conf file */
#define KPATH ETCPATH "/kline.conf" /* kline file */
#define DLPATH ETCPATH "/dline.conf" /* dline file */
#define XPATH ETCPATH "/xline.conf" /* xline file */
#define RESVPATH ETCPATH "/resv.conf" /* resv file */
#define RPATH ETCPATH "/ircd.rsa" /* ircd rsa private keyfile */
#define MPATH ETCPATH "/ircd.motd" /* MOTD file */
#define LPATH LOGPATH "/ircd.log" /* ircd logfile */
#define PPATH ETCPATH "/ircd.pid" /* pid file */
#define OPATH ETCPATH "/opers.motd" /* oper MOTD file */
/* IGNORE_BOGUS_TS
* Ignore bogus timestamps from other servers. Yes this will desync
* the network, but it will allow chanops to resync with a valid non TS 0
*
* This should be enabled network wide, or not at all.
*/
#undef IGNORE_BOGUS_TS
/* HIDE_SERVERS_IPS
*
* If this is undefined, opers will be unable to see servers ips and will be
* shown a masked ip, admins will be shown the real ip.
*
* If this is defined, nobody can see a servers ip.
*/
#define HIDE_SERVERS_IPS
/* TS6_ONLY
*
* If this is defined only TS6 servers may link to the network. See
* doc/TS6.txt for more information. If your network has old servers
* (hyb7.0, ircd-ratbox-1.x, +CSr) or hybserv you should NOT define this.
*/
#undef TS6_ONLY
/* USE_LOGFILE - log errors and such to LPATH
* If you wish to have the server send 'vital' messages about server
* to a logfile, define USE_LOGFILE.
*/
#define USE_LOGFILE
/* CLIENT_FLOOD - client excess flood threshold(in messages)
* The number of messages that we can receive before we disconnect the
* remote client...
*/
#define CLIENT_FLOOD 20
/* NICKNAMEHISTORYLENGTH - size of WHOWAS array
* this defines the length of the nickname history. each time a user changes
* nickname or signs off, their old nickname is added to the top of the list.
* NOTE: this is directly related to the amount of memory ircd will use whilst
* resident and running - it hardly ever gets swapped to disk! Memory
* will be preallocated for the entire whowas array when ircd is started.
*/
#ifndef SMALL_NET
#define NICKNAMEHISTORYLENGTH 15000
#else
#define NICKNAMEHISTORYLENGTH 1500
#endif
/* HANGONGOODLINK and HANGONGOODLINK
* 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.
* 1997/09/18 recommended values by ThemBones for modern EFnet
*/
#define HANGONRETRYDELAY 60 /* Recommended value: 30-60 seconds */
#define HANGONGOODLINK 3600 /* Recommended value: 30-60 minutes */
/* KILLCHASETIMELIMIT -
* Max time from the nickname change that still causes KILL
* automatically to switch for the current nick of that user. (seconds)
*/
#define KILLCHASETIMELIMIT 90 /* Recommended value: 90 */
/* RATBOX_SOMAXCONN
* Use SOMAXCONN if OS has it, otherwise use this value for the
* listen(); backlog. 5 for AIX/SUNOS, 25 for other OSs.
*/
#define RATBOX_SOMAXCONN 25
/* ----------------------------------------------------------------
* STOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOP
* ----------------------------------------------------------------
* The options below this line should NOT be modified.
* ----------------------------------------------------------------
*/
/* MAX_BUFFER
* The amount of fds to reserve for clients exempt from limits
* and dns lookups.
*/
#define MAX_BUFFER 60
/* HARD_FDLIMIT_
* The maximum amount of FDs to use. MAX_CLIENTS is set in ./configure.
*/
#define HARD_FDLIMIT_ MAX_CLIENTS + MAX_BUFFER + 20
#define CONFIG_RATBOX_LEVEL_2
#include "defaults.h"
#endif /* INCLUDED_config_h */