RFC 8701 implementation#14560
Conversation
|
there's some style nits that others will point out, but this is great! |
There was a problem hiding this comment.
This and the enum probably should not be exported. Rather the idea (I wrote the original. :-) ) was that the library would internally call into these as needed as part of serializing the ClientHello, etc.
The whole business with grease_seed is just because there are cases (HelloVerifyRequest, HelloRetryRequest), where variations on a ClientHello are serialized multiple times, and they need to be consistent. (Originally we even just sampled client_random, but switched to a separate seed later since that seemed tidier.)
There was a problem hiding this comment.
Ok, thanks so much for keeping an eye on this! I watched one of your talks on youtube so I could gather what your thoughts were on some of this :)
There was a problem hiding this comment.
Well, the other half is that you probably need to actually call the function in the library to go send GREASE ciphers, etc. Otherwise there's just a floating unused function in here.
Haha, I can't watch that talk. It's too embarrassing to see myself speak. :-)
There was a problem hiding this comment.
Well, the other half is that you probably need to actually call the function in the library to go send GREASE ciphers
Yeah of course, I'm a fan of pushing code early. Nothing more disheartening that writing a load of code a certain way only for someone more knowledgeable to untangle it all :)
Expect to see frequent updates in this PR, I was on vacation the last day or so. St. Patrick's day and all that.
From include/openssl/ssl.h.in -> ssl/ssl_local.h
Declarations at start of scope
Some comments also trying to identify synonyms in bssl as I'm not overly familiar with either codebase and it's my first time looking at bssl.
Other style stuff
|
Rebased, because I think I saw in the other PR's that the current commit id has green CI builds. @davidben @paulidale is this looking ok? |
| goto err; | ||
| } | ||
|
|
||
| /* s->session->ext is CBB extensions in bssl */ |
There was a problem hiding this comment.
Er, it's not. CBB is BoringSSL's thing for assembling a message to serialize somewhere, while s->session->ext is some data stored in the SSL_SESSION. The point of GREASE is to actually send it over the wire. You also probably don't want to store it in the SSL_SESSION, which gets carried over across resumptions.
There was a problem hiding this comment.
Thanks David I'll look into this in more detail!
There was a problem hiding this comment.
The session thing you explain makes complete sense, it's something I wasn't confident on when I wrote this. Thanks for noticing my assumption in the comment.
|
24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set. Please review the updates and set the label manually. |
|
I noticed the stalled: awaiting contributor response, don't worry I'll get to this. 🙂 This is very much in my volunteer time in my personal hours. Although I'd like to get this into a TLS 1.3 usage of mine alright at the same time. Spinning a few plates... |
|
This PR is waiting for the creator to make requested changes but it has not been updated for 30 days. If you have made changes or commented to the reviewer please make sure you re-request a review (see icon in the 'reviewers' section). |
|
This PR is waiting for the creator to make requested changes but it has not been updated for 61 days. If you have made changes or commented to the reviewer please make sure you re-request a review (see icon in the 'reviewers' section). |
|
This PR is waiting for the creator to make requested changes but it has not been updated for 92 days. If you have made changes or commented to the reviewer please make sure you re-request a review (see icon in the 'reviewers' section). |
|
This PR has been closed. It was waiting for the creator to make requested changes but it has not been updated for 120 days. |
No description provided.