568 Commits

Author SHA1 Message Date
Sadie Powell
4ce16000d3 Bump the ABI version. 2020-01-31 12:42:54 +00:00
Sadie Powell
b759870d74 Add an event for when a command is blocked before execution. 2020-01-22 10:22:02 +00:00
InspIRCd Robot
aa692dc103 Update copyright headers. 2020-01-11 22:14:43 +00:00
Peter Powell
7f36a33713 Bump the InspIRCd ABI version. 2019-12-03 12:25:12 +00:00
Peter Powell
e3deb78340 Add an event which is fired when the server shuts down. 2019-10-17 17:17:39 +01:00
Peter Powell
400de0ab00 Release v3.3.0. 2019-08-23 11:14:07 +01:00
Peter Powell
850b7a3ace Allow modules to prevent a failed connection from being closed. 2019-07-21 13:50:01 +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
d2ffdfc2ce Make the data provider list case insensitive. 2019-06-18 19:17:18 +01:00
Peter Powell
87bbf574bd Only call events on modules which aren't dying. 2019-06-06 14:14:46 +01:00
Peter Powell
6e6007ef83 Release v3.1.0. 2019-05-17 09:51:03 +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
7c8e2990a1 Bump the API revision for the previous commit. 2019-04-15 12:24:13 +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
785f3a2866 Document OnUserWrite. 2019-02-07 11:56:53 +00:00
Peter Powell
a638de7715 Release v3.0.0 release candidate 2. 2019-02-06 10:02:31 +00:00
Peter Powell
bf046f87c8 Delete the old broken test suite.
This doesn't work properly and is disabled in both debug & release
builds. It will be resurrected with a proper unit testing framework
in the future.
2019-02-05 17:11:54 +00:00
Peter Powell
f4041a13c3 Release v3.0.0 release candidate 1. 2019-01-07 22:41:54 +00:00
Peter Powell
6adca3e099 Fix the OnSendWhoLine event being completely broken with WHOX. 2018-11-15 19:24:47 +00:00
Peter Powell
0e6b18ff91 Fix warnings from Doxygen. 2018-10-21 19:18:08 +01:00
Peter Powell
cae87fa047 Switch all core modules still using COMMAND_INIT to MODULE_INIT. 2018-09-23 14:19:06 +01:00
Peter Powell
7e9ec8e490 Amend OnPostCommand to specify whether the command is loopcalled.
This restores previous behaviour which was lost when the original
line parameter was removed.
2018-09-11 09:03:47 +01:00
Peter Powell
f7a115884f Rename OnChangeLocalUserHost to OnPreChangeHost for consistency. 2018-08-14 00:22:59 +01:00
Peter Powell
10b17a0e9f Remove the OnInfo event.
This is not used by anything and On{Post,Pre}Command hooks can
be used if people really want to add stuff to INFO.
2018-08-14 00:18:13 +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
213e4d9680 Remove the original line parameter of On{Pre,Post}Command.
In the brave new world of message tags and alternate wire formats
this is no longer something that is appropriate to expose.

In reality it was only ever used by m_alias which now reconstitutes
the command name and parameters into a RFC 1459-style message for
whatever it needs to do.
2018-08-10 13:55:32 +01:00
Peter Powell
d9a52277df Remove support for static modules.
This has been frequently broken in the past and as far as I know is
used by literally nobody.

Also, even if all modules are compiled into the core any libraries
linked against are and have always been linked dynamically making
this unusable on platforms without dynamic libraries.
2018-07-31 03:20:18 +01:00
Peter Powell
7bde9de9b3 Replace most usages of "name" with "real" or "real name". 2018-07-30 18:34:57 +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
ef48486b09 Rename IntModuleList to Module::List. 2018-07-24 10:02:27 +01:00
Peter Powell
35b70631f0 Merge tag 'v2.0.26' into master. 2018-04-22 13:02:19 +01:00
Peter Powell
b86d7db056 Call OnUserMessageBlocked when a PRIVMSG or a NOTICE is blocked.
This is necessary to allow m_ircv3_echomessage to pretend that a
message was echoed successfully. This is useful as it doesn't let
spammers know that their message was blocked.
2018-04-16 17:02:42 +01:00
Peter Powell
aa19c8fc02 Remove swhois messages set in the oper block on deoper.
Closes #1240.
2018-04-09 11:59:09 +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
Peter Powell
d2efdbf6bb Fix building on Windows (mostly). 2018-02-17 17:12:26 +00:00
Peter Powell
2fcb5ff438 Rework message handling.
- Move all message-related types to their own header to make moving
  them to a cross-module events easier.
- Rename OnUserMessage to OnUserPostMessage.
- Rename OnText to OnUserMessage.
- Replace the dest, target_type, and status parameters with the
  MessageTarget class.
- Replace the text, exempt_list, and msgtype parameters with the
  MessageDetails struct.
- Add echooriginal and originaltext to the MessageDetails struct
  to allow spam filtering to not be broken by cap echo-message.
2018-01-06 14:18:21 +00:00
Peter Powell
70be9c79d2 Move OnSync{Channel,Network,User} to ServerEventListener. 2017-12-03 13:58:10 +00:00
Peter Powell
91e0af0fc4 Add the override keyword in places that it is missing.
GCCs warnings for this are much better than Clangs.
2017-11-21 15:51:45 +00:00
Attila Molnar
3b51dfb1d6 Add events which are fired when a service is added or deleted. 2017-11-16 14:15:25 +00:00
Peter Powell
9eac41bf5a Tweak the module flags in MODULES slightly.
Using unique letters for each flag makes it easier to read when
using fonts which have similar glyphs for upper and lower case
characters.
2017-10-21 22:03:43 +01:00
Peter Powell
ee7ac5aaed Clean up OnCleanup.
- Switch to using ExtensionItem::ExtensibleType for the type instead
of TargetTypeFlags.
- Pass the extensible to OnCleanup as an Extensible pointer
instead of a void pointer.
- Call OnCleanup for memberships as well as channels and users.
- Rewrite event documentation to remove outdated references.
2017-10-18 12:54:51 +01:00
Peter Powell
a1bc06e8a0 Update a bunch of references to the old command modules. 2017-08-27 13:18:58 +01:00
Peter Powell
a62ae50007 Fix a bunch of Doxygen warnings. 2017-08-26 09:58:15 +01:00
Peter Powell
d1df2bce56 Add CXX11_OVERRIDE to overridden members that lack it.
This fixes a ton of warnings when building on compilers that
default to C++11 or newer.
2017-07-12 14:41:52 +01:00
Peter Powell
b8d85c6251 Update stuff for the new versioning system. 2016-09-02 22:13:22 +02:00