From ef7fa900fb587cbaac9f3e943f789155b97aa02b Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Fri, 26 Jul 2024 15:12:23 +0300 Subject: Add tests for errors during SSL or GSSAPI handshake These test that libpq correctly falls back to a plaintext connection on handshake error, in the "prefer" modes. Reviewed-by: Michael Paquier Discussion: https://www.postgresql.org/message-id/CAOYmi%2Bnwvu21mJ4DYKUa98HdfM_KZJi7B1MhyXtnsyOO-PB6Ww%40mail.gmail.com --- src/interfaces/libpq/t/005_negotiate_encryption.pl | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/interfaces') diff --git a/src/interfaces/libpq/t/005_negotiate_encryption.pl b/src/interfaces/libpq/t/005_negotiate_encryption.pl index 5fbab969008..157f23b8e83 100644 --- a/src/interfaces/libpq/t/005_negotiate_encryption.pl +++ b/src/interfaces/libpq/t/005_negotiate_encryption.pl @@ -339,6 +339,16 @@ nossluser . disable postgres connect, authok "user=testuser sslmode=prefer", 'connect, v2error -> fail'); $node->restart; + + $node->safe_psql( + 'postgres', + "SELECT injection_points_attach('backend-ssl-startup', 'error');", + connstr => "user=localuser host=$unixdir"); + connect_test( + $node, + "user=testuser sslmode=prefer", + 'connect, sslaccept, backenderror, reconnect, authok -> plain'); + $node->restart; } # Disable SSL again @@ -444,6 +454,16 @@ nogssuser disable disable postgres connect, authok "user=testuser gssencmode=prefer sslmode=disable", 'connect, v2error -> fail'); $node->restart; + + $node->safe_psql( + 'postgres', + "SELECT injection_points_attach('backend-gssapi-startup', 'error');", + connstr => "user=localuser host=$unixdir"); + connect_test( + $node, + "user=testuser gssencmode=prefer sslmode=disable", + 'connect, gssaccept, backenderror, reconnect, authok -> plain'); + $node->restart; } } -- cgit v1.2.3