go/doc/next/6-stdlib/99-minor
Roland Shoemaker f69711434a crypto/tls: add server-side ECH
Adds support for server-side ECH.

We make a couple of implementation decisions that are not completely
in-line with the spec. In particular, we don't enforce that the SNI
matches the ECHConfig public_name, and we implement a hybrid
shared/backend mode (rather than shared or split mode, as described in
Section 7). Both of these match the behavior of BoringSSL.

The hybrid server mode will either act as a shared mode server, where-in
the server accepts "outer" client hellos and unwraps them before
processing the "inner" hello, or accepts bare "inner" hellos initially.
This lets the server operate either transparently as a shared mode
server, or a backend server, in Section 7 terminology. This seems like
the best implementation choice for a TLS library.

Fixes #68500

Change-Id: Ife69db7c1886610742e95e76b0ca92587e6d7ed4
Reviewed-on: https://go-review.googlesource.com/c/go/+/623576
Reviewed-by: Filippo Valsorda <filippo@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Daniel McCarney <daniel@binaryparadox.net>
Auto-Submit: Roland Shoemaker <roland@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-11-21 22:50:04 +00:00
..
archive archive/{zip,tar}: fix Writer.AddFS to include empty directories 2024-09-23 14:32:33 +00:00
bytes bytes, strings: add Lines, SplitSeq, SplitAfterSeq, FieldsSeq, FieldsFuncSeq 2024-08-14 18:23:13 +00:00
crypto crypto/tls: add server-side ECH 2024-11-21 22:50:04 +00:00
debug/elf debug/elf: add SHT_GNU_VERDEF section parsing 2024-11-07 15:23:24 +00:00
encoding encoding/json: add omitzero option 2024-10-02 14:22:27 +00:00
go/types go/types: add go1.23 iterator methods for 10 exported types 2024-07-31 22:54:09 +00:00
hash hash/maphash: add WriteComparable and Comparable 2024-10-02 15:54:11 +00:00
log/slog log/slog: add DiscardHandler 2024-11-14 22:27:09 +00:00
math crypto/x509,math/rand/v2: implement the encoding.(Binary|Text)Appender 2024-08-21 19:19:57 +00:00
net net/http: add Protocols field to Server and Transport 2024-11-05 22:14:59 +00:00
os os: add Root 2024-11-20 23:20:45 +00:00
regexp math/big,regexp: implement the encoding.TextAppender interface 2024-08-15 23:43:00 +00:00
runtime runtime: implement AddCleanup 2024-11-16 03:26:04 +00:00
strings bytes, strings: add Lines, SplitSeq, SplitAfterSeq, FieldsSeq, FieldsFuncSeq 2024-08-14 18:23:13 +00:00
testing testing: implement testing.B.Loop 2024-09-20 19:09:41 +00:00
text/template text/template: support range-over-int 2024-09-26 20:17:24 +00:00
time time: implement the encoding.(Binary|Text)Appender for Time 2024-08-20 16:48:48 +00:00
weak weak: move internal/weak to weak, and update according to proposal 2024-11-18 22:29:23 +00:00
0-heading.md doc: initialize next directory for Go 1.24 2024-07-22 17:55:04 +00:00
README doc: initialize next directory for Go 1.24 2024-07-22 17:55:04 +00:00

README

API changes and other small changes to the standard library go here.