Age | Commit message (Collapse) | Author |
|
|
|
Currently on invalid modes we do a combination of different things:
1. Send a custom mode-specific numeric (which often collides with
other modes).
2. Send a server notice.
3. Do absolutely nothing.
This new numeric is a generic way of handling invalid parameters
when setting a mode that avoids all of the mistakes of the previous
behaviour.
|
|
|
|
|
|
|
|
- Move all message-related types to their own header to make moving
them to a cross-module events easier.
- Rename OnUserMessage to OnUserPostMessage.
- Rename OnText to OnUserMessage.
- Replace the dest, target_type, and status parameters with the
MessageTarget class.
- Replace the text, exempt_list, and msgtype parameters with the
MessageDetails struct.
- Add echooriginal and originaltext to the MessageDetails struct
to allow spam filtering to not be broken by cap echo-message.
|
|
Closes #1452.
|
|
Using the latter is problematic as if you don't copy the return
value before calling Format again your formatted message will be
overwritten by something else. This bug was observed in m_callerid
where InspIRCd::Format was being used for formatting two arguments
the latter of which was being overwritten with the former.
We could have preserved the return type and just copied the string
but then callers would have had to deallocate the string once they
have finished with it which is an undesirabable burden to put on
callers.
|
|
This is just a thin wrapper around exit(). I don't think we really
need it.
While we are changing this code the setgroup/setuser code should be
using EXIT_STATUS_CONFIG too.
|
|
- Move everything into the SQL namespace and drop the SQL prefix.
- Move SQLProvider::PopulateUserInfo to SQL::PopulateUserInfo.
- Rename SQLEntry to SQL::Field and clean up.
- Rename SQLEntries to SQL::Row.
- Rename SQLerror to SQL::Error and clean up.
- Rename SQLerrorNum to SQL::ErrorCode and drop the SQL_ prefix.
- Rename ParamL to SQL::ParamList.
- Rename ParamM to SQL::ParamMap;
- Make implementing SQLQuery::OnError mandatory.
- Redo most of the documentation in the sql header.
|
|
Per #1122
|
|
The previous name was horrible and didn't describe what the setting
actually does.
|
|
This resolves #483
|
|
|
|
- Add constants for all of the used numerics.
- Switch RPL_CHANNELSMSG from 336 to 651 to avoid a conflict with
RPL_INVITELIST from ircd-hybrid.
- Switch RPL_WHOWASIP from 379 to 652 to avoid a conflict with
RPL_WHOISMODES from UnrealIRCd.
|
|
|
|
In the future we will have server linking modules that are not the
spanningtree module.
|
|
|
|
|
|
|
|
|
|
|
|
GCCs warnings for this are much better than Clangs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|