Age | Commit message (Collapse) | Author |
|
|
|
Clean up the logging system (part 1 of 2).
|
|
|
|
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
|
|
|
|
|
|
instead of const char*
|
|
There was only one case (which was probably an error) where these
methods were not set to their ServerLimits value.
|
|
The spaces are converted to '_' characters in OPERTYPE for 2.0 servers
Issue #533 suggested by @ankitkv
|
|
- 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.
|
|
Add method for writing server notices.
|
|
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.
|
|
Spotted by @ShutterQuick
Issue #532
|
|
|
|
The DNS modules are temporarily in commands/ so they're loaded automatically
Thanks to Attila for helping with much of this.
|
|
same name as we do and also there is a link block with our server name and their password
See 49223cfe12ecd9071123f724e615e63841f2421d
|
|
|
|
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
|
|
- 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.
|
|
|
|
as a constant
|
|
|
|
burst
|
|
A new but empty topic should override a non-empty old topic
|
|
|
|
|
|
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 ("+").
|
|
entries
|
|
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
|
|
|
|
Split the core function into several smaller functions
Accept userlist entries having no comma at all
|
|
Rename it to SyncChannel() and change it to take a Channel* parameter, move iteration into DoBurst()
|
|
|
|
|
|
Use it from the protocol interface and PRIVMSG/NOTICE handlers
Unite OnUserNotice and OnUserMessage code into LocalMessage()
|
|
dedicated to adding entries to it
|
|
to a new function
|
|
timestamps match but the topics differ
|
|
Return CMD_FAILURE to prevent propagation when the topic wasn't updated; return CMD_INVALID when the topicts is invalid
|
|
Remove two redundant functions from Utils
|
|
users
Use ModuleSpanningTree::RemoteMessage instead
|
|
Describe behavior in comments
|
|
Old code sent empty lines on burst after FJOINs, new version fixes that
|
|
XLineManager does the checking
|
|
user with an unknown user mode
|
|
|
|
Check for error conditions before doing any work
Get rid of hardcoded maxmodes and a loop that copies a container
|
|
|
|
- Use #pragma once instead of include guards.
- Move header files in src/modules to include/modules.
- Fixed various spacing issues.
|
|
|