summaryrefslogtreecommitdiff
path: root/src/modules/m_spanningtree
AgeCommit message (Collapse)Author
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-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()
2013-04-12m_spanningtree Change both prefix and first parameter of SQUIT to be a SIDattilamolnar
2013-04-12m_spanningtree Remove encapsulation on UserCount/OperCountattilamolnar
2013-04-12m_spanningtree Introduce new function to send channel messagesattilamolnar
Use it from the protocol interface and PRIVMSG/NOTICE handlers Unite OnUserNotice and OnUserMessage code into LocalMessage()
2013-04-12m_spanningtree Change TreeServerList to be a set, get rid of a function ↵attilamolnar
dedicated to adding entries to it
2013-04-12m_spanningtree Utils: Move code that creates a full line from its components ↵attilamolnar
to a new function
2013-04-12m_spanningtree FTOPIC handler: Keep only one topic if the two topic ↵attilamolnar
timestamps match but the topics differ
2013-04-12m_spanningtree FTOPIC handler: Return CMD_FAILURE/CMD_INVALID as appropiateattilamolnar
Return CMD_FAILURE to prevent propagation when the topic wasn't updated; return CMD_INVALID when the topicts is invalid
2013-04-12m_spanningtree atoi() to ConvToInt() conversion, add const where possibleattilamolnar
Remove two redundant functions from Utils
2013-04-12m_spanningtree RSQUIT handler: Don't reimplement sending messages to remote ↵attilamolnar
users Use ModuleSpanningTree::RemoteMessage instead
2013-04-12m_spanningtree RCONNECT handler: Fix error reporting to remote usersattilamolnar
Describe behavior in comments
2013-04-12m_spanningtree Netburst: Rework SendFJoins()attilamolnar
Old code sent empty lines on burst after FJOINs, new version fixes that
2013-04-12m_spanningtree Netburst: Remove expiration check from SendXLines()attilamolnar
XLineManager does the checking
2013-04-12m_spanningtree UID handler: Log and drop the link when a server introduces a ↵attilamolnar
user with an unknown user mode
2013-04-12m_spanningtree UID handler: Remove dead codeattilamolnar
2013-04-12m_spanningtree FMODE handler: Reworkattilamolnar
Check for error conditions before doing any work Get rid of hardcoded maxmodes and a loop that copies a container
2013-04-12m_spanningtree IDLE handler: Rewriteattilamolnar
2013-04-12Tidy up source files:Peter Powell
- Use #pragma once instead of include guards. - Move header files in src/modules to include/modules. - Fixed various spacing issues.
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-10Replace IS_AWAY() and IS_OPER() macros with User::IsAway() and User::IsOper()attilamolnar
2013-04-09Move most whois related code from the core into cmd_whoisattilamolnar
2013-04-08Migrate u_listmode.h into the core, change +b to use itattilamolnar
2013-04-01Whitespace and empty destructor removal, minor coding style changesattilamolnar
2013-04-01Merge pull request #452 from SaberUK/master+nuke-hashmapAttila Molnar
Purge the deprecated hash_map from existance.
2013-04-01Move member variables from User to LocalUserattilamolnar
- idle_lastmsg - dns_done - quitting_sendq - exempt - lastping
2013-04-01Convert IsSID() to a static member function, modules shouldn't override itattilamolnar
2013-04-01Fix linker error when linking spanningtree caused by ↵Adam
56cae0f3a484cbcb20569b68917f1810a0c2f4a4
2013-04-01Purge the deprecated hash_map from existance.Peter Powell
2013-04-01Change channel name parameter of Module::OnUserPreJoin() and ↵attilamolnar
Channel::JoinUser() to std::string from char*
2013-04-01Change User::GetIPString() to return const std::string&attilamolnar
2013-04-01Remove legacy code, mostly related to 1.2 compatibilityattilamolnar
2013-03-20m_spanningtree Fix incoming channel modes being lost for 0-user permanent ↵attilamolnar
channels on the losing side of a netmerge This did not affect listmodes
2013-02-01Remove unused variables detected by Clang 4.2.Peter Powell
2013-01-14m_spanningtree Fix rare desync when a KILL crosses a message that has the ↵attilamolnar
killed user's prefix and modifies global state
2012-12-15Add a flag to Command that controls whether an empty last parameter is ↵attilamolnar
allowed or not
2012-12-15Add IS_SERVER() and REG_ALL checks to (mostly oper only) commands taking a ↵attilamolnar
target nickname If a SID was passed as the target user parameter or when it's an unregistered user reply with the "no such nick" (or the moral equivalent) message