Age | Commit message (Collapse) | Author |
|
|
|
|
|
Closes #1536.
|
|
The former was a thin wrapper around atol and brought with it all
of the weird parsing logic of atol which is almost never what is
actually wanted. It also almost never returned the numeric type
which is actually wanted which can cause weird issues when casting.
|
|
|
|
|
|
* Validate the settings in the same order as the parameter syntax
* Always validate Lines and Secs regardless of having a Diff
* Check Backlog for greater than Max as well as being disabled
|
|
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.
|
|
GCCs warnings for this are much better than Clangs.
|
|
This removes the need to invalidate the cache after changing a
user's hostname.
|
|
|
|
|
|
|
|
|
|
Also update docs/ accordingly
|
|
|
|
|
|
|
|
|
|
never NULL
|
|
ParamMode
- Type of the extension used to store data is a template parameter
- The extension is automatically unset when the mode is unset
- Handlers inheriting from ParamMode have to provide OnSet() and SerializeParam(); may optionally provide OnUnset()
- Transparently handle the case when OnSet() modifies the mode parameter
- Remove Channel::custom_mode_params map; ask the mode handlers to serialize their parameters instead
|
|
|
|
|
|
and on rehash
This eliminates the need for calling OnRehash() in init()
|
|
|
|
New version uses 2 vectors instead of a matrix
Do not shrink the vectors even if the user sets a lower <repeat:size> than before, this is because longer lines may remain in the backlog
|
|
requiring mode handlers to do it
|
|
indicate local only mode changes and mode merges
Change ProtocolInterface::SendMode() to take source and destination parameters, and call it from the mode parser whenever the mode change is global
This deprecates the ambiguous InspIRCd::SendMode() and InspIRCd::SendGlobalMode() interface (the latter sent mode changes originating from local users twice, etc.)
|
|
Changes to the original module:
- Parse settings using a sepstream, accept remote mode changes regardless of our config
- Refuse to link when config settings differ
- Style changes
All ideas and features are the brainchild and work of Daniel Vassdal
|