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
fix: continue when the Mbed TLS stream cannot install the client credential
Reverses the half of #785 that failed Open when mbedtls_ssl_conf_own_cert
returned an error. That drew the line between a configuration mistake and a
resource fault; the contract draws it between our own credential and the peer's
identity, so both now report and continue.
The same fault is indistinguishable on the OpenSSL side - a failed PEM load and a
failed allocation surface as one return code - so leaving this one blocking would
have left the two adapters differing on an event neither can tell apart.
Continuing is safe: ssl_append_key_cert returns MBEDTLS_ERR_SSL_ALLOC_FAILED
before the key_cert node is appended (library/ssl_tls.c, 3.6.2), so nothing is
installed and the connection continues server-authenticated, exactly as the
OpenSSL adapter's does. ApplyTlsPolicy returns void again and leaves Open's
chain.
The severity moves with it, to the WARNING and CAT_BAD_CONFIG that
docs/error-severity.md gives a component that was built and is delivering.
Rating a resource fault BAD_CONFIG is the one cost of collapsing the two paths,
and the detail code still separates them for a handler that wants to retry one
and not the other.
docs/tls.md states the rule both adapters now share, and its client-credential
obligation covers the third failure mode rather than two. The divergence note
comes off the OpenSSL platform page, and its setup page no longer says a
half-supplied credential is rejected at Open.
Part of #782.
0 commit comments