X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fconfigreader.h;h=c6775bc298e3983e094f2abb96f8310b754aadc7;hb=a1f073f66f4b985bf776b9be2015136209c0c311;hp=63836056a077aee5de56b77fba6fb46f8265885c;hpb=19e361b2f1e3ed1a6ce5f95d11c3d37f626c428b;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/configreader.h b/include/configreader.h index 63836056a..c6775bc29 100644 --- a/include/configreader.h +++ b/include/configreader.h @@ -5,7 +5,7 @@ * InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev. * E-mail: * - * + * * * * Written by Craig Edwards, Craig McLure, and others. @@ -32,7 +32,8 @@ typedef bool (*MultiNotify)(const char*); enum ConfigDataType { DT_NOTHING, DT_INTEGER, DT_CHARPTR, DT_BOOLEAN }; -struct InitialConfig { +struct InitialConfig +{ char* tag; char* value; void* val; @@ -40,7 +41,8 @@ struct InitialConfig { Validator validation_function; }; -struct MultiConfig { +struct MultiConfig +{ const char* tag; char* items[12]; int datatype[12]; @@ -54,7 +56,7 @@ struct MultiConfig { * and storage of the configuration data needed to run the ircd, such as * the servername, connect classes, /ADMIN data, MOTDs and filenames etc. */ -class ServerConfig : public classbase +class ServerConfig : public Extensible { private: /** This variable holds the names of all @@ -214,18 +216,18 @@ class ServerConfig : public classbase * handling code, used to read data into a user's * recvQ. */ - int NetBufferSize; + int NetBufferSize; /** The value to be used for listen() backlogs * as default. */ - int MaxConn; + int MaxConn; /** The soft limit value assigned to the irc server. * The IRC server will not allow more than this * number of local users. */ - unsigned int SoftLimit; + unsigned int SoftLimit; /** Maximum number of targets for a multi target command * such as PRIVMSG or KICK @@ -235,20 +237,20 @@ class ServerConfig : public classbase /** The maximum number of /WHO results allowed * in any single /WHO command. */ - int MaxWhoResults; + int MaxWhoResults; /** True if the DEBUG loglevel is selected. */ - int debugging; + int debugging; /** The loglevel in use by the IRC server */ - int LogLevel; + int LogLevel; /** How many seconds to wait before exiting * the program when /DIE is correctly issued. */ - int DieDelay; + int DieDelay; /** True if we're going to hide netsplits as *.net *.split for non-opers */ @@ -271,7 +273,7 @@ class ServerConfig : public classbase /** A list of IP addresses the server is listening * on. */ - char addrs[MAXBUF][255]; + char addrs[MAXBUF][255]; /** The MOTD file, cached in a file_cache type. */ @@ -299,6 +301,10 @@ class ServerConfig : public classbase */ int ports[255]; + /** A list of the file descriptors for the listening client ports + */ + int openSockfd[MAX_DESCRIPTORS]; + /** Boolean sets of which modules implement which functions */ char implement_lists[255][255]; @@ -338,6 +344,10 @@ class ServerConfig : public classbase */ std::map maxbans; + /** If set to true, no user DNS lookups are to be performed + */ + bool NoUserDns; + ServerConfig(); /** Clears the include stack in preperation for @@ -384,4 +394,6 @@ class ServerConfig : public classbase bool DelIOHook(int port); }; +bool InitializeDisabledCommands(const char* data, InspIRCd* ServerInstance); + #endif