/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2012 Alexander Barton (alex@barton.de) and Contributors.
+ * Copyright (c)2001-2014 Alexander Barton (alex@barton.de) and Contributors.
*
* 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
/* Generic buffer sizes */
/** Max. length of a line in the configuration file. */
-#define LINE_LEN 256
+#define LINE_LEN 1024
/** Max. length of a log message. */
#define MAX_LOG_MSG_LEN 256
/** Max. length of random salt */
#define RANDOM_SALT_LEN 32
-
/* Size of structures */
/** Max. count of configurable servers. */
-#define MAX_SERVERS 16
+#define MAX_SERVERS 64
/** Max. number of WHOWAS list items that can be stored. */
#define MAX_WHOWAS 64
/** Configuration file name. */
#define CONFIG_FILE "/ngircd.conf"
+/** Directory containing optional configuration snippets. */
+#define CONFIG_DIR "/ngircd.conf.d"
+
/** Name of the MOTD file. */
#define MOTD_FILE "/ngircd.motd"
+/** Name of the help file. */
+#define HELP_FILE "/Commands.txt"
+
/** Default chroot() directory. */
#define CHROOT_DIR ""
#define CLIENT_NICK_LEN 32
/** Max. password length (including NULL). */
-#define CLIENT_PASS_LEN 21
+#define CLIENT_PASS_LEN 65
/** Max. length of user name ("login"; incl. NULL), RFC 2812, section 1.2.1. */
-#define CLIENT_USER_LEN 10
+#ifndef STRICT_RFC
+# define CLIENT_USER_LEN 20
+#else
+# define CLIENT_USER_LEN 10
+#endif
+/** Max. length of user names saved for authentication (used by PAM) */
+#ifdef PAM
+# define CLIENT_AUTHUSER_LEN 64
+#endif
/** Max. length of "real names" (including NULL). */
#define CLIENT_NAME_LEN 32
/** Max. host name length (including NULL). */
#define CLIENT_HOST_LEN 64
+/** Max. mask lenght (including NULL). */
+#define MASK_LEN (2 * CLIENT_HOST_LEN)
+
/** Max. length of all client modes (including NULL). */
#define CLIENT_MODE_LEN 21
#ifdef IRCPLUS
/** Standard IRC+ flags. */
-# define IRCPLUSFLAGS "CHLMS"
+# define IRCPLUSFLAGS "CHLMSX"
#endif
/** Supported user modes. */
-#define USERMODES "abBcCioqrRswx"
+#define USERMODES "abBcCFioqrRswx"
/** Supported channel modes. */
#define CHANMODES "abehiIklmMnoOPqQrRstvVz"
+/** Supported channel types. */
+#define CHANTYPES "#&+"
+
/** Away message for users connected to linked servers. */
#define DEFAULT_AWAY_MSG "Away"