14124 Commits

Author SHA1 Message Date
Peter Powell
400de0ab00 Release v3.3.0. v3.3.0 2019-08-23 11:14:07 +01:00
Peter Powell
9ed9396278 Silence some GCC warnings. 2019-08-23 10:51:31 +01:00
Peter Powell
e7ca24f4dc Add -Werror to the Travis build flags. 2019-08-23 10:40:48 +01:00
Peter Powell
f9175f6518 Improve escaping strings in the MySQL module. 2019-08-20 16:26:35 +01:00
Peter Powell
8745660fcd Initialise and deallocate the MySQL library correctly. 2019-08-20 16:19:01 +01:00
Peter Powell
2d35c3396a Fix some remaining uses of ato[il]. 2019-08-13 20:11:11 +01:00
Peter Powell
0827c5c742 Free StringExtItem and SimpleExtItem values correctly. 2019-08-13 15:02:25 +01:00
Peter Powell
703ba72071 Convert LocalExtItem to a typedef and deprecate it. 2019-08-13 15:02:25 +01:00
Peter Powell
d1513c8c60 Update the mailmap with a bunch of new names. 2019-08-10 10:45:25 +01:00
Peter Powell
541c461cca Fix waitpong referring to registration timeouts as ping timeouts.
If the client does not send a PONG message in time then they will
receive a registration timeout. The client will only receive a ping
timeout in response to a unanswered PING whilst fuilly connected to
the server.
2019-08-09 03:46:23 +01:00
Matt Schatz
932121c6ff Fix DNSBL lookups for IPv6.
A '.' gets added to the end of `reversedip` when creating the DNSBL
hostname for the resolver. We need to remove the trailing '.' on the
IPv6 form of `reversedip` or the resolver will fail.
2019-08-08 11:59:33 +01:00
Peter Powell
714284aa30 Convert all core ExtensionItem code away from {un,}serialize. 2019-08-07 19:37:27 +01:00
Peter Powell
85182d727c Add {To,From}{Human,Internal,Network} to ExtensionItem.
Also, deprecate the old SerializeFormat/serialize/unserialise API.
2019-08-07 16:38:15 +01:00
Peter Powell
704f0fca5f Document ExtensionItem better. 2019-08-07 13:32:28 +01:00
Peter Powell
4f4bc07f41 Update vendored utfcpp to v3.1. 2019-08-02 12:52:22 +01:00
Matt Schatz
cb1e9772a9 Move UNIX socket removal to ListenSocket ctor.
Doing the removal in BindPorts() would remove the socket
during a rehash and not recreate it. Now it's only removed
if it's about to be created.
2019-08-01 13:23:46 +01:00
Peter Powell
d5ed9d15c1 Fix a shadowing warning in UserIOHandler::OnError. 2019-08-01 12:58:22 +01:00
Peter Powell
4e3d655dff Only send ACCOUNT and CHGHOST to clients that have sent NICK/USER.
Closes #1657.
2019-08-01 00:11:12 +01:00
Peter Powell
c6b5da1f6f Fix sasl hangs with clients that blindly request the capability. 2019-07-31 22:16:28 +01:00
Peter Powell
9acece70e5 Fix sending DEL for caps which have not been advertised yet.
Closes #1687.
2019-07-31 22:15:13 +01:00
Peter Powell
7d17f0f275 Fix extban O matching against oper types containing spaces.
Fixes #1684.
2019-07-31 21:50:48 +01:00
Peter Powell
ef77989a9d Stop removing oper modes after a user have been quit network-wide.
Fixes #1686.
2019-07-31 21:46:07 +01:00
Peter Powell
93556dbfb8 Improve the "max connections exceeded" oper snotice. 2019-07-26 20:19:32 +01:00
Peter Powell
193eac6490 Fix various cases of broken indentation. 2019-07-26 10:22:42 +01:00
Peter Powell
8fe455f1da Add support for the IRCv3 standard replies extension.
This extension provides a framework for other extensions to send
standard replies to clients as an alternative to numerics.
2019-07-25 14:32:47 +01:00
Peter Powell
abdc47a615 Add a constant for the maximum length of a mode parameter. 2019-07-23 15:17:01 +01:00
Peter Powell
438a088b51 Add the time tag on the server the message originates from. 2019-07-22 12:40:37 +01:00
Peter Powell
9cf381330e Fix some regressions in sending tags between servers. 2019-07-22 12:40:37 +01:00
Peter Powell
5f387071d3 Add a method for swapping user I/O handlers. 2019-07-21 16:57:19 +01:00
Peter Powell
62f6e56e15 Extract history sending logic in chanhistory to its own function. 2019-07-21 14:13:07 +01:00
Peter Powell
850b7a3ace Allow modules to prevent a failed connection from being closed. 2019-07-21 13:50:01 +01:00
Peter Powell
e2fcf7b3b1 Add an event for adding tags to S2S messages. 2019-07-19 14:17:10 +01:00
Peter Powell
a9989ac397 Get rid of CommandBuilder::push_back. 2019-07-19 13:01:59 +01:00
Peter Powell
875aa2d98d spanningtree: Never send a message to a raw UUID in CmdBuilder. 2019-07-19 12:13:18 +01:00
Peter Powell
c7dc34b6e0 ssl_gnutls: remove PackageInfo directives for EOL Debian versions. 2019-07-16 11:52:18 +01:00
Peter Powell
5385944ae9 Add package names for ArchLinux. 2019-07-16 11:52:17 +01:00
Peter Powell
d83874d9c4 regex_pcre: pkg-config is not required by this module. 2019-07-16 11:52:14 +01:00
Peter Powell
6d775e0127 Link to the associated documentation page for modules in errors. 2019-07-16 11:52:09 +01:00
Peter Powell
9a7b478f1d Refer to modules without the m_ prefix in error messages 2019-07-16 10:25:35 +01:00
Peter Powell
5a3627b0a7 Send ERR_NOTEXTTOSEND in response to an empty GLOBOPS/WALLOPS. 2019-07-15 15:46:44 +01:00
Peter Powell
06e2961a86 Split ServerEventListener into {Broadcast,Link,Sync}EventListener.
There is no reason to have these events in one big handler and it
causes unnecessary event hooks to be created by having them like
this.

The ServerEventListener class still exists for compatibility
2019-07-15 12:55:48 +01:00
Matt Schatz
0b0443687d Skip UNIX sockets in GetLocation(). 2019-07-10 10:23:42 +01:00
Peter Powell
9c56619ea9 Release v3.2.0. v3.2.0 2019-07-05 10:09:06 +01:00
Peter Powell
021fe61d85 Document the --example-dir option. 2019-07-05 10:09:06 +01:00
Matt Schatz
4681faacb5 DurationString(): Return "0s" for a duration of 0 (#1677).
Usually a duration of 0 is not allowed or handled separately,
but it can also be used as a 'no set time' without separation.

Case in point: m_chanhistory calls DurationString() to convert
the max time seconds back to a human readable string for the
mode serializer. Returning a blank string is bad here.
2019-07-04 17:42:41 +01:00
Matt Schatz
3b8246ab07 Fix years being offset from weeks (#1678).
Currently a duration of 52w will return a blank string.
When I added weeks to the calculations, I failed to update
the number of seconds to a year. As 365 days and 52 weeks
aren't the same, but the calculation needs to be consistent.
2019-07-04 17:30:23 +01:00
Matt Schatz
bdbedfe2c0 Use DurationString() in the 'Replaying ...' message. 2019-07-04 17:18:06 +01:00
Matt Schatz
3450b3d1cc Fix whitelist check for a badchan redirect (#1676). 2019-07-04 17:17:30 +01:00
Peter Powell
0d33974a75 Fix building on Windows.
This regression was introduced by #1659. This distinction is only
relevant on Windows so this should not affect non-Windows platforms.
2019-07-04 14:04:34 +01:00
Peter Powell
fb6bf272c1 Stop prioritising OnUserConnect in the conn_umodes module.
There is no reason to do this.
2019-07-04 10:14:09 +01:00