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
Matt Schatz
371ffa78cb
Fix error message for splitwhois value.
2019-07-03 11:10:48 +01:00
Peter Powell
c9a812a5cc
Allow customising the example config directory at build time.
...
Fixes #1626 .
2019-07-03 10:53:21 +01:00
Peter Powell
25359c0884
Fix finding files when the init script is not in the cwd.
...
This should fix #1621 .
2019-07-03 10:02:13 +01:00
Peter Powell
ce6c5fc3de
Fix not expanding <pid:file> correctly.
2019-07-03 10:00:51 +01:00
Peter Powell
fa0ee25eaf
Revert "Add the msgid tag to all outgoing messages".
...
This causes inconsistent message ids between servers.
This reverts commit 638e4bb417ebcd4f0a384ac19585620b0fde1569.
2019-07-02 09:37:11 +01:00
Peter Powell
e86b4311c0
sslinfo: use the SSL certificate API to get user SSL certificates.
2019-06-29 15:38:29 +01:00
Peter Powell
3bd512df63
Only show UHNAMES and NAMESX in 005 if the cap module is loaded.
...
The legacy method of enabling these extensions is just a wrapper
around the capability. If the cap module is not loaded it can not
be enabled so we should not advertise it.
2019-06-26 19:03:43 +01:00
Peter Powell
02beded762
Switch permchannels and xline_db from OnBackgroundTimer to a Timer.
2019-06-25 16:52:26 +01:00
Peter Powell
30a651d092
permchannels: remove an unused ChanModeReference.
2019-06-25 15:02:34 +01:00
linuxdaemon
7ad534c1af
Replace large if/else blocks for target.type with switches ( #1668 ).
2019-06-24 17:10:17 +01:00
iwalkalone
2ab383f707
Add OnUserPreQuit event to allow modules to change quit messages ( #1629 ).
2019-06-24 14:46:54 +01:00