X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Fdefines.h;h=ff8cd226d641b0dced4b398438b74c14f2df983a;hp=ba7adf17adb204840418b7482b75fef975844138;hb=2c495a1fe7c25494248204b725afaffc8c71411a;hpb=46b0eef721b9b3eec37d29aff65b6a7fc488a887 diff --git a/src/ngircd/defines.h b/src/ngircd/defines.h index ba7adf17..ff8cd226 100644 --- a/src/ngircd/defines.h +++ b/src/ngircd/defines.h @@ -1,6 +1,6 @@ /* * 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 @@ -36,7 +36,7 @@ /* 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 @@ -50,11 +50,10 @@ /** 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 @@ -62,6 +61,9 @@ /** 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 */ @@ -74,9 +76,15 @@ /** 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 "" @@ -92,14 +100,22 @@ /** Default nick length (including NULL), see. RFC 2812 section 1.2.1. */ #define CLIENT_NICK_LEN_DEFAULT 10 -/** Maximum nick name length (including NULL). */ +/** Maximum nickname length (including NULL). */ #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 @@ -107,11 +123,14 @@ /** 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 16 +#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 @@ -123,7 +142,7 @@ #define CHANNEL_NAME_LEN 51 /** Max. length of channel modes (including NULL). */ -#define CHANNEL_MODE_LEN 9 +#define CHANNEL_MODE_LEN 21 /** Max. IRC command length (including NULL), see. RFC 2812 section 3.2. */ #define COMMAND_LEN 513 @@ -157,14 +176,17 @@ #ifdef IRCPLUS /** Standard IRC+ flags. */ -# define IRCPLUSFLAGS "CHLS" +# define IRCPLUSFLAGS "CHLMSX" #endif /** Supported user modes. */ -#define USERMODES "aBcCiorRswx" +#define USERMODES "abBcCFiIoqrRswx" /** Supported channel modes. */ -#define CHANMODES "abehiIklmMnoOPqrRstvz" +#define CHANMODES "abehiIklmMnoOPqQrRstvVz" + +/** Supported channel types. */ +#define CHANTYPES "#&+" /** Away message for users connected to linked servers. */ #define DEFAULT_AWAY_MSG "Away" @@ -181,15 +203,15 @@ /* Defaults and limits for IRC commands */ -/** Max. number of LIST replies. */ -#define MAX_RPL_LIST 100 - /** Max. number of elemets allowed in channel invite and ban lists. */ #define MAX_HNDL_CHANNEL_LISTS 50 /** 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