2 * ircd-ratbox: A slightly useful ircd.
3 * config.h: The ircd compile-time-configurable header.
5 * Copyright (C) 1990 Jarkko Oikarinen and University of Oulu, Co Center
6 * Copyright (C) 1996-2002 Hybrid Development Team
7 * Copyright (C) 2002-2004 ircd-ratbox development team
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
24 * $Id: config.h.dist 3354 2007-04-03 09:21:31Z nenolod $
27 #ifndef INCLUDED_config_h
28 #define INCLUDED_config_h
33 * Directory paths and filenames for UNIX systems.
34 * IRCD_PREFIX is set using ./configure --prefix, see INSTALL.
35 * The other defaults should be fine.
37 * NOTE: CHANGING THESE WILL NOT ALTER THE DIRECTORY THAT FILES WILL
38 * BE INSTALLED TO. IF YOU CHANGE THESE, DO NOT USE MAKE INSTALL,
39 * BUT COPY THE FILES MANUALLY TO WHERE YOU WANT THEM.
41 * IRCD_PREFIX = prefix for all directories,
42 * DPATH = root directory of installation,
43 * BINPATH = directory for binary files,
44 * ETCPATH = directory for configuration files,
45 * LOGPATH = directory for logfiles,
46 * MODPATH = directory for modules,
47 * AUTOMODPATH = directory for autoloaded modules
51 #define DPATH IRCD_PREFIX
52 #define BINPATH IRCD_PREFIX "/bin/"
53 #define MODPATH IRCD_PREFIX "/modules/"
54 #define AUTOMODPATH IRCD_PREFIX "/modules/autoload/"
55 #define ETCPATH IRCD_PREFIX "/etc"
56 #define LOGPATH IRCD_PREFIX "/logs"
57 #define UHPATH IRCD_PREFIX "/help/users"
58 #define HPATH IRCD_PREFIX "/help/opers"
61 #define SPATH BINPATH "/ircd" /* ircd executable */
62 #define SLPATH BINPATH "/servlink" /* servlink executable */
63 #define CPATH ETCPATH "/ircd.conf" /* ircd.conf file */
64 #define KPATH ETCPATH "/kline.conf" /* kline file */
65 #define DLPATH ETCPATH "/dline.conf" /* dline file */
66 #define XPATH ETCPATH "/xline.conf" /* xline file */
67 #define RESVPATH ETCPATH "/resv.conf" /* resv file */
68 #define RPATH ETCPATH "/ircd.rsa" /* ircd rsa private keyfile */
69 #define MPATH ETCPATH "/ircd.motd" /* MOTD file */
70 #define LPATH LOGPATH "/ircd.log" /* ircd logfile */
71 #define PPATH ETCPATH "/ircd.pid" /* pid file */
72 #define OPATH ETCPATH "/opers.motd" /* oper MOTD file */
75 * Ignore bogus timestamps from other servers. Yes this will desync
76 * the network, but it will allow chanops to resync with a valid non TS 0
78 * This should be enabled network wide, or not at all.
80 #undef IGNORE_BOGUS_TS
84 * If this is undefined, everybody can see a servers ip. This includes
85 * nonopers if flatten links is not enabled.
87 * If this is defined, nobody can see a servers ip.
89 #define HIDE_SERVERS_IPS
93 * If this is defined only TS6 servers may link to the network. See
94 * doc/TS6.txt for more information. If your network has old servers
95 * (hyb7.0, ircd-ratbox-1.x, +CSr) or hybserv you should NOT define this.
99 /* USE_LOGFILE - log errors and such to LPATH
100 * If you wish to have the server send 'vital' messages about server
101 * to a logfile, define USE_LOGFILE.
105 /* CLIENT_FLOOD - client excess flood threshold(in messages)
106 * The number of messages that we can receive before we disconnect the
109 #define CLIENT_FLOOD 20
111 /* NICKNAMEHISTORYLENGTH - size of WHOWAS array
112 * this defines the length of the nickname history. each time a user changes
113 * nickname or signs off, their old nickname is added to the top of the list.
114 * NOTE: this is directly related to the amount of memory ircd will use whilst
115 * resident and running - it hardly ever gets swapped to disk! Memory
116 * will be preallocated for the entire whowas array when ircd is started.
119 #define NICKNAMEHISTORYLENGTH 15000
121 #define NICKNAMEHISTORYLENGTH 1500
124 /* HANGONGOODLINK and HANGONGOODLINK
125 * Often net breaks for a short time and it's useful to try to
126 * establishing the same connection again faster than CONNECTFREQUENCY
127 * would allow. But, to keep trying on bad connection, we require
128 * that connection has been open for certain minimum time
129 * (HANGONGOODLINK) and we give the net few seconds to steady
130 * (HANGONRETRYDELAY). This latter has to be long enough that the
131 * other end of the connection has time to notice it broke too.
132 * 1997/09/18 recommended values by ThemBones for modern EFnet
134 #define HANGONRETRYDELAY 60 /* Recommended value: 30-60 seconds */
135 #define HANGONGOODLINK 3600 /* Recommended value: 30-60 minutes */
137 /* KILLCHASETIMELIMIT -
138 * Max time from the nickname change that still causes KILL
139 * automatically to switch for the current nick of that user. (seconds)
141 #define KILLCHASETIMELIMIT 90 /* Recommended value: 90 */
144 * Use SOMAXCONN if OS has it, otherwise use this value for the
145 * listen(); backlog. 5 for AIX/SUNOS, 25 for other OSs.
147 #define RATBOX_SOMAXCONN 25
149 /* ----------------------------------------------------------------
150 * STOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOP
151 * ----------------------------------------------------------------
152 * The options below this line should NOT be modified.
153 * ----------------------------------------------------------------
157 * The amount of fds to reserve for clients exempt from limits
160 #define MAX_BUFFER 60
162 #define CONFIG_RATBOX_LEVEL_2
164 #include "defaults.h"
165 #endif /* INCLUDED_config_h */