The InspIRCd Project
Home | Developers | Wiki | Forums | Bug Tracker | SVN | Download
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

configreader.cpp File Reference

#include "inspircd.h"
#include <fstream>
#include "xline.h"
#include "exitcodes.h"
#include "commands/cmd_whowas.h"

Include dependency graph for configreader.cpp:

Go to the source code of this file.

Functions

bool ValidateDnsServer (ServerConfig *conf, const char *tag, const char *value, ValueItem &data)
bool DoneELine (ServerConfig *conf, const char *tag)
bool NoValidation (ServerConfig *, const char *, const char *, ValueItem &)
bool DoneConfItem (ServerConfig *conf, const char *tag)
bool ValidateMaxTargets (ServerConfig *conf, const char *, const char *, ValueItem &data)
bool ValidateSoftLimit (ServerConfig *conf, const char *, const char *, ValueItem &data)
bool ValidateMaxConn (ServerConfig *conf, const char *, const char *, ValueItem &data)
bool InitializeDisabledCommands (const char *data, InspIRCd *ServerInstance)
 Initialize the disabled commands list.
bool ValidateDisabledUModes (ServerConfig *conf, const char *, const char *, ValueItem &data)
bool ValidateDisabledCModes (ServerConfig *conf, const char *, const char *, ValueItem &data)
bool ValidateServerName (ServerConfig *conf, const char *, const char *, ValueItem &data)
bool ValidateNetBufferSize (ServerConfig *conf, const char *, const char *, ValueItem &data)
bool ValidateMaxWho (ServerConfig *conf, const char *, const char *, ValueItem &data)
bool ValidateMotd (ServerConfig *conf, const char *, const char *, ValueItem &data)
bool ValidateNotEmpty (ServerConfig *, const char *tag, const char *val, ValueItem &data)
bool ValidateRules (ServerConfig *conf, const char *, const char *, ValueItem &data)
bool ValidateModeLists (ServerConfig *conf, const char *, const char *, ValueItem &data)
bool ValidateExemptChanOps (ServerConfig *conf, const char *, const char *, ValueItem &data)
bool ValidateInvite (ServerConfig *conf, const char *, const char *, ValueItem &data)
bool ValidateSID (ServerConfig *conf, const char *, const char *, ValueItem &data)
bool ValidateWhoWas (ServerConfig *conf, const char *, const char *, ValueItem &data)
bool InitConnect (ServerConfig *conf, const char *)
bool DoConnect (ServerConfig *conf, const char *, char **, ValueList &values, int *)
bool DoneConnect (ServerConfig *conf, const char *)
bool InitULine (ServerConfig *conf, const char *)
bool DoULine (ServerConfig *conf, const char *, char **, ValueList &values, int *)
bool DoneULine (ServerConfig *, const char *)
bool InitModule (ServerConfig *conf, const char *)
bool DoModule (ServerConfig *, const char *, char **, ValueList &values, int *)
bool DoneModule (ServerConfig *, const char *)
bool InitMaxBans (ServerConfig *conf, const char *)
bool DoMaxBans (ServerConfig *conf, const char *, char **, ValueList &values, int *)
bool DoneMaxBans (ServerConfig *, const char *)
bool InitTypes (ServerConfig *conf, const char *)
 Initialize the oper types.
bool InitClasses (ServerConfig *conf, const char *)
 Initialize the oper classes.
bool DoType (ServerConfig *conf, const char *, char **, ValueList &values, int *)
 Initialize an oper type.
bool DoClass (ServerConfig *conf, const char *tag, char **, ValueList &values, int *)
 Initialize an oper class.
bool DoneClassesAndTypes (ServerConfig *, const char *)
 Finish initializing the oper types and classes.
bool InitXLine (ServerConfig *conf, const char *tag)
 Initialize x line.
bool DoZLine (ServerConfig *conf, const char *tag, char **entries, ValueList &values, int *types)
 Add a config-defined zline.
bool DoQLine (ServerConfig *conf, const char *tag, char **entries, ValueList &values, int *types)
 Add a config-defined qline.
bool DoKLine (ServerConfig *conf, const char *tag, char **entries, ValueList &values, int *types)
 Add a config-defined kline.
bool DoELine (ServerConfig *conf, const char *tag, char **entries, ValueList &values, int *types)
 Add a config-defined eline.

Variables

std::vector< std::stringold_module_names
std::vector< std::stringnew_module_names
std::vector< std::stringadded_modules
std::vector< std::stringremoved_modules


Function Documentation

bool DoClass ServerConfig conf,
const char *  tag,
char **  ,
ValueList values,
int * 
 

Initialize an oper class.

Definition at line 2263 of file configreader.cpp.

References ServerConfig::operclass, and strnewdup().

Referenced by ServerConfig::Read().

bool DoConnect ServerConfig conf,
const char *  ,
char **  ,
ValueList values,
int * 
 

Definition at line 487 of file configreader.cpp.

References ServerConfig::Classes, DEBUG, DEFAULT, ConnectClass::GetHost(), ServerConfig::GetInstance(), ConnectClass::GetName(), ConnectClass::GetPort(), ConnectClass::limit, LogManager::Log(), InspIRCd::Logs, ConnectClass::SetDisabled(), ConnectClass::SetPort(), and ConnectClass::Update().

Referenced by ServerConfig::Read().

bool DoELine ServerConfig conf,
const char *  tag,
char **  entries,
ValueList values,
int *  types
 

Add a config-defined eline.

Definition at line 2345 of file configreader.cpp.

References XLineManager::AddLine(), ServerConfig::GetInstance(), XLineManager::IdentSplit(), InspIRCd::Time(), and InspIRCd::XLines.

Referenced by ServerConfig::Read().

bool DoKLine ServerConfig conf,
const char *  tag,
char **  entries,
ValueList values,
int *  types
 

Add a config-defined kline.

Definition at line 2330 of file configreader.cpp.

References XLineManager::AddLine(), ServerConfig::GetInstance(), XLineManager::IdentSplit(), InspIRCd::Time(), and InspIRCd::XLines.

Referenced by ServerConfig::Read().

bool DoMaxBans ServerConfig conf,
const char *  ,
char **  ,
ValueList values,
int * 
 

Definition at line 689 of file configreader.cpp.

References ServerConfig::maxbans.

Referenced by ServerConfig::Read().

bool DoModule ServerConfig ,
const char *  ,
char **  ,
ValueList values,
int * 
 

Definition at line 637 of file configreader.cpp.

References new_module_names.

Referenced by ServerConfig::Read().

bool DoneClassesAndTypes ServerConfig ,
const char * 
 

Finish initializing the oper types and classes.

Definition at line 2294 of file configreader.cpp.

Referenced by ServerConfig::Read().

bool DoneConfItem ServerConfig conf,
const char *  tag
 

Definition at line 118 of file configreader.cpp.

Referenced by ServerConfig::Read().

bool DoneConnect ServerConfig conf,
const char * 
 

Definition at line 593 of file configreader.cpp.

References DEFAULT, ServerConfig::GetInstance(), LogManager::Log(), and InspIRCd::Logs.

Referenced by ServerConfig::Read().

bool DoneELine ServerConfig conf,
const char *  tag
 

Definition at line 2361 of file configreader.cpp.

References XLineManager::CheckELines(), User::exempt, ServerConfig::GetInstance(), UserManager::local_users, InspIRCd::Users, and InspIRCd::XLines.

Referenced by ServerConfig::Read().

bool DoneMaxBans ServerConfig ,
const char * 
 

Definition at line 699 of file configreader.cpp.

Referenced by ServerConfig::Read().

bool DoneModule ServerConfig ,
const char * 
 

Definition at line 646 of file configreader.cpp.

References added_modules, new_module_names, old_module_names, and removed_modules.

Referenced by ServerConfig::Read().

bool DoneULine ServerConfig ,
const char * 
 

Definition at line 619 of file configreader.cpp.

Referenced by ServerConfig::Read().

bool DoQLine ServerConfig conf,
const char *  tag,
char **  entries,
ValueList values,
int *  types
 

Add a config-defined qline.

Definition at line 2318 of file configreader.cpp.

References XLineManager::AddLine(), ServerConfig::GetInstance(), InspIRCd::Time(), and InspIRCd::XLines.

Referenced by ServerConfig::Read().

bool DoType ServerConfig conf,
const char *  ,
char **  ,
ValueList values,
int * 
 

Initialize an oper type.

Definition at line 2251 of file configreader.cpp.

References ServerConfig::opertypes, and strnewdup().

Referenced by ServerConfig::Read().

bool DoULine ServerConfig conf,
const char *  ,
char **  ,
ValueList values,
int * 
 

Definition at line 609 of file configreader.cpp.

References ServerConfig::ulines.

Referenced by ServerConfig::Read().

bool DoZLine ServerConfig conf,
const char *  tag,
char **  entries,
ValueList values,
int *  types
 

Add a config-defined zline.

Definition at line 2306 of file configreader.cpp.

References XLineManager::AddLine(), ServerConfig::GetInstance(), InspIRCd::Time(), and InspIRCd::XLines.

Referenced by ServerConfig::Read().

bool InitClasses ServerConfig conf,
const char * 
 

Initialize the oper classes.

Definition at line 2229 of file configreader.cpp.

References ServerConfig::operclass.

Referenced by ServerConfig::Read().

bool InitConnect ServerConfig conf,
const char * 
 

Definition at line 454 of file configreader.cpp.

References ServerConfig::Classes, DEFAULT, ServerConfig::GetInstance(), LogManager::Log(), InspIRCd::Logs, ConnectClass::RefCount, and ConnectClass::SetDisabled().

Referenced by ServerConfig::Read().

bool InitializeDisabledCommands const char *  data,
InspIRCd ServerInstance
 

Initialize the disabled commands list.

Definition at line 243 of file configreader.cpp.

References CommandParser::cmdlist, and InspIRCd::Parser.

Referenced by InspIRCd::InspIRCd(), and InspIRCd::Run().

bool InitMaxBans ServerConfig conf,
const char * 
 

Definition at line 681 of file configreader.cpp.

References ServerConfig::maxbans.

Referenced by ServerConfig::Read().

bool InitModule ServerConfig conf,
const char * 
 

Definition at line 626 of file configreader.cpp.

References added_modules, ModuleManager::GetAllModuleNames(), ServerConfig::GetInstance(), InspIRCd::Modules, new_module_names, old_module_names, and removed_modules.

Referenced by ServerConfig::Read().

bool InitTypes ServerConfig conf,
const char * 
 

Initialize the oper types.

Definition at line 2211 of file configreader.cpp.

References ServerConfig::opertypes.

Referenced by ServerConfig::Read().

bool InitULine ServerConfig conf,
const char * 
 

Definition at line 601 of file configreader.cpp.

References ServerConfig::ulines.

Referenced by ServerConfig::Read().

bool InitXLine ServerConfig conf,
const char *  tag
 

Initialize x line.

Definition at line 2301 of file configreader.cpp.

Referenced by ServerConfig::Read().

bool NoValidation ServerConfig ,
const char *  ,
const char *  ,
ValueItem
 

Definition at line 113 of file configreader.cpp.

Referenced by ServerConfig::Read().

bool ValidateDisabledCModes ServerConfig conf,
const char *  ,
const char *  ,
ValueItem data
 

Definition at line 275 of file configreader.cpp.

References ServerConfig::DisabledCModes, and ValueItem::GetString().

Referenced by ServerConfig::Read().

bool ValidateDisabledUModes ServerConfig conf,
const char *  ,
const char *  ,
ValueItem data
 

Definition at line 264 of file configreader.cpp.

References ServerConfig::DisabledUModes, and ValueItem::GetString().

Referenced by ServerConfig::Read().

bool ValidateDnsServer ServerConfig conf,
const char *  tag,
const char *  value,
ValueItem data
 

Definition at line 286 of file configreader.cpp.

References DEFAULT, ServerConfig::GetInstance(), ValueItem::GetString(), LogManager::Log(), InspIRCd::Logs, and ValueItem::Set().

Referenced by ServerConfig::ServerConfig().

bool ValidateExemptChanOps ServerConfig conf,
const char *  ,
const char *  ,
ValueItem data
 

Definition at line 386 of file configreader.cpp.

References ServerConfig::ExemptChanOps, and ValueItem::GetString().

Referenced by ServerConfig::Read().

bool ValidateInvite ServerConfig conf,
const char *  ,
const char *  ,
ValueItem data
 

Definition at line 394 of file configreader.cpp.

References ServerConfig::AnnounceInvites, ValueItem::GetString(), ServerConfig::INVITE_ANNOUNCE_ALL, ServerConfig::INVITE_ANNOUNCE_DYNAMIC, ServerConfig::INVITE_ANNOUNCE_NONE, and ServerConfig::INVITE_ANNOUNCE_OPS.

Referenced by ServerConfig::Read().

bool ValidateMaxConn ServerConfig conf,
const char *  ,
const char *  ,
ValueItem data
 

Definition at line 236 of file configreader.cpp.

References DEFAULT, ServerConfig::GetInstance(), ValueItem::GetInteger(), LogManager::Log(), and InspIRCd::Logs.

Referenced by ServerConfig::Read().

bool ValidateMaxTargets ServerConfig conf,
const char *  ,
const char *  ,
ValueItem data
 

Definition at line 216 of file configreader.cpp.

References DEFAULT, ServerConfig::GetInstance(), ValueItem::GetInteger(), LogManager::Log(), InspIRCd::Logs, and ValueItem::Set().

Referenced by ServerConfig::Read().

bool ValidateMaxWho ServerConfig conf,
const char *  ,
const char *  ,
ValueItem data
 

Definition at line 349 of file configreader.cpp.

References DEFAULT, ServerConfig::GetInstance(), ValueItem::GetInteger(), LogManager::Log(), InspIRCd::Logs, and ValueItem::Set().

Referenced by ServerConfig::Read().

bool ValidateModeLists ServerConfig conf,
const char *  ,
const char *  ,
ValueItem data
 

Definition at line 378 of file configreader.cpp.

References ValueItem::GetString(), and ServerConfig::HideModeLists.

Referenced by ServerConfig::Read().

bool ValidateMotd ServerConfig conf,
const char *  ,
const char *  ,
ValueItem data
 

Definition at line 359 of file configreader.cpp.

References ValueItem::GetString(), ServerConfig::MOTD, and ServerConfig::ReadFile().

Referenced by ServerConfig::Read().

bool ValidateNetBufferSize ServerConfig conf,
const char *  ,
const char *  ,
ValueItem data
 

Definition at line 338 of file configreader.cpp.

References DEFAULT, ServerConfig::GetInstance(), ValueItem::GetInteger(), LogManager::Log(), InspIRCd::Logs, and ValueItem::Set().

Referenced by ServerConfig::Read().

bool ValidateNotEmpty ServerConfig ,
const char *  tag,
const char *  val,
ValueItem data
 

Definition at line 365 of file configreader.cpp.

References ValueItem::GetString().

Referenced by ServerConfig::Read().

bool ValidateRules ServerConfig conf,
const char *  ,
const char *  ,
ValueItem data
 

Definition at line 372 of file configreader.cpp.

References ValueItem::GetString(), ServerConfig::ReadFile(), and ServerConfig::RULES.

Referenced by ServerConfig::Read().

bool ValidateServerName ServerConfig conf,
const char *  ,
const char *  ,
ValueItem data
 

Definition at line 324 of file configreader.cpp.

References DEFAULT, ServerConfig::GetInstance(), ValueItem::GetString(), LogManager::Log(), InspIRCd::Logs, ValueItem::Set(), and ServerConfig::ValidateHostname().

Referenced by ServerConfig::Read().

bool ValidateSID ServerConfig conf,
const char *  ,
const char *  ,
ValueItem data
 

Definition at line 410 of file configreader.cpp.

References DEFAULT, ServerConfig::GetInstance(), ValueItem::GetString(), InspIRCd::IsSID, LogManager::Log(), InspIRCd::Logs, ServerConfig::sid, and strlcpy().

Referenced by ServerConfig::Read().

bool ValidateSoftLimit ServerConfig conf,
const char *  ,
const char *  ,
ValueItem data
 

Definition at line 226 of file configreader.cpp.

References DEFAULT, ServerConfig::GetInstance(), ValueItem::GetInteger(), SocketEngine::GetMaxFds(), LogManager::Log(), InspIRCd::Logs, InspIRCd::SE, and ValueItem::Set().

Referenced by ServerConfig::Read().

bool ValidateWhoWas ServerConfig conf,
const char *  ,
const char *  ,
ValueItem data
 

Definition at line 426 of file configreader.cpp.

References DEFAULT, InspIRCd::Duration(), CommandParser::GetHandler(), ServerConfig::GetInstance(), ValueItem::GetString(), Command::HandleInternal(), LogManager::Log(), InspIRCd::Logs, InspIRCd::Parser, WHOWAS_PRUNE, ServerConfig::WhoWasGroupSize, ServerConfig::WhoWasMaxGroups, and ServerConfig::WhoWasMaxKeep.

Referenced by ServerConfig::Read().


Variable Documentation

std::vector<std::string> added_modules
 

Definition at line 31 of file configreader.cpp.

Referenced by DoneModule(), InitModule(), and ServerConfig::Read().

std::vector<std::string> new_module_names
 

Definition at line 31 of file configreader.cpp.

Referenced by DoModule(),