30 Commits

Author SHA1 Message Date
InspIRCd Robot
ae3e2db109 Update copyright headers. 2024-06-07 10:37:56 +01:00
Sadie Powell
babc733d2d Fix using (unsigned) long instead of (s)size_t. 2023-01-24 23:02:35 +00:00
Sadie Powell
c0bb4742e0 Make implementing OnStreamSocketClose optional in middle hooks. 2023-01-21 13:22:33 +00:00
Sadie Powell
7bd8091f6b Use the underlying transport method for pinging idle clients.
Closes #1998.
2023-01-21 12:54:07 +00:00
Sadie Powell
b25cd86ddf Avoid copying shared_ptr<IOHookProvider> when not necessary. 2023-01-10 21:27:29 +00:00
Sadie Powell
7673db8d1b Pass the client/server sockaddr around as a ref instead of a ptr. 2022-12-25 13:06:50 +00:00
Sadie Powell
45e56e5ee1 Yet more stylistic fixes. 2022-12-01 05:25:01 +00:00
Sadie Powell
648f813f8c Switch from NULL to nullptr. 2022-07-22 18:53:21 +01:00
Sadie Powell
d79147e7af Abolish the infernal space before accessibility keywords. 2022-01-25 14:02:36 +00:00
Sadie Powell
b96af051c2 Merge branch 'insp3' into master. 2022-01-03 15:14:36 +00:00
InspIRCd Robot
adbe149c56 Update copyright headers. 2021-12-30 18:52:08 +00:00
Sadie Powell
421e8c8c79 Add the final keyword to all remaining classes that can have it. 2021-12-20 20:19:40 +00:00
Sadie Powell
b5d7c56428 Merge branch 'insp3' into master. 2021-09-23 00:24:36 +01:00
Sadie Powell
5bd0a93976 Add an API for checking if I/O hooks are ready or not. 2021-09-22 20:43:49 +01:00
Dominic Hamon
02340285c5
Added -Wshorten-64-to-32 and fixed all warnings. 2021-05-30 20:37:54 +01:00
Sadie Powell
3ca912ad71 Merge branch 'insp3' into master. 2021-05-11 04:07:45 +01:00
Sadie Powell
b4a174ee9c Fix a bunch of weird indentation and spacing issues. 2021-04-27 16:41:14 +01:00
Sadie Powell
ee643ad2a5 Migrate IOHookProvider from reference<> to std::shared_ptr<>. 2021-04-09 01:03:30 +01:00
Sadie Powell
4e488cb54d Refactor classbase/CullResult into Cullable/Cullable::Result. 2021-03-02 05:56:56 +00:00
Sadie Powell
98e4ddfb21 Use C++11 inline initialisation for class members. 2020-02-06 11:25:42 +00:00
InspIRCd Robot
aa692dc103 Update copyright headers. 2020-01-11 22:14:43 +00:00
Robby
21e7efdadf Various text improvements: consistency, syntax, help and doc updates/fixes. 2019-02-18 09:15:56 +00:00
Attila Molnar
451e687f68 Unite SSL service providers and SSL profile classes 2017-11-13 16:38:30 +00:00
Attila Molnar
40e42a47a7 Update comments for classes IOHookProvider and IOHook 2016-08-08 16:30:04 +02:00
Attila Molnar
87602cd040 Add support for multiple IOHooks per StreamSocket 2016-08-08 15:02:28 +02:00
Attila Molnar
3a11a742ba Pass sendq to OnStreamSocketWrite 2016-08-08 14:28:02 +02:00
Attila Molnar
1f0485039a Convert all code to use StreamSocket::SendQueue
Let OnStreamSocketWrite see the entire sendq instead of one element at a time
2015-06-06 14:31:05 +02:00
Attila Molnar
99f79a4e5c Split IOHook into IOHook and IOHookProvider
Create one IOHook instance for each hooked socket which contains all the
hook specific data and read/write/close functions, removing the need for
the "issl_session" array in SSL modules.

Register instances of the IOHookProvider class in the core and use them to
create specialized IOHook instances (OnConnect/OnAccept).

Remove the OnHookIO hook, add a dynamic reference to ListenSocket that
points to the hook provider (if any) to use for incoming connections on
that socket.

For outgoing connections modules still have to find the IOHookProvider
they want to use themselves but instead of calling AddIOHook(hookprov),
now they have to call IOHookProvider::OnConnect() after the connection
has been established.
2014-01-22 19:10:01 +01:00
attilamolnar
3d6d9cda32 Create SSLIOHook interface that provides GetCertificate() 2013-06-07 01:00:10 +02:00
attilamolnar
79db1cf848 Create IOHook interface (extracted from Module) 2013-06-07 01:00:10 +02:00