]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Disable ssl renegotiation by default.
authorAndres Freund <andres@anarazel.de>
Tue, 28 Jul 2015 19:39:40 +0000 (21:39 +0200)
committerAndres Freund <andres@anarazel.de>
Tue, 28 Jul 2015 20:06:31 +0000 (22:06 +0200)
commit2f91e7bb5643b3a828ee62dee51893a48fe1d080
treed0f2d88f727b01f89ab24e702d1275a565d5717d
parentd6a8a29ac2bca06d4466e449f13d0cc52220714b
Disable ssl renegotiation by default.

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: Michael Paquier, with changes by me
Discussion: 20150624144148.GQ4797@alap3.anarazel.de
Backpatch: 9.0-9.4; 9.5 and master get a different patch
doc/src/sgml/config.sgml
src/backend/utils/misc/guc.c
src/backend/utils/misc/postgresql.conf.sample