diff options
| author | Michael Paquier | 2023-07-03 04:20:27 +0000 |
|---|---|---|
| committer | Michael Paquier | 2023-07-03 04:20:27 +0000 |
| commit | 8e278b65766446f29085fe686723961c4b216e6f (patch) | |
| tree | fb463f3b18f1cf183c50954c04ab60b91f880290 /src/interfaces | |
| parent | 2aeaf80e578ed48af88d54caf2ffcf7ca62617e8 (diff) | |
Remove support for OpenSSL 1.0.1
Here are some notes about this change:
- As X509_get_signature_nid() should always exist (OpenSSL and
LibreSSL), hence HAVE_X509_GET_SIGNATURE_NID is now gone.
- OPENSSL_API_COMPAT is bumped to 0x10002000L.
- One comment related to 1.0.1e introduced by 74242c2 is removed.
Upstream OpenSSL still provides long-term support for 1.0.2 in a closed
fashion, so removing it is out of scope for a few years, at least.
Reviewed-by: Jacob Champion, Daniel Gustafsson
Discussion: https://postgr.es/m/ZG3JNursG69dz1lr@paquier.xyz
Diffstat (limited to 'src/interfaces')
| -rw-r--r-- | src/interfaces/libpq/fe-auth-scram.c | 8 | ||||
| -rw-r--r-- | src/interfaces/libpq/fe-auth.c | 2 | ||||
| -rw-r--r-- | src/interfaces/libpq/fe-secure-openssl.c | 4 | ||||
| -rw-r--r-- | src/interfaces/libpq/libpq-int.h | 6 |
4 files changed, 5 insertions, 15 deletions
diff --git a/src/interfaces/libpq/fe-auth-scram.c b/src/interfaces/libpq/fe-auth-scram.c index 6b779ec7ffd..61e6cd84d28 100644 --- a/src/interfaces/libpq/fe-auth-scram.c +++ b/src/interfaces/libpq/fe-auth-scram.c @@ -401,7 +401,7 @@ build_client_first_message(fe_scram_state *state) Assert(conn->ssl_in_use); appendPQExpBufferStr(&buf, "p=tls-server-end-point"); } -#ifdef HAVE_PGTLS_GET_PEER_CERTIFICATE_HASH +#ifdef USE_SSL else if (conn->channel_binding[0] != 'd' && /* disable */ conn->ssl_in_use) { @@ -474,7 +474,7 @@ build_client_final_message(fe_scram_state *state) */ if (strcmp(state->sasl_mechanism, SCRAM_SHA_256_PLUS_NAME) == 0) { -#ifdef HAVE_PGTLS_GET_PEER_CERTIFICATE_HASH +#ifdef USE_SSL char *cbind_data = NULL; size_t cbind_data_len = 0; size_t cbind_header_len; @@ -540,9 +540,9 @@ build_client_final_message(fe_scram_state *state) appendPQExpBufferStr(&conn->errorMessage, "channel binding not supported by this build\n"); return NULL; -#endif /* HAVE_PGTLS_GET_PEER_CERTIFICATE_HASH */ +#endif /* USE_SSL */ } -#ifdef HAVE_PGTLS_GET_PEER_CERTIFICATE_HASH +#ifdef USE_SSL else if (conn->channel_binding[0] != 'd' && /* disable */ conn->ssl_in_use) appendPQExpBufferStr(&buf, "c=eSws"); /* base64 of "y,," */ diff --git a/src/interfaces/libpq/fe-auth.c b/src/interfaces/libpq/fe-auth.c index 88fd0f3d802..f8e09d3b415 100644 --- a/src/interfaces/libpq/fe-auth.c +++ b/src/interfaces/libpq/fe-auth.c @@ -478,7 +478,7 @@ pg_SASL_init(PGconn *conn, int payloadlen) { /* The server has offered SCRAM-SHA-256-PLUS. */ -#ifdef HAVE_PGTLS_GET_PEER_CERTIFICATE_HASH +#ifdef USE_SSL /* * The client supports channel binding, which is chosen if * channel_binding is not disabled. diff --git a/src/interfaces/libpq/fe-secure-openssl.c b/src/interfaces/libpq/fe-secure-openssl.c index 390c888c962..bea71660ab8 100644 --- a/src/interfaces/libpq/fe-secure-openssl.c +++ b/src/interfaces/libpq/fe-secure-openssl.c @@ -364,7 +364,6 @@ pgtls_write(PGconn *conn, const void *ptr, size_t len) return n; } -#if defined(HAVE_X509_GET_SIGNATURE_NID) || defined(HAVE_X509_GET_SIGNATURE_INFO) char * pgtls_get_peer_certificate_hash(PGconn *conn, size_t *len) { @@ -439,7 +438,6 @@ pgtls_get_peer_certificate_hash(PGconn *conn, size_t *len) return cert_hash; } -#endif /* HAVE_X509_GET_SIGNATURE_NID */ /* ------------------------------------------------------------ */ /* OpenSSL specific code */ @@ -1826,8 +1824,6 @@ PQsslAttribute(PGconn *conn, const char *attribute_name) * * These functions are closely modelled on the standard socket BIO in OpenSSL; * see sock_read() and sock_write() in OpenSSL's crypto/bio/bss_sock.c. - * XXX OpenSSL 1.0.1e considers many more errcodes than just EINTR as reasons - * to retry; do we need to adopt their logic for that? */ #ifndef HAVE_BIO_GET_DATA diff --git a/src/interfaces/libpq/libpq-int.h b/src/interfaces/libpq/libpq-int.h index 0045f83cbfd..b70d4aee6a1 100644 --- a/src/interfaces/libpq/libpq-int.h +++ b/src/interfaces/libpq/libpq-int.h @@ -833,14 +833,8 @@ extern ssize_t pgtls_write(PGconn *conn, const void *ptr, size_t len); * * NULL is sent back to the caller in the event of an error, with an * error message for the caller to consume. - * - * This is not supported with old versions of OpenSSL that don't have - * the X509_get_signature_nid() function. */ -#if defined(USE_OPENSSL) && (defined(HAVE_X509_GET_SIGNATURE_NID) || defined(HAVE_X509_GET_SIGNATURE_INFO)) -#define HAVE_PGTLS_GET_PEER_CERTIFICATE_HASH extern char *pgtls_get_peer_certificate_hash(PGconn *conn, size_t *len); -#endif /* * Verify that the server certificate matches the host name we connected to. |
