13724 Commits

Author SHA1 Message Date
Peter Powell
e433401fb8 Fix a crash when trying to use ROUTE_TYPE_MESSAGE with no message. 2019-01-02 20:28:48 +00:00
Peter Powell
aafc03bdfc Fix message tags not being broadcast across the network. 2019-01-02 20:28:46 +00:00
Peter Powell
93390f6ccb Strip message tags when talking with 1202 protocol servers. 2019-01-02 16:56:25 +00:00
Peter Powell
8fd5f78f83 Remove spanningtree check for lines sent without a source.
We don't send any of these anymore.
2019-01-02 16:56:08 +00:00
Peter Powell
d45060c2ba Update the vendored http_parser library to v1.3. 2019-01-01 14:11:06 +00:00
linuxdaemon
7530285740 Only parse valid durations, don't treat invalid multipliers as seconds (#1538) 2018-12-21 19:37:22 +01:00
Peter Powell
60ae49b62a Fix thinking that 1202 protocol servers have not finished bursting.
A server introduction is only a burst if all of the parent servers
of it are not bursting.

Fixes #1527.
2018-12-20 15:08:17 +01:00
Peter Powell
f904042e9e Fix docs referring to channel mode e using the wrong name. 2018-12-19 10:06:46 +00:00
Peter Powell
36da0833c5 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.
2018-12-19 09:02:09 +00:00
linuxdaemon
4fbd6681fe Make more modules rehash atomically (#1535)
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-19 01:06:56 +00:00
Peter Powell
bf0bf05ac0 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.

Closes #1537.
2018-12-17 19:26:59 +00:00
Peter Powell
28eeee38bd Alphabetically sort the modes in MAXLIST tokens.
This isn't strictly necessary but we do it for other modes in 005
so lets do it for MAXLIST too.
2018-12-17 14:02:20 +00:00
Peter Powell
8ec9a73a91 Fix ParamModeBase::OnUnset() not being virtual.
Closes #1536.
2018-12-16 01:41:47 +00:00
Peter Powell
0b36f9bdc8 Fix a typo in core_user. 2018-12-15 13:39:25 +00:00
Peter Powell
3d0d64933d Update the cloaks of connected users when their IP address changes. 2018-12-13 16:58:39 +00:00
Peter Powell
ee7db9bbfb Store durations as unsigned long not long in XLine and m_filter. 2018-12-13 14:20:43 +00:00
Peter Powell
0f7cfd46ef 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.
2018-12-12 21:43:24 +00:00
Peter Powell
4e0cb28c19 Fix not rejecting invalid durations in DCCALLOW. 2018-12-12 21:39:46 +00:00
Peter Powell
654355c2d1 Reject setting modes which are null or not registered. 2018-12-12 14:43:55 +00:00
Peter Powell
51891f10f2 Fix a crash when the core_oper module is not loaded. 2018-12-12 14:43:55 +00:00
Peter Powell
372c5c9496 Fix overly escaping MOTDs if they are in more than one connect class. 2018-12-10 17:27:19 +00:00
Peter Powell
cb7e83aa4e Move some config parser-internal types out of the public header. 2018-12-09 16:13:27 +00:00
Peter Powell
f99f0af6d1 Fix the example help files using the wrong name for <helpmsg:nohelp>.
Thanks to @genius3000 for pointing this out.
2018-12-09 08:10:39 +00:00
Peter Powell
db5610a564 Use consistent numerics when a mode already exists or doesn't exist. 2018-12-09 06:57:10 +00:00
Peter Powell
a5b9f37d62 Use ERR_BANLISTFULL in the chanfilter and exemptchanops modules. 2018-12-09 06:29:48 +00:00
Peter Powell
16864d1871 Fix a numeric collision with UnrealIRCd's help numerics.
We were not using these correctly and the ircd-ratbox numerics are
more widely supported so using those is better.
2018-12-09 06:15:07 +00:00
Peter Powell
5cf88fd79e Allow users on an accept list to bypass the +R user mode.
As implemented in ircd-seven and possibly other servers.
2018-12-09 04:28:25 +00:00
Peter Powell
9dab477dad Allow modules to check if a user is on a callerid accept list. 2018-12-09 04:28:20 +00:00
Peter Powell
94eb36566e Clean up the callerid documentation slightly. 2018-12-09 02:19:42 +00:00
Peter Powell
9361492b41 Raise the default max number of ACCEPT entries from 16 to 30. 2018-12-09 02:13:47 +00:00
Peter Powell
a4c1b1f4fc Add an option for changing the allowed server clock drift. 2018-12-04 19:04:09 +00:00
Peter Powell
ec6955f28b Fix detecting secure clients connecting through HAProxy/WEBIRC. 2018-12-01 23:48:33 +00:00
Peter Powell
9574997540 Only check if a SSL cert is usable if we're getting the fp. 2018-11-26 14:33:44 +00:00
Peter Powell
0d4138631c Use the default if an invalid duration is found in getDuration. 2018-11-24 23:27:49 +00:00
Peter Powell
cc5aff3e5a Move IsValidDuration into the core. 2018-11-24 23:27:16 +00:00
Peter Powell
6596fb5ffe Fix some incorrect conditions in the showfile module.
Thanks to @genius3000 for pointing this out.
2018-11-24 19:03:55 +00:00
Peter Powell
b00cd0295e Improve the description of the maphide module. 2018-11-24 18:57:28 +00:00
Peter Powell
56a95ff4ae Improve the output of the showfile module.
- 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-24 17:41:53 +00:00
Peter Powell
248fa43bf9 Kill users that fail a WEBIRC auth instead of penalising them.
This behaviour is specified in the IRCv3 WebIRC specification.
2018-11-21 14:01:52 +00:00
Peter Powell
a77954b218 Only try to parse the WebIRC IP if the user matches a host. 2018-11-21 14:01:52 +00:00
Robby
705853459e m_filter: Add a warn action for notifying opers while still allowing the message through.
Thanks to @H7-25 (Simos) for the idea.
2018-11-21 01:15:12 +00:00
Robby
05413dcaf3 m_blockcolor: Check for colors the same way InspIRCd::StripColor() does. 2018-11-21 00:48:30 +00:00
Robby
4c6d7a12ab Add missing special character for reversing color. 2018-11-20 23:37:20 +00:00
Peter Powell
28ffef39c8 Add support for multiple cloak configurations.
The first will be used for cloaking and the rest will be used for
checking bans.
2018-11-19 11:00:17 +00:00
Peter Powell
3683d85e71 Exclude the vendor directory from Doxygen-generated documentation. 2018-11-19 02:49:32 +00:00
Peter Powell
1ec87c328f Fix single backslashes in the MOTD erroneously being removed. 2018-11-18 13:12:07 +00:00
Peter Powell
37977710a7 Fix sending DNSBL error snotices when a user isn't DNSBLed. 2018-11-16 23:42:49 +00:00
Peter Powell
d50a4bf02d Fix an inverted condition in the cgiirc module. 2018-11-16 22:13:11 +00:00
Peter Powell
6adca3e099 Fix the OnSendWhoLine event being completely broken with WHOX. 2018-11-15 19:24:47 +00:00
Michael Hazell
19c0cfa3e5 m_filter: add Z-Line support 2018-11-12 01:13:48 +00:00