summaryrefslogtreecommitdiff
path: root/src/modules.cpp
AgeCommit message (Collapse)Author
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
2013-06-02Move a few trivial functions into headersattilamolnar
2013-05-27Clean up the FileReader class and all of the modules that use it.Peter Powell
- Modules which use this class will now have to catch a CoreException when opening files if they wish to ignore the failed loading of a file. - m_randquote has been cleaned up massively and the RANDQUOTE command has been removed as it was pretty much useless.
2013-05-21Merge pull request #545 from SaberUK/master+logging-cleanupAttila Molnar
Clean up the logging system (part 1 of 2).
2013-05-20Remove OnUserPreNotice and OnUserNotice hooks, add MessageType argument to ↵attilamolnar
OnUserMessage and OnUserPreMessage All modules (except m_nonotice) that perform filtering on messages have common logic for handling PRIVMSGs and NOTICEs and most of them run the exact same code in both cases
2013-05-19Fix spacing in calls to LogManager::Log.Peter Powell
2013-05-16Fix m_randquote with 0 quotesAdam
2013-04-28Merge insp20attilamolnar
2013-04-26Modularize DNSAdam
The DNS modules are temporarily in commands/ so they're loaded automatically Thanks to Attila for helping with much of this.
2013-04-13OnUserPreJoin is a local-only hook, change User* parameter to LocalUser*attilamolnar
2013-04-12Add LOG_ prefix to the log level enum values.Peter Powell
2013-04-11Convert ISUPPORT to use a map instead of a string.Peter Powell
2013-04-10Run OnUnloadModule hook before starting to unregister services provided by ↵attilamolnar
the module
2013-04-08Allow dynamic references to reference ServiceProviders, introduce ModeReferenceattilamolnar
Mode handlers can be referenced using mode/<modename>
2013-04-08Rework dynamic_reference management, introduce dynamic_reference_nocheckattilamolnar
New dynamic references are now resolved at construction and all of them are re-resolved when a relevant service is added or removed; resolution is no longer done in operator-> dynamic_reference_nocheck is a variant of dynamic_reference that does not check for value being null in operator-> / operator* dynamic_reference still throws an exception when used in this case Both kinds of dynamic references support .check(): an exception is thrown if this is called when value is null
2013-04-08Remove OnAddBan and OnDelBan hooksattilamolnar
2013-04-05Don't attempt to unload or reload modules that are waiting to be unloadedattilamolnar
2013-04-01Remove more deprecated codeattilamolnar
- ConfigReader - FloodQuitUserHandler - IsValidModuleCommand - CallCommandHandler - DoCleanup from u_listmode.h
2013-04-01Change channel name parameter of Module::OnUserPreJoin() and ↵attilamolnar
Channel::JoinUser() to std::string from char*
2012-12-02Throw an exception when attempting to register an extension with a name that ↵attilamolnar
already exists Previously this silently failed
2012-10-12Windows: In-depth cleanup (see details)ChrisTX
-Fix x64 builds for Windows. Now all configurations compile. -Remove the non-working rebase stuff. -Remove the Windows fork hack and instead use FreeConsole() to emulate the behavior. This directly allows us to compile with ASLR, which is turned on now. -Remove the old IPC mechanism for the removed GUI. This is not needed anymore as the GUI wasn't ever supported on anything newer than 1.2 -Remove the WIN32/WINDOWS macros. _WIN32 is supported on all x86-based VC++ targets, so that's what we need. -Enable optimizations for release builds. -De-duplicate printf_c(), it was previously copy-pasted into colors.h for configure -Add the VC++ specific bad files in .gitignore -Disable PID writing on Windows. This is only making sense for *nix builds. -Replace the CPU usage retrieval with an algorithm analogous to the *nix behavior. Also supports separated now/total values. (Tested with a dummy busy loop - seems working) -Removed certain unused functions and variables -Remove stdint defines from the windows wrapper -Remove CRT debug alloc. This is a bad idea as it would define a macro to replace free which breaks builds. -Re-evaluated the warnings list, commented it. -Moved inspircd_config/_version to include/ to match *nix -Removed the creation of inspircd_se_config, as it isn't used at all. -Made non-git builds show as "r0" instead of "r" (thanks to @SaberUK for pointing this out) -Fixed up m_spanningtree's project paths. Now all configurations (debug/release x86/x64) have been tested and build properly. -Moved FindDNS out of the wrapper and matched its log behavior with *nix. (It's pointless having it in the wrapper after the recent slimming down) -Replaced random/srandom wrappers with a mechanism that tries to use Windows' Random API first is no SSL module is loaded. -Removed more old junk from support for compilers older than VC++ 2010 (we don't have project files for these, so compiling them would be hard anyways) -Removed the unused ClearConsole() -Removed unused includes from the wrapper. Also, do not include psapi.h here if we don't link psapi.lib. This should be done where appropriate. -Made inet_aton an inline function for increased performance -C4800, performance warning about bool forcing, resolved at all occurrences. -C4701, uninitialized variable 'cached', resolved at all occurrences. -dlerror() was migrated out of the wrapper for more thread safety (no global buffer being shared) and increased performance. -Removed the wrong CRT debug flags. This drains a lot of performance. -Removed the clock_gettime/gettimeofday wrappers -Replaced all TCHAR/ANSI mix-ups of functions with the correct respective function. -Added a block of C4355 for < VS2012 -Update project files for c870714
2012-09-13New OnUserSetIP() hookattilamolnar
2012-07-01Revert "users: introduce OnSetClientIP hook."Robin Burchell
This reverts commit 5fd31ec5a6ba6021763b36d8d17d4665900623ab.
2012-06-12users: introduce OnSetClientIP hook.William Pitcock
This hook is called whenever a client's IP is modified.
2012-06-12Fix 2 clang warnings reported by @SaberUKattilamolnar
2012-04-19Replace copyright headers with headers granting specific authors copyrightRobby-
2011-07-23Fix compile warningDaniel De Graaf
2011-07-19Remove harmless but scary-looking logfile linesDaniel De Graaf
2010-04-01Split up API_VERSION numberDaniel De Graaf
Since we can make API changes in multiple branches at the same time, a single sequence number is insufficient. Use two numbers to indicate the major version and API increment.
2010-03-22Remove channel argument from OnSendWhoLine, this information is already ↵danieldg
available in params[0] git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12650 e03df62e-2008-0410-955e-edbf42e46eb7
2010-03-22Move ModuleManager::UnloadAll out of modmanager_dynamicdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12649 e03df62e-2008-0410-955e-edbf42e46eb7
2010-03-22Allow static initialization of dynamic_reference objectsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12648 e03df62e-2008-0410-955e-edbf42e46eb7
2010-03-13Convert pgsql to SQLv3danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12626 e03df62e-2008-0410-955e-edbf42e46eb7
2010-03-06Fix ModuleManager::SetPriority algorithm which did not handle ↵danieldg
PRIORITY_BEFORE correctly git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12600 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-20Restore <options:exemptchanops> with long namesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12502 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-19Kill m_spy, which was replaced by channels/auspex in 1.2 but kept alive for ↵danieldg
nostalgia git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12497 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-14m_dnsbl updatesdanieldg
Prevent user registration until dnsbl lookups are complete Allow DNSBLs to be checked using <connect:dnsbl> (MARK type) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12454 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-11Change SERVICE_{CMODE,UMODE} to SERVICE_MODE, which makes more sensedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12430 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-02Allow opermotd to specify its file in <files> without also requiring an ↵danieldg
<opermotd> block git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12355 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-02Executable include for MOTD and moredanieldg
This introduces an <execfiles> tag that reads files from the output of a command, in the same way as executable includes. The files specified here can also be used anywhere a file is used (opermotd, randquote, etc) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12354 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-02Add OnSetConnectClass hook for use in adding requirements to connect classes ↵danieldg
(such as requiressl) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12352 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-01Add parameters to OnSendWhoLine hook, fixes "/who * o" returning opers with +Hdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12345 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-28Fix empty FMODE being sent if SendMode mode changesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12323 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-21Put ConfigReader deprecation warning in logsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12310 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-19Fix some command registration warningsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12305 e03df62e-2008-0410-955e-edbf42e46eb7