/*
* 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
/** Size of default connection pool. */
#define CONNECTION_POOL 100
+/** Size of buffer for PAM service name. */
+#define MAX_PAM_SERVICE_NAME_LEN 64
+
/* Hard-coded (default) options */
/** 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"
#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. */
#ifndef STRICT_RFC
#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 length (including NULL). */
+#define MASK_LEN (2 * CLIENT_HOST_LEN)
+
/** Max. length of all client modes (including NULL). */
#define CLIENT_MODE_LEN 21
/** Max. length of server info texts (including NULL). */
-#define CLIENT_INFO_LEN 64
+#define CLIENT_INFO_LEN 128
/** Max. length of away messages (including NULL). */
#define CLIENT_AWAY_LEN 128
#endif
/** Supported user modes. */
-#define USERMODES "abBcCioqrRswx"
+#define USERMODES "abBcCFiIoqrRswx"
/** Supported channel modes. */
#define CHANMODES "abehiIklmMnoOPqQrRstvVz"
+/** Supported channel types. */
+#define CHANTYPES "#&+"
+
/** Away message for users connected to linked servers. */
#define DEFAULT_AWAY_MSG "Away"
/** Max. number of channel modes with arguments per MODE command. */
#define MAX_HNDL_MODES_ARG 5
+/** Max. number of targets per PRIVMSG/NOTICE/... command. */
+#define MAX_HNDL_TARGETS 25
+
/** Max. number of WHO replies. */
#define MAX_RPL_WHO 25