Skip to content

Commit 1c2b7c0

Browse files
committed
Restore the SSL_set_session_id_context() call to OpenSSL renegotiation.
This reverts the removal of the call in commit (272923a). It turns out it wasn't superfluous after all: without it, renegotiation fails if a client certificate was used. The rest of the changes in that commit are still OK and not reverted. Per investigation of bug #12769 by Arne Scheffer, although this doesn't fix the reported bug yet.
1 parent 9e3ad1a commit 1c2b7c0

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

src/backend/libpq/be-secure-openssl.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -595,6 +595,10 @@ be_tls_write(Port *port, void *ptr, size_t len, int *waitfor)
595595
*/
596596
SSL_clear_num_renegotiations(port->ssl);
597597

598+
/* without this, renegotiation fails when a client cert is used */
599+
SSL_set_session_id_context(port->ssl, (void *) &SSL_context,
600+
sizeof(SSL_context));
601+
598602
if (SSL_renegotiate(port->ssl) <= 0)
599603
ereport(COMMERROR,
600604
(errcode(ERRCODE_PROTOCOL_VIOLATION),

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy