X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/101db4c4433a7b30fe5986583abc898f554ebd7b..05e3afc87e13ea1b237a19aea241ac2e7eba3b02:/include/defaults.h diff --git a/include/defaults.h b/include/defaults.h index 5edd8b83..923af201 100644 --- a/include/defaults.h +++ b/include/defaults.h @@ -20,47 +20,137 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA - * - * $Id: defaults.h 3354 2007-04-03 09:21:31Z nenolod $ */ #ifndef INCLUDED_defaults_h #define INCLUDED_defaults_h -/* this file is included (only) at the end of config.h, to supply default - * values for things which are now configurable at runtime. +/* /!\ DANGER WILL ROBINSON! DANGER! /!\ + * + * Do not mess with these values unless you know what you are doing! */ -/* - * First, set other fd limits based on values from user - */ +#include "setup.h" + +/* Below are the elements for default paths. */ +typedef enum { + IRCD_PATH_PREFIX, + IRCD_PATH_MODULES, + IRCD_PATH_AUTOLOAD_MODULES, + IRCD_PATH_ETC, + IRCD_PATH_LOG, + IRCD_PATH_USERHELP, + IRCD_PATH_OPERHELP, + IRCD_PATH_IRCD_EXEC, + IRCD_PATH_IRCD_CONF, + IRCD_PATH_IRCD_MOTD, + IRCD_PATH_IRCD_LOG, + IRCD_PATH_IRCD_PID, + IRCD_PATH_IRCD_OMOTD, + IRCD_PATH_BANDB, + IRCD_PATH_BIN, + IRCD_PATH_LIBEXEC, + IRCD_PATH_COUNT +} ircd_path_t; +extern const char *ircd_paths[IRCD_PATH_COUNT]; -#define MAXCONNECTIONS 65535 /* default max connections if getrlimit doesn't work */ +/* The below are used as defaults if not found in the configuration file (or on ircd warm-up). + * Don't change these - edit the conf file instead. + */ +#define MAXCONNECTIONS 65535 /* default max connections if getrlimit doesn't work */ /* class {} default values */ -#define DEFAULT_SENDQ 20000000 /* default max SendQ */ -#define PORTNUM 6667 /* default outgoing portnum */ -#define DEFAULT_PINGFREQUENCY 120 /* Default ping frequency */ -#define DEFAULT_CONNECTFREQUENCY 600 /* Default connect frequency */ -#define TS_MAX_DELTA_MIN 10 /* min value for ts_max_delta */ -#define TS_MAX_DELTA_DEFAULT 600 /* default for ts_max_delta */ -#define TS_WARN_DELTA_MIN 10 /* min value for ts_warn_delta */ -#define TS_WARN_DELTA_DEFAULT 30 /* default for ts_warn_delta */ +#define DEFAULT_SENDQ 20000000 /* default max SendQ */ +#define PORTNUM 6667 /* default outgoing portnum */ +#define DEFAULT_PINGFREQUENCY 120 /* Default ping frequency */ +#define DEFAULT_CONNECTFREQUENCY 600 /* Default connect frequency */ +#define TS_MAX_DELTA_MIN 10 /* min value for ts_max_delta */ +#define TS_MAX_DELTA_DEFAULT 600 /* default for ts_max_delta */ +#define TS_WARN_DELTA_MIN 10 /* min value for ts_warn_delta */ +#define TS_WARN_DELTA_DEFAULT 30 /* default for ts_warn_delta */ /* ServerInfo default values */ -#define NETWORK_NAME_DEFAULT "EFnet" /* default for network_name */ -#define NETWORK_DESC_DEFAULT "Eris Free Network" /* default for network_desc */ +#define NETWORK_NAME_DEFAULT "DefaultNet" /* default for network_name */ /* General defaults */ -#define CLIENT_FLOOD_DEFAULT 20 /* default for client_flood */ -#define CLIENT_FLOOD_MAX 2000 -#define CLIENT_FLOOD_MIN 10 -#define LINKS_DELAY_DEFAULT 300 -#define MAX_TARGETS_DEFAULT 4 /* default for max_targets */ -#define IDENT_TIMEOUT 10 -#define MIN_JOIN_LEAVE_TIME 60 -#define MAX_JOIN_LEAVE_COUNT 25 -#define OPER_SPAM_COUNTDOWN 5 -#define JOIN_LEAVE_COUNT_EXPIRE_TIME 120 -#define MIN_SPAM_NUM 5 -#define MIN_SPAM_TIME 60 -#define CONFIG_RATBOX_LEVEL_1 +#define CLIENT_FLOOD_DEFAULT 20 /* default for client_flood */ +#define CLIENT_FLOOD_MAX 2000 +#define CLIENT_FLOOD_MIN 10 +#define LINKS_DELAY_DEFAULT 300 +#define MAX_TARGETS_DEFAULT 4 /* default for max_targets */ +#define IDENT_TIMEOUT_DEFAULT 5 +#define DNSBL_TIMEOUT_DEFAULT 10 +#define OPM_TIMEOUT_DEFAULT 10 +#define RDNS_TIMEOUT_DEFAULT 5 +#define MIN_JOIN_LEAVE_TIME 60 +#define MAX_JOIN_LEAVE_COUNT 25 +#define OPER_SPAM_COUNTDOWN 5 +#define JOIN_LEAVE_COUNT_EXPIRE_TIME 120 +#define MIN_SPAM_NUM 5 +#define MIN_SPAM_TIME 60 + +/* + * Directory paths and filenames for UNIX systems. + * IRCD_PREFIX is set using ./configure --prefix, see INSTALL. + * Do not change these without corresponding changes in the build system. + * + * 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 + */ + +#define DPATH IRCD_PREFIX +#define BINPATH IRCD_PREFIX "/bin/" +#define MODPATH MODULE_DIR +#define AUTOMODPATH MODULE_DIR "/autoload/" +#define ETCPATH ETC_DIR +#define LOGPATH LOG_DIR +#define UHPATH HELP_DIR "/users" +#define HPATH HELP_DIR "/opers" +#define SPATH BINPATH "/" PROGRAM_PREFIX "/" BRANDING_NAME /* ircd executable */ +#define CPATH ETCPATH "/ircd.conf" /* ircd.conf file */ +#define MPATH ETCPATH "/ircd.motd" /* MOTD file */ +#define LPATH LOGPATH "/ircd.log" /* ircd logfile */ +#define PPATH PKGRUNDIR "/ircd.pid" /* pid file */ +#define OPATH ETCPATH "/opers.motd" /* oper MOTD file */ +#define DBPATH PKGLOCALSTATEDIR "/ban.db" /* bandb file */ + +/* Below are somewhat configurable settings (though it's probably a bad idea + * to blindly mess with them). If in any doubt, leave them alone. + */ + +/* HANGONGOODLINK and HANGONRETRYDELAY + * 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 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 */ + +/* MAX_BUFFER + * The amount of fds to reserve for clients exempt from limits + * and dns lookups. + */ +#define MAX_BUFFER 60 + +/* + * Use SOMAXCONN if OS has it, otherwise use this value for the + * listen(); backlog. 5 for AIX/SUNOS, 25 for other OSs. + */ +#ifndef SOMAXCONN +# define SOMAXCONN 25 +#endif + #endif /* INCLUDED_defaults_h */