You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit e83857a
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: docs/native-tls-build.md
+29-4Lines changed: 29 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,8 +27,9 @@ cross builds must run the smoke on the target in CI.
27
27
`<httpserver/features.hpp>` exposes the same compiled `query_features()` declaration
28
28
in both builds, without backend headers or configuration macros. Availability of
29
29
the provider is distinct from availability of TCP TLS, HTTP/2, and HTTP/3. TCP TLS is available in TLS-on builds for certificate, initial mTLS and eligible
30
-
external-PSK HTTP/1.0 and HTTP/1.1 in both managed and external modes. HTTP/2 and HTTP/3 remain
31
-
unavailable until their owning tasks implement public listeners. `listen()`
30
+
external-PSK HTTP/1.0 and HTTP/1.1 in both managed and external modes. Certificate
31
+
and initial mTLS profiles also serve enabled HTTP/2 through TLS ALPN `h2`.
32
+
HTTP/3 public listeners remain unavailable. `listen()`
32
33
rejects unsupported protocol/profile requests before binding;
33
34
`server_options::validate()` remains semantic.
34
35
@@ -139,8 +140,10 @@ through retiring I/O completions. No global credential store exists.
139
140
Host names use exact canonical DNS matching, with case folding and a final dot
140
141
removed. Unknown or absent SNI selects `default_host` (zero by default). Each
141
142
listener has its own explicit store; sharing is intentional only when the same
142
-
store is assigned. ALPN may contain `http/1.1` or be empty for ordinary HTTP/1
143
-
fallback. A listener with HTTP/1.1 disabled must initially use empty ALPN. Later
143
+
store is assigned. Certificate and initial mTLS ALPN may contain `h2`,
144
+
`http/1.1`, or both; empty ALPN selects ordinary HTTP/1 fallback. An advertised
145
+
protocol must be enabled in every listener bound to the credential store. PSK
146
+
profiles retain HTTP/1-only ALPN and reject `h2`. Later
144
147
publication cannot negotiate a disabled ALPN; wire requests for a disabled H1
145
148
version are rejected before routing. `exchange::tls()` and request hook contexts
0 commit comments