40 Commits

Author SHA1 Message Date
Sadie Powell
b5d7c56428 Merge branch 'insp3' into master. 2021-09-23 00:24:36 +01:00
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
Sadie Powell
8e6d811f34 Remove a bunch of unnecessary whitespace. 2021-08-17 21:13:05 +01:00
Sadie Powell
d95d7fc4f5 Merge branch 'insp3' into master. 2021-07-01 12:33:51 +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
Sadie Powell
7a712456f1 Merge branch 'insp3' into master. 2021-05-14 16:54:33 +01:00
InspIRCd Robot
e94b673532 Update copyright headers. 2021-05-14 14:48:39 +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
1d9936943e Move ssl_cert::GetMetaLine into the sslinfo module. 2021-04-12 14:10:20 +01:00
Sadie Powell
e33114954c Constify the members of ssl_cert. 2021-04-12 14:09:55 +01:00
Sadie Powell
ee643ad2a5 Migrate IOHookProvider from reference<> to std::shared_ptr<>. 2021-04-09 01:03:30 +01:00
Sadie Powell
3c426be2a1 Refer to encryption as TLS instead of SSL in all messages. 2021-04-08 11:45:15 +01:00
Sadie Powell
ae997d0945 Merge branch 'insp3' into master. 2021-03-10 04:53:30 +00:00
Sadie Powell
6c2b6fa23d Add a subclass of IOHookProvider for SSL modules. 2021-03-09 01:00:16 +00:00
Sadie Powell
e059f82249 Merge branch 'insp3' into master. 2020-07-29 12:13:45 +01: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
Sadie Powell
b755d2a778 Merge branch 'insp3' into master. 2020-05-05 22:03:14 +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
Sadie Powell
bafb721640 Merge branch 'insp3' into master. 2020-04-14 19:57:10 +01:00
Matt Schatz
ccebfe6e63
Update user-facing text and comments of SSL to TLS. 2020-04-14 06:08:31 -06:00
Matt Schatz
8874c1c575 Update user-facing text and comments of SSL to TLS. 2020-04-14 06:08:31 -06: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
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