]> jfr.im git - irc/rqf/shadowircd.git/blob - include/config.h.dist
[svn] - the new plan:
[irc/rqf/shadowircd.git] / include / config.h.dist
1 /*
2 * ircd-ratbox: A slightly useful ircd.
3 * config.h: The ircd compile-time-configurable header.
4 *
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
8 *
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.
13 *
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.
18 *
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
22 * USA
23 *
24 * $Id: config.h.dist 438 2006-01-06 01:00:44Z jilles $
25 */
26
27 #ifndef INCLUDED_config_h
28 #define INCLUDED_config_h
29
30 #include "setup.h"
31
32 /*
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.
36 *
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.
40 *
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
48 */
49
50 /* dirs */
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"
59
60 /* files */
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 */
73
74 /* IGNORE_BOGUS_TS
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
77 *
78 * This should be enabled network wide, or not at all.
79 */
80 #undef IGNORE_BOGUS_TS
81
82 /* HIDE_SERVERS_IPS
83 *
84 * If this is undefined, opers will be unable to see servers ips and will be
85 * shown a masked ip, admins will be shown the real ip.
86 *
87 * If this is defined, nobody can see a servers ip.
88 */
89 #define HIDE_SERVERS_IPS
90
91 /* TS6_ONLY
92 *
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.
96 */
97 #undef TS6_ONLY
98
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.
102 */
103 #define USE_LOGFILE
104
105 /* CLIENT_FLOOD - client excess flood threshold(in messages)
106 * The number of messages that we can receive before we disconnect the
107 * remote client...
108 */
109 #define CLIENT_FLOOD 20
110
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.
117 */
118 #ifndef SMALL_NET
119 #define NICKNAMEHISTORYLENGTH 15000
120 #else
121 #define NICKNAMEHISTORYLENGTH 1500
122 #endif
123
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
133 */
134 #define HANGONRETRYDELAY 60 /* Recommended value: 30-60 seconds */
135 #define HANGONGOODLINK 3600 /* Recommended value: 30-60 minutes */
136
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)
140 */
141 #define KILLCHASETIMELIMIT 90 /* Recommended value: 90 */
142
143 /* RATBOX_SOMAXCONN
144 * Use SOMAXCONN if OS has it, otherwise use this value for the
145 * listen(); backlog. 5 for AIX/SUNOS, 25 for other OSs.
146 */
147 #define RATBOX_SOMAXCONN 25
148
149 /* ----------------------------------------------------------------
150 * STOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOPSTOP
151 * ----------------------------------------------------------------
152 * The options below this line should NOT be modified.
153 * ----------------------------------------------------------------
154 */
155
156 /* MAX_BUFFER
157 * The amount of fds to reserve for clients exempt from limits
158 * and dns lookups.
159 */
160 #define MAX_BUFFER 60
161
162 /* HARD_FDLIMIT_
163 * The maximum amount of FDs to use. MAX_CLIENTS is set in ./configure.
164 */
165 #define HARD_FDLIMIT_ MAX_CLIENTS + MAX_BUFFER + 20
166
167 #define CONFIG_RATBOX_LEVEL_2
168
169 #include "defaults.h"
170 #endif /* INCLUDED_config_h */