summaryrefslogtreecommitdiff
path: root/src/modules
AgeCommit message (Collapse)Author
2018-12-21Only parse valid durations, don't treat invalid multipliers as seconds (#1538)linuxdaemon
2018-12-20Fix thinking that 1202 protocol servers have not finished bursting.Peter Powell
A server introduction is only a burst if all of the parent servers of it are not bursting. Fixes #1527.
2018-12-19Add the <maxlist> tag and switch ListModeBase to always use it.Peter Powell
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.
2018-12-19Make more modules rehash atomically (#1535)linuxdaemon
Have each module validate the values it loads before setting them, so any errors don't result in partial application of the configs
2018-12-17Fix not propagating rehashes properly across the network.Peter Powell
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. Closes #1537.
2018-12-16Fix ParamModeBase::OnUnset() not being virtual.Peter Powell
Closes #1536.
2018-12-13Update the cloaks of connected users when their IP address changes.Peter Powell
2018-12-13Store durations as unsigned long not long in XLine and m_filter.Peter Powell
2018-12-12Fix conversion issues by replacing ConvToInt with ConvToNum<T>.Peter Powell
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.
2018-12-12Fix not rejecting invalid durations in DCCALLOW.Peter Powell
2018-12-12Fix a crash when the core_oper module is not loaded.Peter Powell
2018-12-09Use consistent numerics when a mode already exists or doesn't exist.Peter Powell
2018-12-09Use ERR_BANLISTFULL in the chanfilter and exemptchanops modules.Peter Powell
2018-12-09Fix a numeric collision with UnrealIRCd's help numerics.Peter Powell
We were not using these correctly and the ircd-ratbox numerics are more widely supported so using those is better.
2018-12-09Allow users on an accept list to bypass the +R user mode.Peter Powell
As implemented in ircd-seven and possibly other servers.
2018-12-09Allow modules to check if a user is on a callerid accept list.Peter Powell
2018-12-09Raise the default max number of ACCEPT entries from 16 to 30.Peter Powell
2018-12-01Fix detecting secure clients connecting through HAProxy/WEBIRC.Peter Powell
2018-11-24Move IsValidDuration into the core.Peter Powell
2018-11-24Fix some incorrect conditions in the showfile module.Peter Powell
Thanks to @genius3000 for pointing this out.
2018-11-24Improve the description of the maphide module.Peter Powell
2018-11-24Improve the output of the showfile module.Peter Powell
- Omit the starting numeric if a zero numeric is specified. - Omit the ending numeric if a zero numeric is specified or if the end message is empty.
2018-11-21Kill users that fail a WEBIRC auth instead of penalising them.Peter Powell
This behaviour is specified in the IRCv3 WebIRC specification.
2018-11-21Only try to parse the WebIRC IP if the user matches a host.Peter Powell
2018-11-21m_filter: Add a warn action for notifying opers while still allowing the ↵Robby
message through. Thanks to @H7-25 (Simos) for the idea.
2018-11-21m_blockcolor: Check for colors the same way InspIRCd::StripColor() does.Robby
2018-11-19Add support for multiple cloak configurations.Peter Powell
The first will be used for cloaking and the rest will be used for checking bans.
2018-11-16Fix sending DNSBL error snotices when a user isn't DNSBLed.Peter Powell
2018-11-16Fix an inverted condition in the cgiirc module.Peter Powell
2018-11-15Fix the OnSendWhoLine event being completely broken with WHOX.Peter Powell
2018-11-12m_filter: add Z-Line supportMichael Hazell
2018-11-07Merge tag 'v2.0.27' into master.Peter Powell
2018-11-04Implement support for WEBIRC attributes.Peter Powell
2018-11-03WebSocket: send messages as text by default.Peter Powell
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.
2018-10-31WebSocket: use one WebSocket message per IRC message.Peter Powell
This makes more sense for WebSocket clients than CR+LF termination as the protocol already understands the concept of messages.
2018-10-28Also synchronise the prefix rank between servers.Peter Powell
2018-10-27Fix a shadowing warning in the spanningtree module.Peter Powell
2018-10-27Improve CAPAB negotiation in the spanningtree module.Peter Powell
- 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.
2018-10-26Fix a bunch of harmless compiler warnings on recent GCC releases.Peter Powell
2018-10-25Allow HAProxy to specify that a client is connecting with SSL.Peter Powell
2018-10-25Fix the censor module sending the wrong numeric in some cases.Peter Powell
The appropriate numeric response when a user has the censor mode enabled is ERR_CANTSENDTOUSER not ERR_CANTSENDTOUSER.
2018-10-14Show reasons in xline expiry messages.Robby
2018-10-13Implement support for IPv6 GeoIP lookups.Peter Powell
2018-10-10Require WebSocket origins to be whitelisted in order to connect.Peter Powell
Fixes #1281.
2018-10-09Fix sending malformed ERR_BANLISTFULL numerics in some contexts.Peter Powell
Fixes ircdocs/irc-defs#37.
2018-10-06Use nodejs/http_parser instead of a homebrew parser.edef
2018-10-04Convert m_sha256 to use a vendored library instead of bundling.Peter Powell
The require_compiler("GCC") directive is required to work around some GCCs ignoring the GCC pragma for disabling warnings.
2018-10-01Move <security:hidesplits> to the spanningtree module.Peter Powell
2018-10-01Get rid of DummyMessageDetails in the delayjoin module.Peter Powell
2018-10-01Fix the delayjoin module not hiding JOIN messages properly.Peter Powell