Matt Schatz [Tue, 8 Jan 2019 10:03:53 +0000 (03:03 -0700)]
Improve X-line text consistency.
- Change any "-Line", ":Line", or "*line" to "-line" throughout
the X-line code, comments, and documentation.
- Add periods to the end of some notices.
- Correct a typo in the Q-line code comments.
- Update the filter module documentation (shun addition).
Peter Powell [Wed, 19 Dec 2018 09:02:09 +0000 (09:02 +0000)]
Add the <maxlist> tag and switch ListModeBase to always use it.
The old method of doing this was:
1. Extremely inconsistently used. Some list modes used <banlist>
and some used their own config tag.
2. Not documented in the slightest. There was a small reference to
<maxbans> for the ban mode but nothing else.
3. In some cases conflicting with other config tags. The chanfilter
module defined a <chanfilter> tag for general config whilst also
using it for the max list settings.
The new <maxlist> tag avoids these issues entirely.
Peter Powell [Mon, 17 Dec 2018 19:08:41 +0000 (19:08 +0000)]
Fix not propagating rehashes properly across the network.
The REHASH command is not routed like a normal command. When a
rehash that needs to be forwarded is received the local server
forwards it indirectly by calling the local REHASH handler which
then calls the OnPreRehash hook. This results in the OnPreRehash
hook being called whilst loopCall is true.
The bug which this check was added to fix seems to no longer be
present so no alternate fix for that seems necessary.
Peter Powell [Wed, 12 Dec 2018 20:34:46 +0000 (20:34 +0000)]
Fix conversion issues by replacing ConvToInt with ConvToNum<T>.
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.
Peter Powell [Wed, 31 Oct 2018 05:11:41 +0000 (05:11 +0000)]
WebSocket: send messages as text by default.
This requires all messages to be UTF-8. If you are using a UTF-8
incompatible text encoding then you can disable this by setting
<websocket:sendastext> to false.
Peter Powell [Sat, 27 Oct 2018 13:18:52 +0000 (14:18 +0100)]
Remove deprecated config checker and make <die> actually useful.
- Remove the deprecated config tag checker. This checker is neither
exhaustive nor is it particularly accurate. Instead the new docs
site will contain a page detailing the breaking changes between
releases.
- Remove the insulting <die> tags in inspircd.conf.example and add
some descriptive ones in files that it is critical for the user
to edit correctly.
- Show the message from the <die> tag so the user actually knows
what they did wrong.
Peter Powell [Sat, 27 Oct 2018 17:13:29 +0000 (18:13 +0100)]
Improve CAPAB negotiation in the spanningtree module.
- Remove the CHANMODES, USERMODES, and PREFIX tokens in the 1205
protocol. These have entirely been superceded by the CHANMODES
and USERMODES CAPAB commands.
- Only compare the 1202 PREFIX tokens if the remote server did not
send CAPAB CHANMODES. This replicates the existing behaviour
used for the CHANMODES token.
- Fix checking whether the remote server has an appropriate case
mapping. If it is not sent we assume it is the same as the local
server as always. This should prevent issues with people using
services packages that do not send this token yet.
- Fix checking if the user modes are mismatched and then promptly
overwriting the error message with mismatched channel modes.
- Fix servers not being able to tell whether a mode on the remote
server is a prefixless prefix mode. Requires the 1205 protocol.
- Fix servers that receive CAPAB CHANMODES or CAPAB USERMODES not
checking the type of those modes. Requires the 1205 protocol.
Peter Powell [Thu, 25 Oct 2018 22:29:55 +0000 (23:29 +0100)]
Change the branch version from InspIRCd-3.0 to InspIRCd-3.
Under the new versioning scheme when a new branch is forked the
major version number will be reset. The minor version number will
now be used to mark a release as containing backwards compatible
additions and the patch version number will be used to mark a
release as containing just bug fixes.