Skip to content

RFC 8701 implementation#14560

Closed
ericcurtin wants to merge 7 commits into
openssl:masterfrom
ericcurtin:rfc_8701
Closed

RFC 8701 implementation#14560
ericcurtin wants to merge 7 commits into
openssl:masterfrom
ericcurtin:rfc_8701

Conversation

@ericcurtin

Copy link
Copy Markdown
Contributor

No description provided.

@richsalz

Copy link
Copy Markdown
Contributor

there's some style nits that others will point out, but this is great!

Comment thread include/openssl/ssl.h.in Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 :)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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. :-)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread include/openssl/ssl.h.in Outdated
Comment thread include/openssl/ssl.h.in Outdated
Comment thread ssl/ssl_lib.c Outdated
Comment thread ssl/ssl_lib.c Outdated
Comment thread ssl/ssl_lib.c Outdated
Comment thread ssl/ssl_lib.c Outdated
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.
@ericcurtin

Copy link
Copy Markdown
Contributor Author

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?

@paulidale paulidale added approval: done This pull request has the required number of approvals approval: review pending This pull request needs review by a committer branch: master Applies to master branch labels Mar 22, 2021
Comment thread ssl/statem/statem_srvr.c
goto err;
}

/* s->session->ext is CBB extensions in bssl */

@davidben davidben Mar 22, 2021

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks David I'll look into this in more detail!

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

paulidale
paulidale previously approved these changes Mar 23, 2021
@paulidale
paulidale dismissed their stale review March 23, 2021 02:34

CIs look relevant

@openssl-machine

Copy link
Copy Markdown
Collaborator

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.

@t8m t8m added waiting-for: contributor response This pull request is awaiting a response by the contributor and removed approval: done This pull request has the required number of approvals approval: review pending This pull request needs review by a committer labels Mar 24, 2021
@ericcurtin

Copy link
Copy Markdown
Contributor Author

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...

@openssl-machine

Copy link
Copy Markdown
Collaborator

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).

@openssl-machine

Copy link
Copy Markdown
Collaborator

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).

@openssl-machine

Copy link
Copy Markdown
Collaborator

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).

@openssl-machine

Copy link
Copy Markdown
Collaborator

This PR has been closed. It was waiting for the creator to make requested changes but it has not been updated for 120 days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

branch: master Applies to master branch waiting-for: contributor response This pull request is awaiting a response by the contributor

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants