3005 Commits

Author SHA1 Message Date
Peter Powell
a4305d8f3c Add the server id to the Server class. 2019-09-23 13:18:14 +01:00
Peter Powell
0d6a4a31d8 Add GetNumericToken to sepstream.
This removes some boilerplate when retrieving numeric types.
2019-09-03 12:28:58 +01:00
Peter Powell
5cf6f65044 Document ConfigStatus and add a way to detect the initial load. 2019-09-02 15:17:30 +01:00
Peter Powell
400de0ab00 Release v3.3.0. 2019-08-23 11:14:07 +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
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
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
5f387071d3 Add a method for swapping user I/O handlers. 2019-07-21 16:57:19 +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
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
iwalkalone
2ab383f707 Add OnUserPreQuit event to allow modules to change quit messages (#1629). 2019-06-24 14:46:54 +01:00
Peter Powell
5b152cfcd9 Deduplicate dirent.h inclusion. 2019-06-20 10:24:16 +01:00
Peter Powell
d2ffdfc2ce Make the data provider list case insensitive. 2019-06-18 19:17:18 +01:00
Peter Powell
9433e34b21 Show the mode syntax in ERR_INVALIDMODEPARAM. 2019-06-12 21:52:58 +01:00
Peter Powell
9b35c4c78c Add an API for accessing a batch end event.
This is essentially identical to the one for the start event.
2019-06-12 12:42:47 +01:00
Peter Powell
ad92bdb83f Fix echo-message replies being considered a side effect. 2019-06-11 10:04:15 +01:00
Peter Powell
6e898936d6 Add a method for getting a list of files in a directory. 2019-06-10 13:40:37 +01:00
Peter Powell
da53c17315 Implement support for millisecond level server-time accuracy. 2019-06-07 20:22:43 +01:00
Peter Powell
87bbf574bd Only call events on modules which aren't dying. 2019-06-06 14:14:46 +01:00
Peter Powell
33932b95e4 Add irc::sockets::isunix for checking if a file is a UNIX socket. 2019-05-29 17:50:49 +01:00
linuxdaemon
de7011e54a Add an overload of StreamSocket::Close which closes when all data has been written.
Fixes sending large pages in m_httpd (#1646).
2019-05-22 19:47:17 +01:00
Peter Powell
6e6007ef83 Release v3.1.0. 2019-05-17 09:51:03 +01:00
Peter Powell
1a157c1e5c Resize the event sets to 2x the CurrentSetSize in ResizeDouble(). 2019-05-14 16:28:11 +01:00
Peter Powell
319218db85 Allow SSLIOHook instances to override Get{Certificate,Fingerprint}. 2019-05-13 14:28:25 +01:00
Peter Powell
6844ce1587 Fix building against older versions of glibc. 2019-05-06 01:57:26 +01:00
Robby
e57d1b19ff Textual improvements and fixes such as typos, casing, etc. (#1612) 2019-04-28 09:14:21 +01:00
Peter Powell
329cb42190 Bump the API revision for the previous commits. 2019-04-19 13:47:36 +01:00
Peter Powell
15bb93a4ea Remove the OnNamesListItem event out of the core. 2019-04-19 11:51:42 +01:00
Peter Powell
2cd6efcc64 Rename HasPermission to HasCommandPermission. 2019-04-19 10:05:06 +01:00
Peter Powell
21f0718c4a Remove the 'noisy' mode for HasPrivPermission.
This was only used in one place.
2019-04-19 00:39:57 +01:00
Peter Powell
14e1d1f844 Replace the geoip module with geo_maxmind, geoban, and geoclass.
MaxMind have EOL'd the library that the geoip module uses and have
replaced it with libmaxminddb.

The geoip module has been split into geo_maxmind which provides
geolocation data, geoban which provides location-based channel
bans, and geoclass which is used to filter a user into a connect
class based on location.
2019-04-15 19:08:22 +01:00
Peter Powell
7c8e2990a1 Bump the API revision for the previous commit. 2019-04-15 12:24:13 +01:00
Peter Powell
c2c4de7267 Fix linking servers with UNIX sockets.
- Remove the address/port overloads of BeginConnect.
- Change DoConnect to take a sockaddrs instead of an address/port.
2019-04-15 12:21:12 +01:00
Peter Powell
b00451a85c Fix various typos. 2019-04-04 14:36:45 +01:00
Peter Powell
656ce184b9 Bump the API revision for the previous commit. 2019-04-04 12:27:56 +01:00
Peter Powell
be0c809590 Document OnUserInit properly and add OnUserPostInit. 2019-04-04 12:27:56 +01:00
Peter Powell
bdded70ac2 Rename OnClientProtocolPopulateTags to OnPopulateTags. 2019-03-30 11:53:51 +00:00
linuxdaemon
1003c593bf Rename GetFlagIndex -> GetFieldIndex 2019-03-12 17:14:53 +00:00
linuxdaemon
dfb1e0da78 Add Who::Request::GetFlagIndex to get field index
Replaces the dirty logic in m_hideoper and m_namesx
2019-03-12 17:14:53 +00:00
Matt Schatz
9b25df3109 Improve the handling of config X-lines and filters. (#1583) 2019-02-22 13:44:57 +00:00
Peter Powell
c495b5d9cf Implement support for IRCv3 client-to-client tags. 2019-02-19 22:53:15 +00:00
Peter Powell
74136695f8 Fix erasing event subscribers erasing all with the same priority. 2019-02-19 20:59:04 +00:00
Peter Powell
f06502606e Allow customising ElementComp in flat_{map,multimap,multiset,set}. 2019-02-19 20:58:53 +00:00