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=9dc5e92d4f4ec074247bd9f2741a8e4431b3b79f;hb=HEAD;hpb=1f4711a5474d2f0ea4664bd9b54f036af11f96cd diff --git a/src/ngircd/defines.h b/src/ngircd/defines.h index 9dc5e92d..e3df44b9 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-2024 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,22 +36,24 @@ /* 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 +#define MAX_LOG_MSG_LEN 1024 /** Max. length of file name. */ #define FNAME_LEN 256 -/** Max. lenght of fully qualified host names (e. g. "abc.domain.tld"). */ +/** Max. length of fully qualified host names (e. g. "abc.domain.tld"). */ #define HOST_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 @@ -59,6 +61,12 @@ /** Size of default connection pool. */ #define CONNECTION_POOL 100 +/** Size of buffer for PAM service name. */ +#define MAX_PAM_SERVICE_NAME_LEN 64 + +/** Maximum number of file descriptors to request. */ +#define MAX_FD_LIMIT 100000 + /* Hard-coded (default) options */ @@ -71,9 +79,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 "" @@ -89,14 +103,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 @@ -104,11 +126,14 @@ /** 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 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 @@ -120,7 +145,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 @@ -154,14 +179,17 @@ #ifdef IRCPLUS /** Standard IRC+ flags. */ -# define IRCPLUSFLAGS "CHLS" +# define IRCPLUSFLAGS "CHLMSX" #endif /** Supported user modes. */ -#define USERMODES "acCiorRswx" +#define USERMODES "abBcCFiIoqrRswx" /** Supported channel modes. */ -#define CHANMODES "biIklmnoOPRstvz" +#define CHANMODES "abehiIklmMnoOPqQrRstvVz" + +/** Supported channel types. */ +#define CHANTYPES "#&+" /** Away message for users connected to linked servers. */ #define DEFAULT_AWAY_MSG "Away" @@ -178,15 +206,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. */ +/** Max. number of elements 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