Skip to content

Commit ec462f0

Browse files
authored
RFC 9849 (#65)
1 parent 0ffe0b3 commit ec462f0

5 files changed

Lines changed: 7 additions & 10 deletions

File tree

client_hello.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ type clientHello struct {
2525
echExt *echExt
2626
}
2727

28-
// The ECH Extension as specified in Section 5 of
29-
// https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni/.
28+
// The ECH Extension as specified in Section 5 of RFC 9849.
3029
type echExt struct {
3130
Type uint8
3231
CipherSuite CipherSuite
@@ -330,7 +329,7 @@ func (c *clientHello) parseExtensions() error {
330329
c.hasECHOuterExtensions = true
331330

332331
case 0xfe0d:
333-
// https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni/
332+
// RFC 9849
334333
// 5. The "encrypted_client_hello" Extension
335334
//
336335
// enum {

config.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ func parseConfig(s *cryptobyte.String) (ConfigSpec, error) {
135135
}
136136

137137
// ConfigSpec represents an Encrypted Client Hello (ECH) Config. It is specified
138-
// in Section 4 of https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni/
138+
// in Section 4 RFC 9849.
139139
type ConfigSpec struct {
140140
Version uint16
141141
ID uint8

doc.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// Mode Topology (a.k.a. TLS Passthrough), along with secure client-side name
33
// resolution and network connections.
44
//
5-
// Split Mode Topology is defined in https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni/#section-3.1
5+
// Split Mode Topology is defined in https://datatracker.ietf.org/doc/html/rfc9849#section-3.1
66
//
77
// Client ----> Client-Facing Server ----> Backend Servers
88
// (public.example.com) (private1.example.com)

docs/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
This repo implements a library to support Encrypted Client Hello with a Split Mode Topology, along with secure client-side name resolution and network connections.
77

8-
Split Mode Topology is defined in https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni/#section-3.1
8+
Split Mode Topology is defined in [RFC 9849](https://datatracker.ietf.org/doc/html/rfc9849#section-3.1).
99

1010
```mermaid
1111
flowchart LR

ech.go

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,7 @@ func WithDebug(f func(format string, arg ...any)) Option {
3434
}
3535

3636
// NewConn returns a [Conn] that manages Encrypted Client Hello in TLS
37-
// connections, as defined in
38-
// https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni/ .
37+
// connections, as defined in RFC 9849.
3938
//
4039
// Encrypted Client Hello handshake messages are decrypted and replaced with the
4140
// ClientHelloInner transparently. If decryption fails, the HelloClientOuter is
@@ -93,8 +92,7 @@ func NewConn(ctx context.Context, conn net.Conn, options ...Option) (outConn *Co
9392
return outConn, nil
9493
}
9594

96-
// Conn manages Encrypted Client Hello in TLS connections, as defined in
97-
// https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni/ .
95+
// Conn manages Encrypted Client Hello in TLS connections, as defined in RFC 9849.
9896
type Conn struct {
9997
net.Conn // The underlying connection
10098

0 commit comments

Comments
 (0)