From c93bf8c6ccf7ef1cec6b01fec1888f84831295ee Mon Sep 17 00:00:00 2001
From: Magnus Hagander <magnus@hagander.net>
Date: Tue, 15 Jul 2014 15:07:38 +0200
Subject: [PATCH] Include SSL compression status in psql banner and connection
 logging

Both the psql banner and the connection logging already included
SSL status, cipher and bitlength, this adds the information about
compression being on or off.
---
 src/backend/utils/init/postinit.c | 10 ++++++----
 src/bin/psql/command.c            |  5 +++--
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/backend/utils/init/postinit.c b/src/backend/utils/init/postinit.c
index ed936d7fad..28243ad58f 100644
--- a/src/backend/utils/init/postinit.c
+++ b/src/backend/utils/init/postinit.c
@@ -234,8 +234,9 @@ PerformAuthentication(Port *port)
 #ifdef USE_SSL
 			if (port->ssl)
 				ereport(LOG,
-						(errmsg("replication connection authorized: user=%s SSL enabled (protocol=%s, cipher=%s)",
-								port->user_name, SSL_get_version(port->ssl), SSL_get_cipher(port->ssl))));
+						(errmsg("replication connection authorized: user=%s SSL enabled (protocol=%s, cipher=%s, compression=%s)",
+								port->user_name, SSL_get_version(port->ssl), SSL_get_cipher(port->ssl),
+								SSL_get_current_compression(port->ssl) ? _("on") : _("off"))));
 			else
 #endif
 				ereport(LOG,
@@ -247,8 +248,9 @@ PerformAuthentication(Port *port)
 #ifdef USE_SSL
 			if (port->ssl)
 				ereport(LOG,
-						(errmsg("connection authorized: user=%s database=%s SSL enabled (protocol=%s, cipher=%s)",
-								port->user_name, port->database_name, SSL_get_version(port->ssl), SSL_get_cipher(port->ssl))));
+						(errmsg("connection authorized: user=%s database=%s SSL enabled (protocol=%s, cipher=%s, compression=%s)",
+								port->user_name, port->database_name, SSL_get_version(port->ssl), SSL_get_cipher(port->ssl),
+								SSL_get_current_compression(port->ssl) ? _("on") : _("off"))));
 			else
 #endif
 				ereport(LOG,
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index cede72a5d6..161de75b0a 100644
--- a/src/bin/psql/command.c
+++ b/src/bin/psql/command.c
@@ -1800,8 +1800,9 @@ printSSLInfo(void)
 		return;					/* no SSL */
 
 	SSL_get_cipher_bits(ssl, &sslbits);
-	printf(_("SSL connection (protocol: %s, cipher: %s, bits: %d)\n"),
-		   SSL_get_version(ssl), SSL_get_cipher(ssl), sslbits);
+	printf(_("SSL connection (protocol: %s, cipher: %s, bits: %d, compression: %s)\n"),
+		   SSL_get_version(ssl), SSL_get_cipher(ssl), sslbits,
+		   SSL_get_current_compression(ssl) ? _("on") : _("off"));
 #else
 
 	/*
-- 
2.49.0