-
Notifications
You must be signed in to change notification settings - Fork 562
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[TLS 1.3] Preparations for addition of TLS 1.3 #2946
Conversation
230caf7
to
71d9d63
Compare
Co-authored-by: René Meusel <rene.meusel@nexenio.com> Co-authored-by: Marek Kocik <extern.Marek.Kocik@elektrobit.com> Co-authored-by: Grzegorz Dulewicz <extern.Grzegorz.Dulewicz@elektrobit.com> Co-authored-by: Pawel Bazelewski <extern.pawel.bazelewski@elektrobit.com> Co-authored-by: Pawel Jarosz <extern.pawel.jarosz@elektrobit.com>
71d9d63
to
fd9d1c3
Compare
Thanks for the quick turnaround with the smaller PRs. This is now rebased to latest master and hence doesn't include the changes in |
Codecov Report
@@ Coverage Diff @@
## master #2946 +/- ##
==========================================
- Coverage 92.60% 92.58% -0.03%
==========================================
Files 573 577 +4
Lines 66485 66710 +225
Branches 6365 6375 +10
==========================================
+ Hits 61570 61762 +192
- Misses 4882 4915 +33
Partials 33 33
Continue to review full report at Codecov.
|
Thanks for splitting this out. This is the "easy" part for review (nothing really new, unlike the actual 1.3 logic) but is already a big patch. Working on the review now, may take a day or two. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK that went faster than I thought. Overall looks very good! Left some comments, and I do want to do a final pass review before merge, but we're almost there on this one.
For TLS 1.2 EMS is always enabled and TLS 1.3 won't need this extension anyway.
I acted on all your comments. Regarding coding style comments: Let's do style fixes on the final PR to avoid unnecessary rebase frustration. I'm very much in favour of Actually |
Sounds good.
I have also so far been unable to get anything that is close to the current codebase. I think when it happens I'll just do a reformat into some other style that is convenient to express using |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's go!
Great! I'll get going on the rebase of #2922. Probably that'll mean squashing its commit history, at least partially. |
Depends on: #2941, #2947, #2948 (requires rebase after merge)This includes refactorings and preparatory steps for the integration of TLS 1.3 into the code base. The intention is similar to the previous TLS 1.2 refactoring pull request by @pist-eb and colleagues.
The central preparation is to add a Pimpl-Layer behind the public interfaces of
TLS::Client
andTLS::Server
. Furthermore, central TLS handshake messages (such asClient Hello
andServer Hello
) are renamed intoClient_Hello_12
with aClient_Hello
base class. Generally, such base classes encapsulate common behaviour (usually mostly wire format marshalling) while_12
provides protocol version specific functionality. The addition of TLS 1.3 will fill in the gaps withClient_Hello_13
and friends.This PR was created by squashing the changes in the pending TLS 1.3 PR and then removing (most) of the TLS 1.3 specific code. Hence, some interfaces or functionality might be unused or dangling right now. I tried to keep API and functionality adaptions to an absolute minimum to ease grafting the TLS 1.3 changes onto this PR later.