Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
This replaces the devoice module which has now been removed. If you
want users to be able to devoice themselves then you can load the
customprefix module add the following config tag:
<customprefix name="voice" depriv="yes">
If you wish to keep identical behaviour rather than allowing users
to use "MODE #YourChannel -v TheirNick" then you can load the alias
module and add the following config tag:
<alias text="DEVOICE" format="#*" replace="MODE $2 -v $nick">
|
|
|
|
|
|
|
|
This removes the need to invalidate the cache after changing a
user's hostname.
|
|
|
|
|
|
|
|
|
|
Using unique letters for each flag makes it easier to read when
using fonts which have similar glyphs for upper and lower case
characters.
|
|
|
|
|
|
- Switch to using ExtensionItem::ExtensibleType for the type instead
of TargetTypeFlags.
- Pass the extensible to OnCleanup as an Extensible pointer
instead of a void pointer.
- Call OnCleanup for memberships as well as channels and users.
- Rewrite event documentation to remove outdated references.
|
|
- Read the disabled command list in ApplyDisabledCommands() instead
of storing it in a global which is only accessed on rehash.
- Write debug messages to the log when disabling commands.
- Use irc::spacesepstream instead of std::stringstream.
|
|
This is not an issue normally but in some circumstances (e.g. when
disabling commands) it can result in command lookups failing even
when they exist.
|
|
|
|
|
|
|
|
|
|
64 is a rather restrictive limit especially considering how fast
channels can accumulate bans. In fact, #InspIRCd hit the ban limit
in just over a year.
Having a low limit might have made sense when memory was expensive
but the average IRC server should be able to handle this fine now.
|
|
|
|
|
|
This function is being misused in all but one scenario. It isn't
really worth keeping IMO.
|
|
|
|
|
|
Also move the command name to a parameter so that it is more easily
parseable by software.
|
|
|
|
|
|
|
|
|
|
This is used to directly read the settings from the config tag like
how ServerLimits works.
|
|
|
|
This prevents a bug where we send malformed messages to the client
when dlerror() returns an error message containing more than one
line. This has been observed on macOS but probably will happen on
other UNIX systems too.
This also fixes a potential problem where dlerror() returns NULL
and converting it to std::string causes a crash. I can't see any
way that this might happen but it is better to be safe than sorry.
|
|
|
|
|
|
This was never documented and seems pretty useless.
|
|
Move the OnCheckExemption hook out of the core.
|
|
|
|
|
|
- Send the same numerics as ircu/ircd-hybrid/charybdis/ratbox/etc.
These are much more widespread and predate the Unreal numeric we
currently send.
- Move RPL_MAPUSERS to 018. This numeric is unused and does not
conflict with RPL_PRIVS like our current one does.
|
|
Store config values in a map instead of a unique vector of pairs.
|
|
This fixes a ton of warnings when building on compilers that
default to C++11 or newer.
|
|
Merge v2.0.23 and v2.0.24 into master.
|
|
The write counters were close to useless because they were only
incremented on a write "event" which is only triggered when writing
would block.
Read handling was a little more useful in that all reads must happen
through the socket engine, so these were happening at the correct time,
but we can clean this up by doing it in the SE itself rather than each
platform port.
This means that both read and write events are now easily and usefully
defined as "a syscall of either read or write was attempted".
We also count empty read and write events as being an event, because
they still were an attempt to poll a socket in some way. This may help
to identify "bad" code which is repeatedly trying to read a socket for
some reason.
Lastly, we check for failed read/write calls, and log them as an error
event. A lot of the time, this is how sockets are determined as being
disconnected (ie. at read/write time).
While we're at it, split Update() in two to make the calls more
self-describing. This has no real impact since only one call is made at
a time anyway.
|
|
|
|
This might be used later by m_dnsbl to get reasons for listings
|