summaryrefslogtreecommitdiff
path: root/src/modules
AgeCommit message (Collapse)Author
2013-06-02m_devoice Remove FindChan() and HasUser() checks, these are done when ↵attilamolnar
parsing the mode change
2013-06-01Watch mode names with ModeWatchers instead of mode lettersattilamolnar
2013-06-01Remove useless ModeType parameter from ModeWatcher::BeforeMode() and AfterMode()attilamolnar
2013-06-01Remove #define MAXPARAMETERS and "MAXPARA" 005 tokenattilamolnar
2013-05-27Simplify user mode removal via ModeHandler::RemoveMode()attilamolnar
The function does not need to be virtual because the core can remove any user mode using the default logic The optional modestack parameter was always NULL, so remove it
2013-05-27Deduplicate RemoveMode() implementationsattilamolnar
The default (core) implementation can now remove prefix modes The modestacker parameter is now mandatory
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-23Change CacheRefreshTimer tick time back to 5 minutesAdam
2013-05-21Merge pull request #545 from SaberUK/master+logging-cleanupAttila Molnar
Clean up the logging system (part 1 of 2).
2013-05-21Convert XLine::Displayable to return a std::string.Peter Powell
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-18Replaced vsnprintf with VAFORMAT pretty much everywhere.Daniel Vassdal
2013-05-18Change the signature of User::ForceNickChange() to accept const std::string& ↵attilamolnar
instead of const char*
2013-05-18Get rid of the NICKForced extensionattilamolnar
Don't run OnUserPreNick when the nick change is forced
2013-05-18Deduplicate hex string creation codeattilamolnar
2013-05-18Merge pull request #543 from SaberUK/master+sizeparam-removalAttila Molnar
Remove the size argument from IsChannel and IsNick.
2013-05-18Remove the size argument from IsChannel and IsNick.Peter Powell
There was only one case (which was probably an error) where these methods were not set to their ServerLimits value.
2013-05-18Purge the old chanlog code from the module file.Peter Powell
2013-05-16m_joinflood Make the code friendlier, unset +j when the module is unloadedattilamolnar
See 21c3232b8e0bb41727f2d65a0b2d5304587cf6be and fae560cddc389b88c9cd34afdccf9035f4d11c5b
2013-05-16Allow spaces (and more) in oper typesattilamolnar
The spaces are converted to '_' characters in OPERTYPE for 2.0 servers Issue #533 suggested by @ankitkv
2013-05-15Tidy up keywords on module methods.Peter Powell
- Remove virtual keyword from a ton of methods which don't need it. - Add override keyword to a ton of methods which do need it.
2013-05-15Replace some C-isms with C++-isms.Peter Powell
* 'const char*' to 'const std::string&'. * snprintf to std::string concatenation. * Replace duplicated OneOfMatches with InspIRCd::MatchMask.
2013-05-14Merge pull request #523 from SaberUK/master+server-noticeAttila Molnar
Add method for writing server notices.
2013-05-14Add method for writing server notices.Peter Powell
This allows us to send a server notice to a user without worrying about whether they are registered or not. If a user receives a server notice and they are not registered then the nickname field will contain an asterisk instead of their nick name.
2013-05-14m_spanningtree UID handler: Fix parsing user modesattilamolnar
Spotted by @ShutterQuick Issue #532
2013-04-28Merge insp20attilamolnar
2013-04-27Added RMODE command per suggestion #479Daniel Vassdal
2013-04-27Prevent /mode from being incredible näive after failed attempt to samode a ↵Daniel Vassdal
user.
2013-04-27Move <performance:nouserdns> to <connect:nouserdns>.Peter Powell
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-24m_ssl_gnutls Add ability to load DH params from fileattilamolnar
This greatly decreases the load time because the DH parameters no longer have to be (re)generated each time the module is loaded
2013-04-23m_spanningtree Fix crash when connecting to a remote server that has the ↵attilamolnar
same name as we do and also there is a link block with our server name and their password See 49223cfe12ecd9071123f724e615e63841f2421d
2013-04-21m_rline Switch to OnUserRegister hook to disconnect banned users earlierattilamolnar
2013-04-21m_filter, m_rline Remove rlines and filters when the regex engine changes or ↵attilamolnar
becomes unavailable
2013-04-21m_spanningtree Move CacheTimer into utilsattilamolnar
2013-04-21Timer changes and TimerManager enhancementsattilamolnar
Timer::Tick() now has a bool return value: if false is returned the timer is deleted using operator delete, otherwise, if it's a repeating timer then it's rescheduled (readded) Timers are removed from the TimerManager automatically at destruction Timers are now stored in a multimap instead of a sorted vector
2013-04-21m_filter Fix memory leak on unloadattilamolnar
2013-04-21Log some internal errors on DEFAULT loglevel instead of DEBUG, log detected ↵attilamolnar
errors in m_callerid
2013-04-21m_permchannels Workaround for alphabetical module initialization orderattilamolnar
Read database after all modules have been inited Add exception logging Fixes #485 reported by @gholms
2013-04-19m_ident Invalidate cache after changing User::identattilamolnar
2013-04-19m_callerid Allow messaging yourself while +g regardless of the ACCEPT listattilamolnar
2013-04-19Fix building with libc++.Peter Powell
- Purged std::tr1::strlower (was never used). - Moved std::tr1::insensitive to irc::insensitive. - Added TR1NS macro to point to the correct C++ TR1 namespace.
2013-04-18m_spanningtree Fix IS_LOCAL() check in OnRehash handlerattilamolnar
2013-04-18m_callerid Ignore duplicate entries when unserializing callerid_dataattilamolnar
2013-04-18m_callerid Fix bookkeeping error introduced when unserializing callerid_dataattilamolnar
This also fixes a memory leak that didn't occur naturally but was triggerable by remote servers Thanks to @SimosNap for the report
2013-04-16Fix m_ssl_gnutls and perhaps some other things on Windows by recognizing ↵Adam
WSAEWOULDBLOCK
2013-04-16m_kicknorejoin Store and compare uuids instead pointersattilamolnar
Fixes the off chance scenario where we disallow a join because a previously kicked user has quit and the User who is trying to join happens to be allocated at the exact same memory location
2013-04-16m_kicknorejoin Limit time to 30m by defaultattilamolnar
In the current implementation we only expire entries when someone joins, without a limit it was possible to make us practically never remove entries and consume (a tiny amount of) memory for each entry until the mode was removed/parameter was changed The default limit of 30m is chosen to not surprise people when they upgrade. If you need to prevent rejoins for more than a minute then you should set a (timed)ban instead Config option is available to change the limit (2.0 only)
2013-04-16m_kicknorejoin Minor improvementsattilamolnar
- Ignore remote users - Remove expired items in one pass