summaryrefslogtreecommitdiff
path: root/src/modules.cpp
AgeCommit message (Collapse)Author
2014-11-01Add stdalgo::isin() and use it to simplify codeAttila Molnar
2014-11-01Add stdalgo::erase() and use it to simplify codeAttila Molnar
2014-09-04Pass Modes::ChangeList references to the OnPreMode hook, make it modifiableAttila Molnar
This gets rid of the duplicated mode parsing logic in m_namedmodes
2014-09-03Pass the modes to the OnMode hook as a Modes::ChangeList, pass ↵Attila Molnar
ModeProcessFlags too
2014-08-30Move the intrusive list containers into the insp namespaceAttila Molnar
2014-07-25Merge insp20Attila Molnar
2014-07-14Remove typedef UserMembCIter, use Channel::MemberMap::const_iterator insteadAttila Molnar
2014-07-14Rename UserMembList to Channel::MemberMap, switch all code to use itAttila Molnar
2014-07-14Change return type of Channel::GetUsers() to reference from pointer as it is ↵Attila Molnar
never NULL
2014-06-24Remove now needless dynref_init_completeAttila Molnar
ModuleManager is constructed when ServerInstance is non-NULL, test that instead
2014-06-20Change the type of the user parameter in the OnUserPreNick() hook from User ↵Attila Molnar
to LocalUser No remote users were passed to this hook before. Remove needless IS_LOCAL() checks.
2014-06-14Kill needless #includes in source filesAttila Molnar
2014-06-13Change allocation of InspIRCd::Parser to be physically part of the object ↵Attila Molnar
containing it
2014-05-26Switch to std::string::compare() from substr() in a couple of placesAttila Molnar
2014-04-20Change the OnNamesListItem() hook to return ModResultAttila Molnar
Return MOD_RES_DENY to exclude the user from the NAMES list
2014-03-28Convert the global list of dynamic reference pointers to an intrusively ↵Attila Molnar
linked list
2014-03-15Fix invalid iterator use when removing modes in ModuleManager::DoSafeUnload()Attila Molnar
2014-03-15Add UserManager::GetUsers()Attila Molnar
2014-03-14Add InspIRCd::GetChans(), remove ChannelCount()Attila Molnar
2014-02-23Throw an exception if ModeParser::AddMode() failsAttila Molnar
2014-02-22Add ModeParser::GetModes(), returns all user/chanmodesAttila Molnar
2014-02-21Replace mode letter parameter of OnRawMode() with a ModeHandler*, remove pcntAttila Molnar
2014-02-14Return a Membership* from get_first_visible_channel() in cmd_who and pass ↵Attila Molnar
that to modules
2014-02-07Only compile the testsuite if INSPIRCD_ENABLE_TESTSUITE is definedAttila Molnar
2014-01-25Add Channel* parameter to OnSendWhoLineAttila Molnar
2014-01-24Convert UserChanList to an intrusively linked listAttila Molnar
2014-01-22Split IOHook into IOHook and IOHookProviderAttila Molnar
Create one IOHook instance for each hooked socket which contains all the hook specific data and read/write/close functions, removing the need for the "issl_session" array in SSL modules. Register instances of the IOHookProvider class in the core and use them to create specialized IOHook instances (OnConnect/OnAccept). Remove the OnHookIO hook, add a dynamic reference to ListenSocket that points to the hook provider (if any) to use for incoming connections on that socket. For outgoing connections modules still have to find the IOHookProvider they want to use themselves but instead of calling AddIOHook(hookprov), now they have to call IOHookProvider::OnConnect() after the connection has been established.
2014-01-21Merge insp20Attila Molnar
2014-01-05Move server description field from TreeServer into Server; remove ↵Attila Molnar
OnGetServerDescription hook
2014-01-05Fix possible use of invalid iterator on module unloadAttila Molnar
When a module quits a user or destroys a channel in OnCleanup() the object is no longer in the container being iterated by the time OnCleanup() returns
2013-12-18Fix issues discovered by CoverityDaniel Vassdal
- Fix resource leak in InspIRCd::Format() - Explicitly set NewServices to NULL before the object it points to goes out of scope
2013-12-15Move stuff around a bit:Peter Powell
- Create FileSystem class: * Move ServerConfig::CleanFilename to FileSystem::GetFileName and rewrite. * Move ServerConfig::ExpandPath to FileSystem. * Move ServerConfig::FileExists to FileSystem. * Move ServerConfig::StartsWithWindowsDriveLetter to FileSystem. - Move FileReader to fileutils.cpp and fix documentation. - Move UserManager::DoBackgroundUserStuff to usermanager.cpp.
2013-09-13Pass an interface to the OnSync hooksattilamolnar
Remove Module::ProtoSendMetaData()
2013-09-12Send ListModeBase modes implicitly on channel syncattilamolnar
Remove Module::ProtoSendMode() and ListModeBase::DoSyncChannel()
2013-09-08Automatically register ServiceProviders created by modulesattilamolnar
2013-09-08Deduplicate code in modmanager_static and modmanager_dynamicattilamolnar
2013-09-08Remove ModuleManager::ModCount and GetCount()attilamolnar
2013-08-30Remove ModuleManager::GetAllModuleNames(), use GetModules() insteadattilamolnar
2013-08-30Replace OnRehash() with ReadConfig() that is called on boot, on module load ↵attilamolnar
and on rehash This eliminates the need for calling OnRehash() in init()
2013-08-12Add <path> keys for all of the compile-time paths.Peter Powell
Also, make all paths in the config relative to their associated directory. This reverts a change in 2.0 which turned out to be a terrible idea, especially for system-wide installations.
2013-08-04Automatically attach modules to eventsattilamolnar
2013-08-04Change the syntax of FOREACH macros to be less dumb.Adam
2013-07-19Seperate ModeReference into ChanModeReference and UserModeReferenceattilamolnar
2013-06-13Replace void* dest and target_type parameters of OnMode with a User* and a ↵attilamolnar
Channel*
2013-06-13Introduce ModeProcessFlags, can be passed to ModeParser::Process() to ↵attilamolnar
indicate local only mode changes and mode merges Change ProtocolInterface::SendMode() to take source and destination parameters, and call it from the mode parser whenever the mode change is global This deprecates the ambiguous InspIRCd::SendMode() and InspIRCd::SendGlobalMode() interface (the latter sent mode changes originating from local users twice, etc.)
2013-06-12Get rid of the OnRemoteKill hook, make use of GetRouting() and TR_CUSTOM to ↵attilamolnar
route KILLs
2013-06-12Change command name parameter of OnPostCommand to be a Command*attilamolnar
2013-06-07Remove deprecated Request cross-module communication mechanismattilamolnar
2013-06-07Create IOHook interface (extracted from Module)attilamolnar
2013-06-02Route WALLOPS like a regular command, remove OnWallops hookattilamolnar