Age | Commit message (Collapse) | Author | |
---|---|---|---|
2013-04-18 | m_callerid Ignore duplicate entries when unserializing callerid_data | attilamolnar | |
2013-04-18 | m_callerid Fix bookkeeping error introduced when unserializing callerid_data | attilamolnar | |
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-16 | Fix m_ssl_gnutls and perhaps some other things on Windows by recognizing ↵ | Adam | |
WSAEWOULDBLOCK | |||
2013-04-16 | m_kicknorejoin Store and compare uuids instead pointers | attilamolnar | |
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-16 | m_kicknorejoin Limit time to 30m by default | attilamolnar | |
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-16 | m_kicknorejoin Minor improvements | attilamolnar | |
- Ignore remote users - Remove expired items in one pass | |||
2013-04-16 | Close listening sockets regardless of the return value of shutdown() | attilamolnar | |
2013-04-16 | Do not enable SO_LINGER on our sockets | attilamolnar | |
Using this option allowed close() to block for up to a second Thanks to Shamsdeen and Rix for their assistance that made this fix possible Fixes issue #445 reported by @shaggie76 Fixes issue #494 reported by @Rixcho | |||
2013-04-14 | Use std::string internally in UIDGenerator, move UUID_LENGTH into the class ↵ | attilamolnar | |
as a constant | |||
2013-04-14 | Simplify UID generation logic | attilamolnar | |
This loop is not required because we already set current_uid[pos] to 'A' before recursing if current_uid[pos] is 9 | |||
2013-04-14 | Extract UID/SID generation logic into a new class: UIDGenerator | attilamolnar | |
2013-04-13 | Remove const char* versions of ↵ | attilamolnar | |
InspIRCd::FindNick()/FindNickOnly()/FindUUID()/FindChan() | |||
2013-04-13 | m_spanningtree Remove redundant first parameter of PING/PONG | attilamolnar | |
2013-04-13 | m_spanningtree Ignore hopcount in incoming SERVER command, always send 0 at ↵ | attilamolnar | |
burst | |||
2013-04-13 | m_spanningtree Netburst: If a topic was ever set, send it even if it's empty | attilamolnar | |
A new but empty topic should override a non-empty old topic | |||
2013-04-13 | Merge pull request #476 from SaberUK/master+allowcoreunload | Attila Molnar | |
Add <security:allowcoreunload>. | |||
2013-04-13 | m_spanningtree Add channel timestamp to FTOPIC | attilamolnar | |
2013-04-13 | m_spanningtree Add channel timestamp to channel METADATA | attilamolnar | |
2013-04-13 | Add <security:allowcoreunload>. | Peter Powell | |
When enabled (the default) this setting prevents the unloading of core modules such as cmd_privmsg. | |||
2013-04-13 | m_spanningtree Introduce IJOIN and RESYNC | attilamolnar | |
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-13 | m_spanningtree Bump protocol version and remove unused CAPAB CAPABILITIES ↵ | attilamolnar | |
entries | |||
2013-04-13 | Channel::JoinUser() and Channel::ForceChan() changes | attilamolnar | |
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-13 | OnUserPreJoin is a local-only hook, change User* parameter to LocalUser* | attilamolnar | |
2013-04-13 | Remove the deprecated invite API | attilamolnar | |
2013-04-12 | m_spanningtree Remove unneeded #includes | attilamolnar | |
2013-04-12 | m_spanningtree FJOIN handler: Refactor, update doc | attilamolnar | |
Split the core function into several smaller functions Accept userlist entries having no comma at all | |||
2013-04-12 | m_spanningtree Netburst: Refactor SendChannelModes() | attilamolnar | |
Rename it to SyncChannel() and change it to take a Channel* parameter, move iteration into DoBurst() | |||
2013-04-12 | m_spanningtree Change both prefix and first parameter of SQUIT to be a SID | attilamolnar | |
2013-04-12 | m_spanningtree Remove encapsulation on UserCount/OperCount | attilamolnar | |
2013-04-12 | m_spanningtree Introduce new function to send channel messages | attilamolnar | |
Use it from the protocol interface and PRIVMSG/NOTICE handlers Unite OnUserNotice and OnUserMessage code into LocalMessage() | |||
2013-04-12 | m_spanningtree Change TreeServerList to be a set, get rid of a function ↵ | attilamolnar | |
dedicated to adding entries to it | |||
2013-04-12 | m_spanningtree Utils: Move code that creates a full line from its components ↵ | attilamolnar | |
to a new function | |||
2013-04-12 | m_spanningtree FTOPIC handler: Keep only one topic if the two topic ↵ | attilamolnar | |
timestamps match but the topics differ | |||
2013-04-12 | m_spanningtree FTOPIC handler: Return CMD_FAILURE/CMD_INVALID as appropiate | attilamolnar | |
Return CMD_FAILURE to prevent propagation when the topic wasn't updated; return CMD_INVALID when the topicts is invalid | |||
2013-04-12 | m_spanningtree atoi() to ConvToInt() conversion, add const where possible | attilamolnar | |
Remove two redundant functions from Utils | |||
2013-04-12 | m_spanningtree RSQUIT handler: Don't reimplement sending messages to remote ↵ | attilamolnar | |
users Use ModuleSpanningTree::RemoteMessage instead | |||
2013-04-12 | m_spanningtree RCONNECT handler: Fix error reporting to remote users | attilamolnar | |
Describe behavior in comments | |||
2013-04-12 | m_spanningtree Netburst: Rework SendFJoins() | attilamolnar | |
Old code sent empty lines on burst after FJOINs, new version fixes that | |||
2013-04-12 | m_spanningtree Netburst: Remove expiration check from SendXLines() | attilamolnar | |
XLineManager does the checking | |||
2013-04-12 | m_spanningtree UID handler: Log and drop the link when a server introduces a ↵ | attilamolnar | |
user with an unknown user mode | |||
2013-04-12 | m_spanningtree UID handler: Remove dead code | attilamolnar | |
2013-04-12 | m_spanningtree FMODE handler: Rework | attilamolnar | |
Check for error conditions before doing any work Get rid of hardcoded maxmodes and a loop that copies a container | |||
2013-04-12 | m_spanningtree IDLE handler: Rewrite | attilamolnar | |
2013-04-12 | Tidy 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-12 | Add LOG_ prefix to the log level enum values. | Peter Powell | |
2013-04-11 | Convert ISUPPORT to use a map instead of a string. | Peter Powell | |
2013-04-10 | Run OnUnloadModule hook before starting to unregister services provided by ↵ | attilamolnar | |
the module | |||
2013-04-10 | BanCache: Move expiration code into a function, call it from RemoveEntries() | attilamolnar | |
2013-04-10 | BanCache: Remove BanCacheManager::RehashCache() | attilamolnar | |
The function was never called | |||
2013-04-10 | BanCache: Simplify BanCacheManager::RemoveEntries() | attilamolnar | |