25 Commits

Author SHA1 Message Date
Sadie Powell
6646c9fbea Use CXX11_OVERRIDE instead of the override keyword. 2021-09-22 20:49:32 +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
Josh Soref
de6d4dbd1e
Fix various spelling issues (#1883).
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
2021-06-21 21:47:06 +01:00
InspIRCd Robot
e94b673532 Update copyright headers. 2021-05-14 14:48:39 +01:00
Sadie Powell
b4a174ee9c Fix a bunch of weird indentation and spacing issues. 2021-04-27 16:41:14 +01:00
Sadie Powell
6c2b6fa23d Add a subclass of IOHookProvider for SSL modules. 2021-03-09 01:00:16 +00:00
Matt Schatz
30648e84ce Fix secure websocket users not being seen as secure.
Since a TLS (SSL) module will always be the last IOHook attached
to a socket, IsSSL() needs to ignore any Middle IOHooks that may
also be attached.
2020-07-27 09:38:11 +01:00
InspIRCd Robot
44489ddf7e Update copyright headers. 2020-04-24 10:23:47 +01:00
InspIRCd Robot
4f9abe96a4 Fixes by misspell-fixer 2020-04-21 00:52:12 -06:00
Matt Schatz
ccebfe6e63
Update user-facing text and comments of SSL to TLS. 2020-04-14 06:08:31 -06:00
InspIRCd Robot
aa692dc103 Update copyright headers. 2020-01-11 22:14:43 +00:00
Peter Powell
319218db85 Allow SSLIOHook instances to override Get{Certificate,Fingerprint}. 2019-05-13 14:28:25 +01:00
B00mX0r
e844a2cef9 Fix a minor typo in ssl.h 2019-02-01 09:43:32 +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
ae0ae8ea61 Allow HAProxy to specify that a client is connecting with SSL. 2018-10-25 13:50:43 +01:00
Dylan Frank
3fb20b61b6 Ignore expired or invalid client certificates (#1468).
Fixes #1345.
2018-03-29 19:11:55 +01:00
Peter Powell
b047c903da Add support to IOHook for retrieving the hostname sent via SNI. 2017-10-29 11:15:47 +00:00
Attila Molnar
f91da925b5 Export the GetCiphersuite() method from the SSL modules 2016-04-28 17:06:16 +02:00
Attila Molnar
b96329dc3b Add SSLIOHook::IsSSL() to determine whether a socket is using SSL or not
Use it in a few places
2016-04-28 17:04:33 +02:00
Attila Molnar
d0556a2a59 Call OnStreamSocketWrite() once per write event
Do sendq flattening in SSL modules, move code for it into class SSLIOHook from core
2015-06-06 14:42:59 +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
ad523652ae Change the API of m_sslinfo to be dynamic_reference-based 2013-06-07 01:00:10 +02: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
Peter Powell
11cafc12d5 Tidy up source files:
- Use #pragma once instead of include guards.
- Move header files in src/modules to include/modules.
- Fixed various spacing issues.
2013-04-12 17:03:05 +01:00