pgsql: Remove ssl renegotiation support.

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Remove ssl renegotiation support.
Date: 2015-07-28 20:07:26
Message-ID: E1ZKB9q-0004zo-12@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Remove ssl renegotiation support.

While postgres' use of SSL renegotiation is a good idea in theory, it
turned out to not work well in practice. The specification and openssl's
implementation of it have lead to several security issues. Postgres' use
of renegotiation also had its share of bugs.

Additionally OpenSSL has a bunch of bugs around renegotiation, reported
and open for years, that regularly lead to connections breaking with
obscure error messages. We tried increasingly complex workarounds to get
around these bugs, but we didn't find anything complete.

Since these connection breakages often lead to hard to debug problems,
e.g. spuriously failing base backups and significant latency spikes when
synchronous replication is used, we have decided to change the default
setting for ssl renegotiation to 0 (disabled) in the released
backbranches and remove it entirely in 9.5 and master.

Author: Andres Freund
Discussion: 20150624144148(dot)GQ4797(at)alap3(dot)anarazel(dot)de
Backpatch: 9.5 and master, 9.0-9.4 get a different patch

Branch
------
REL9_5_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/6087d952b31fce56642e1c63cfed243aeb4d09bd

Modified Files
--------------
doc/src/sgml/config.sgml | 29 ----------
src/backend/libpq/be-secure-openssl.c | 70 +------------------------
src/backend/libpq/be-secure.c | 7 ---
src/backend/utils/misc/guc.c | 11 ----
src/backend/utils/misc/postgresql.conf.sample | 1 -
src/include/libpq/libpq-be.h | 5 --
6 files changed, 2 insertions(+), 121 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andres Freund 2015-07-28 20:07:28 pgsql: Disable ssl renegotiation by default.
Previous Message Andres Freund 2015-07-28 20:07:23 pgsql: Remove ssl renegotiation support.