]> jfr.im git - solanum.git/blobdiff - include/defaults.h
Explanatory comment for LFLAGS_FAKE
[solanum.git] / include / defaults.h
index 5edd8b83bbc0bec0a691638790a9145aba0b2319..923af201b8dba4eb0bd0e496dca3d96beac5dd8c 100644 (file)
  *  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 */