-
Notifications
You must be signed in to change notification settings - Fork 237
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
feat: Implement ALPS extension #142
feat: Implement ALPS extension #142
Conversation
- Split most of changes for `CompressCertExtension` made to `crypto/tls` files out and moved them to `u_` files. - Edited some `crypto/tls` files to achieve better programmability for uTLS. - Minor styling fix.
- Made necessary modifications to existing types to support ALPS. - Ported `ApplicationSettingsExtension` implementation from `ulixee/utls` by @blakebyrnes with some adaptation. Co-Authored-By: Blake Byrnes <[email protected]>
- Introducing `utlsFakeCustomExtension` to enable implementation for custom extensions to be exchanged via ALPS. - currently it doesn't do anything. Co-Authored-By: Blake Byrnes <[email protected]>
- Fixed magic number `17` in `StatusRequestV2Extension` with pre-defined enum `extensionStatusRequestV2`.
@@ -47,3 +51,83 @@ func (m *compressedCertificateMsg) unmarshal(data []byte) bool { | |||
} | |||
return true | |||
} | |||
|
|||
type utlsEncryptedExtensionsMsgExtraFields struct { |
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.
Should we be exporting these fields? Is it something a using application might want to be able to view?
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.
I don't believe so. customExtension
is just a fake place holder that isn't in any published draft/standard, while applicationSettings
could be set in Config
for client and read from PeerApplicationSettings
in ConnectionState
.
Implemented support for
ApplicationSettingsExtension
-- now the handshake message could be recognized!PR based on #141. Fixes #124 and #140.
Credits: Major implementation work is done by @blakebyrnes in
ulixee/utls
.