summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree
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-12m_spanningtree Move SVSMODE -> MODE translation into the appropiate place, ↵attilamolnar
ignore non-channel METADATA
2013-06-12m_spanningtree Rewrite incoming (E|G|K|Q|Z)LINE commands from 2.0 servers ↵attilamolnar
into ADDLINE/DELLINE These commands were never documented to be usable in the server protocol but we accepted them nevertheless from servers
2013-06-12Get rid of the OnRemoteKill hook, make use of GetRouting() and TR_CUSTOM to ↵attilamolnar
route KILLs
2013-06-12Implement GetRouting() in core commands that require it, remove ugly ↵attilamolnar
workaround from spanningtree RouteCommand()
2013-06-12Change command name parameter of OnPostCommand to be a Command*attilamolnar
2013-06-12Simplify stringjoiner: take 1 parameter, join from begin() to end() and use ↵attilamolnar
space as the sep char
2013-06-07Create SSLIOHook interface that provides GetCertificate()attilamolnar
2013-06-07Create IOHook interface (extracted from Module)attilamolnar
2013-06-06Use InspIRCd::Format instead of snprintf().Peter Powell
2013-06-06Compare to ServerLimits::MaxLine instead of MAXBUF.Peter Powell
2013-06-06Reserve ServerLimits::MaxLine instead of MAXBUF.Peter Powell
2013-06-06Merge insp20attilamolnar
2013-06-05Remove unnecessary string copies and dead codeattilamolnar
2013-06-04m_spanningtree Fix FIDENT routingattilamolnar
A new FIDENT was broadcast for each incoming FIDENT causing harmless but unnecessary server to server traffic
2013-06-02Route WALLOPS like a regular command, remove OnWallops hookattilamolnar
2013-05-27Deduplicate RemoveMode() implementationsattilamolnar
The default (core) implementation can now remove prefix modes The modestacker parameter is now mandatory
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-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-16Remove unused variables, avoid copies where possible, check empty() instead ↵attilamolnar
of size() == 0 Most of these were detected by cppcheck
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-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-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-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_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-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-14Use std::string internally in UIDGenerator, move UUID_LENGTH into the class ↵attilamolnar
as a constant
2013-04-13m_spanningtree Remove redundant first parameter of PING/PONGattilamolnar
2013-04-13m_spanningtree Ignore hopcount in incoming SERVER command, always send 0 at ↵attilamolnar
burst
2013-04-13m_spanningtree Netburst: If a topic was ever set, send it even if it's emptyattilamolnar
A new but empty topic should override a non-empty old topic
2013-04-13m_spanningtree Add channel timestamp to FTOPICattilamolnar
2013-04-13m_spanningtree Add channel timestamp to channel METADATAattilamolnar
2013-04-13m_spanningtree Introduce IJOIN and RESYNCattilamolnar
When a local user joins an existing channel, instead of an FJOIN, send an IJOIN with the channel name being the first parameter. If the joining user received prefix modes, append the channel TS and the prefix mode letters as the second and third parameters. When receiving an IJOIN, first check if the target channel exists. If it does not exist, ignore the join (that is, do not create the channel) and send a RESYNC back to the source. If the channel does exist then join the user, and in case any prefix modes were sent (found in the 3rd parameter), compare the TS of the channel to the TS in the IJOIN (2nd parameter). If the timestamps match, set the modes on the user, otherwise ignore the modes. Outgoing IJOINs to 1202 protocol servers are converted to FJOINs, but the channel mode parameter is left empty ("+").
2013-04-13m_spanningtree Bump protocol version and remove unused CAPAB CAPABILITIES ↵attilamolnar
entries
2013-04-13Channel::JoinUser() and Channel::ForceChan() changesattilamolnar
Convert static Channel::ForceChan() to non-static Channel::ForceJoin() that joins a user to a channel, no permission checks The (static) Channel::JoinUser() now has a LocalUser parameter, and no longer have TS and bursting parameters. If the channel doesn't exist, it is created using current time as TS
2013-04-12m_spanningtree Remove unneeded #includesattilamolnar
2013-04-12m_spanningtree FJOIN handler: Refactor, update docattilamolnar
Split the core function into several smaller functions Accept userlist entries having no comma at all
2013-04-12m_spanningtree Netburst: Refactor SendChannelModes()attilamolnar
Rename it to SyncChannel() and change it to take a Channel* parameter, move iteration into DoBurst()