Skip to content
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

[WIP] Define all extension data types #109

Draft
wants to merge 48 commits into
base: main
Choose a base branch
from

Conversation

bugadani
Copy link
Collaborator

@bugadani bugadani commented Apr 21, 2023

This PR unifies extension data, i.e. it defines a parse and an encode fn for each of them, as well as adds an associated constant. Later, this PR will define all extensions described in the TLS 1.3 and companion RFCs.

This PR will one day be useful for implementing a TLS server.

This PR will allow users to use the Max Fragment Length extension.

@bugadani bugadani force-pushed the exts branch 2 times, most recently from ee8f8a7 to 91d378e Compare April 23, 2023 08:21
@bugadani
Copy link
Collaborator Author

bugadani commented Apr 23, 2023

I'll leave the rustfmt commit here to prevent accidentally merging before this PR, because I expect that to be a rebase nightmare. Styling options completely up for debate, though, I just want the rustfmt file to overwrite my defaults with something consistent :)

Oh and of course, this PR will need to be split up... somehow...

@bugadani bugadani force-pushed the exts branch 2 times, most recently from 7634155 to b5f0e27 Compare April 23, 2023 09:42
@bugadani
Copy link
Collaborator Author

To be fair, most of the data types aren't actually used currently. We might want to introduce a "placeholder" for the extensions we don't want, that just consumes and ignores the extension data till then, but I wanted to be exhaustive here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant