Age | Commit message (Collapse) | Author |
|
- Move compatibility macros to a new header file.
- Sort system include files in alphabetical order.
- Clean up signal handling (thanks to Adam).
|
|
|
|
|
|
Prevent /mode from being incredible näive after failed attempt to samode...
|
|
user.
|
|
Move <performance:nouserdns> to <connect:nouserdns>.
|
|
|
|
|
|
The DNS modules are temporarily in commands/ so they're loaded automatically
Thanks to Attila for helping with much of this.
|
|
|
|
EWOULDBLOCK
|
|
This greatly decreases the load time because the DH parameters no longer have to be (re)generated each time the module is loaded
|
|
same name as we do and also there is a link block with our server name and their password
See 49223cfe12ecd9071123f724e615e63841f2421d
|
|
|
|
|
|
becomes unavailable
|
|
|
|
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
|
|
|
|
errors in m_callerid
|
|
Read database after all modules have been inited
Add exception logging
Fixes #485 reported by @gholms
|
|
...and especially don't use the shortened name in one place and the original in another
Having different <limits:maxchan> values on the same network is not supported
|
|
Fix building with libc++.
|
|
Thanks to @SimosNap for the report and cooperation
|
|
nickmax is < 9
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
This also fixes a memory leak that didn't occur naturally but was triggerable by remote servers
Thanks to @SimosNap for the report
|
|
|
|
WSAEWOULDBLOCK
|
|
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
|
|
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)
|
|
- Ignore remote users
- Remove expired items in one pass
|
|
|
|
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
|
|
as a constant
|
|
This loop is not required because we already set current_uid[pos] to 'A' before recursing if current_uid[pos] is 9
|
|
|
|
InspIRCd::FindNick()/FindNickOnly()/FindUUID()/FindChan()
|
|
|
|
burst
|
|
A new but empty topic should override a non-empty old topic
|
|
Add <security:allowcoreunload>.
|
|
|
|
|
|
When enabled (the default) this setting prevents the unloading of
core modules such as cmd_privmsg.
|
|
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 ("+").
|