275 Commits

Author SHA1 Message Date
Peter Powell
cf5d382b82 Add whether the server split with an error to OnServerSplit. 2019-09-23 13:18:19 +01:00
Sadie Powell
eeb6dcec60 Replace LocalIntExt with IntExtItem. 2019-08-13 19:08:17 +01:00
Sadie Powell
7c7de81b6d Merge branch 'insp3' into master. 2019-08-09 04:07:33 +01:00
Peter Powell
714284aa30 Convert all core ExtensionItem code away from {un,}serialize. 2019-08-07 19:37:27 +01:00
Sadie Powell
ada6646b65 Merge branch 'insp3' into master. 2019-07-27 19:12:29 +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
438a088b51 Add the time tag on the server the message originates from. 2019-07-22 12:40:37 +01:00
Peter Powell
e2fcf7b3b1 Add an event for adding tags to S2S messages. 2019-07-19 14:17:10 +01:00
Sadie Powell
5226776fd9 Remove code relating to v3 API changes and v2 module compatibility. 2019-07-18 17:45:00 +01:00
Sadie Powell
cd8b456f97 Merge branch 'insp3' into master. 2019-07-16 16:48:18 +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
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
da53c17315 Implement support for millisecond level server-time accuracy. 2019-06-07 20:22:43 +01:00
Sadie Powell
1d5b18de82 Merge branch 'insp3' into master. 2019-05-15 15:26:55 +01:00
Peter Powell
319218db85 Allow SSLIOHook instances to override Get{Certificate,Fingerprint}. 2019-05-13 14:28:25 +01:00
Peter Powell
15bb93a4ea Remove the OnNamesListItem event out of the core. 2019-04-19 11:51:42 +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
Sadie Powell
1fff2f7f87 Merge branch 'insp3' into master. 2019-03-30 22:06:19 +00: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
Peter Powell
c495b5d9cf Implement support for IRCv3 client-to-client tags. 2019-02-19 22:53:15 +00:00
Sadie Powell
e75f03d32f Merge branch 'insp3' into master. 2019-02-15 16:24:02 +00:00
Peter Powell
ebb3258ff4 WriteNeighborsWithCap: add the ability to send to the origin user. 2019-02-14 14:40:12 +00:00
linuxdaemon
d4a1ea7045 Expand searching in m_httpd_stats, add global handling of GET parameters (#1566) 2019-02-06 10:33:06 +00:00
Sadie Powell
bfa5fb407e Merge branch 'insp3' into master. 2019-02-05 00:47:30 +00:00
B00mX0r
e844a2cef9 Fix a minor typo in ssl.h 2019-02-01 09:43:32 +00:00
Sadie Powell
0fab643858 Convert repetitive functions to use C++11 variadic templates. 2019-01-25 15:17:37 +00:00
Sadie Powell
c78ecdf579 Replace the override macro with the override keyword. 2019-01-25 02:52:11 +00:00
Peter Powell
961109ae4f Remove trailing whitespace from various source files. 2019-01-24 22:18:22 +00:00
Peter Powell
dba2cddc46 Fix overriding <options:exemptchanops> with the exemptchanops mode.
Closes #1558.
2019-01-24 18:03:12 +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
9dab477dad Allow modules to check if a user is on a callerid accept list. 2018-12-09 04:28:20 +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
6adca3e099 Fix the OnSendWhoLine event being completely broken with WHOX. 2018-11-15 19:24:47 +00:00
Peter Powell
79892a727e Implement support for WEBIRC attributes. 2018-11-04 15:29:06 +00:00
Peter Powell
ae0ae8ea61 Allow HAProxy to specify that a client is connecting with SSL. 2018-10-25 13:50:43 +01:00
Peter Powell
75e144b55e Fix the chanhistory module being inconsistent across servers.
Closes #331.
2018-10-01 12:34:47 +01:00
Peter Powell
584d456903 Add support for the IRCv3 batch specification.
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-08-13 22:01:42 +01:00
Peter Powell
2249524355 Add support for the IRCv3 server-time specification.
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-08-13 22:01:21 +01:00
Peter Powell
58a0a7e014 Implement IRCv3 message tag support.
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-08-13 21:51:11 +01:00
Peter Powell
ba23c2b115 Convert AWAY to use cross-module events and clean up slightly.
OnSetAway has been replaced with four events. OnUserPreAway and
OnUserPreBack can be used to deny an away state change and/or
change the away message of a local user. OnUserAway and OnUserBack
allow modules to be notified that a user's away state has changed.
2018-08-12 15:01:45 +01:00
Peter Powell
abbf70b2a3 Rename User::fullname to realname and make it private. 2018-07-30 18:50:34 +01:00
Peter Powell
8cb20e3545 Replace most usages of "GECOS" with "real" or "real name". 2018-07-30 18:30:11 +01:00
Peter Powell
384ef31bc0 Use CommandBase::Params instead of std::vector<std::string>.
This is presently a typedef but will soon be replaced with a class
that encapsulates both tags and parameters.
2018-07-26 20:12:14 +01:00
Peter Powell
454c8d3749 Move OnStats from the core to a cross-module event.
Some core code still exists in the XLine system but this will be
replaced when the XLine system is replaced later.
2018-04-08 16:54:27 +01:00
Daniel Vassdal
d38f2ad213 SQL: Add HasColumn() to check if a result contains a named column. 2018-04-07 11:50:08 +01:00
Dylan Frank
3fb20b61b6 Ignore expired or invalid client certificates (#1468).
Fixes #1345.
2018-03-29 19:11:55 +01:00
Peter Powell
d2efdbf6bb Fix building on Windows (mostly). 2018-02-17 17:12:26 +00:00