* InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
* E-mail:
* <brain@chatspike.net>
- * <Craig@chatspike.net>
+ * <Craig@chatspike.net>
* <omster@gmail.com>
*
* Written by Craig Edwards, Craig McLure, and others.
enum ConfigDataType { DT_NOTHING, DT_INTEGER, DT_CHARPTR, DT_BOOLEAN };
-struct InitialConfig {
+struct InitialConfig
+{
char* tag;
char* value;
void* val;
Validator validation_function;
};
-struct MultiConfig {
+struct MultiConfig
+{
const char* tag;
char* items[12];
int datatype[12];
* 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
* 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
/** 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
*/
/** 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.
*/
*/
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];
*/
std::map<std::string,int> maxbans;
+ /** If set to true, no user DNS lookups are to be performed
+ */
+ bool NoUserDns;
+
ServerConfig();
/** Clears the include stack in preperation for
bool DelIOHook(int port);
};
+bool InitializeDisabledCommands(const char* data, InspIRCd* ServerInstance);
+
#endif