Well, the discussion about SSL a bit back perked my interest and I did some reading on the subject.
Well, the discussion about SSL a bit back perked my interest and I did
some reading on the subject.

1) PostgreSQL uses ephemeral keying, for its connections (good thing)

2) PostgreSQL doesn't set the cipher list that it allows (bad thing,
   fixed)

3) PostgreSQL's renegotiation code wasn't text book correct (could be
   bad, fixed)

4) The rate of renegotiating was insanely low (as Tom pointed out, set
   to a more reasonable level)

I haven't checked around much to see if there are any other SSL bits
that need some review, but I'm doing some OpenSSL work right now
and'll send patches for improvements along the way (if I find them).
At the very least, the changes in this patch will make security folks
happier for sure.  The constant renegotiation of sessions was likely a
boon to systems that had bad entropy gathering means (read: Slowaris
/dev/rand|/dev/urand != ANDIrand).  The new limit for renegotiations
is 512MB which should be much more reasonable.

Sean Chittenden

zeroae/postgres-xl,edespino/gpdb,yuanzhao/gpdb,50wu/gpdb,tpostgres-projects/tPostgres,pavanvd/postgres-xl,xinzweb/gpdb,edespino/gpdb,zaksoup/gpdb,zeroae/postgres-xl,randomtask1155/gpdb,pavanvd/postgres-xl,yuanzhao/gpdb,cjcjameson/gpdb,jmcatamney/gpdb,Quikling/gpdb,Quikling/gpdb,foyzur/gpdb,Chibin/gpdb,zaksoup/gpdb,royc1/gpdb,janebeckman/gpdb,Postgres-XL/Postgres-XL,xuegang/gpdb,edespino/gpdb,Quikling/gpdb,lisakowen/gpdb,xuegang/gpdb,cjcjameson/gpdb,atris/gpdb,techdragon/Postgres-XL,yazun/postgres-xl,greenplum-db/gpdb,cjcjameson/gpdb,randomtask1155/gpdb,jmcatamney/gpdb,kaknikhil/gpdb,Postgres-XL/Postgres-XL,yazun/postgres-xl,50wu/gpdb,ahachete/gpdb,Chibin/gpdb,yuanzhao/gpdb,tpostgres-projects/tPostgres,kaknikhil/gpdb,CraigHarris/gpdb,xinzweb/gpdb,xinzweb/gpdb,kaknikhil/gpdb,xinzweb/gpdb,yuanzhao/gpdb,yuanzhao/gpdb,rubikloud/gpdb,arcivanov/postgres-xl,0x0FFF/gpdb,adam8157/gpdb,yazun/postgres-xl,postmind-net/postgres-xl,janebeckman/gpdb,atris/gpdb,atris/gpdb,rvs/gpdb,janebeckman/gpdb,atris/gpdb,lpetrov-pivotal/gpdb,ashwinstar/gpdb,rubikloud/gpdb,foyzur/gpdb,yuanzhao/gpdb,ovr/postgres-xl,rubikloud/gpdb,ashwinstar/gpdb,zeroae/postgres-xl,yuanzhao/gpdb,lintzc/gpdb,edespino/gpdb,chrishajas/gpdb,Chibin/gpdb,postmind-net/postgres-xl,ashwinstar/gpdb,greenplum-db/gpdb,50wu/gpdb,royc1/gpdb,Chibin/gpdb,greenplum-db/gpdb,snaga/postgres-xl,janebeckman/gpdb,jmcatamney/gpdb,oberstet/postgres-xl,xuegang/gpdb,rvs/gpdb,royc1/gpdb,yuanzhao/gpdb,ashwinstar/gpdb,snaga/postgres-xl,kmjungersen/PostgresXL,Chibin/gpdb,Quikling/gpdb,zaksoup/gpdb,lpetrov-pivotal/gpdb,chrishajas/gpdb,chrishajas/gpdb,arcivanov/postgres-xl,lintzc/gpdb,oberstet/postgres-xl,adam8157/gpdb,xuegang/gpdb,ashwinstar/gpdb,Chibin/gpdb,kmjungersen/PostgresXL,xinzweb/gpdb,Chibin/gpdb,randomtask1155/gpdb,lpetrov-pivotal/gpdb,adam8157/gpdb,techdragon/Postgres-XL,ahachete/gpdb,ahachete/gpdb,rubikloud/gpdb,foyzur/gpdb,50wu/gpdb,tangp3/gpdb,postmind-net/postgres-xl,lpetrov-pivotal/gpdb,ahachete/gpdb,randomtask1155/gpdb,greenplum-db/gpdb,adam8157/gpdb,zaksoup/gpdb,ashwinstar/gpdb,CraigHarris/gpdb,Postgres-XL/Postgres-XL,snaga/postgres-xl,kmjungersen/PostgresXL,Quikling/gpdb,pavanvd/postgres-xl,royc1/gpdb,tangp3/gpdb,lintzc/gpdb,chrishajas/gpdb,tpostgres-projects/tPostgres,rvs/gpdb,janebeckman/gpdb,greenplum-db/gpdb,rvs/gpdb,tangp3/gpdb,zaksoup/gpdb,ahachete/gpdb,royc1/gpdb,CraigHarris/gpdb,zaksoup/gpdb,CraigHarris/gpdb,jmcatamney/gpdb,xuegang/gpdb,tangp3/gpdb,foyzur/gpdb,cjcjameson/gpdb,lisakowen/gpdb,yuanzhao/gpdb,randomtask1155/gpdb,0x0FFF/gpdb,techdragon/Postgres-XL,rubikloud/gpdb,randomtask1155/gpdb,edespino/gpdb,adam8157/gpdb,0x0FFF/gpdb,Chibin/gpdb,oberstet/postgres-xl,Postgres-XL/Postgres-XL,arcivanov/postgres-xl,lintzc/gpdb,CraigHarris/gpdb,edespino/gpdb,postmind-net/postgres-xl,0x0FFF/gpdb,ahachete/gpdb,xinzweb/gpdb,rubikloud/gpdb,randomtask1155/gpdb,Quikling/gpdb,foyzur/gpdb,CraigHarris/gpdb,xuegang/gpdb,rvs/gpdb,royc1/gpdb,0x0FFF/gpdb,foyzur/gpdb,zaksoup/gpdb,Chibin/gpdb,kmjungersen/PostgresXL,kaknikhil/gpdb,kaknikhil/gpdb,tpostgres-projects/tPostgres,edespino/gpdb,0x0FFF/gpdb,lintzc/gpdb,randomtask1155/gpdb,jmcatamney/gpdb,royc1/gpdb,lisakowen/gpdb,Quikling/gpdb,kaknikhil/gpdb,yuanzhao/gpdb,kaknikhil/gpdb,50wu/gpdb,rvs/gpdb,rubikloud/gpdb,kaknikhil/gpdb,rvs/gpdb,xinzweb/gpdb,0x0FFF/gpdb,rvs/gpdb,edespino/gpdb,edespino/gpdb,chrishajas/gpdb,janebeckman/gpdb,lintzc/gpdb,50wu/gpdb,atris/gpdb,janebeckman/gpdb,janebeckman/gpdb,zeroae/postgres-xl,Quikling/gpdb,snaga/postgres-xl,techdragon/Postgres-XL,atris/gpdb,kaknikhil/gpdb,rubikloud/gpdb,janebeckman/gpdb,tpostgres-projects/tPostgres,Quikling/gpdb,techdragon/Postgres-XL,atris/gpdb,lintzc/gpdb,tangp3/gpdb,ahachete/gpdb,tangp3/gpdb,CraigHarris/gpdb,jmcatamney/gpdb,janebeckman/gpdb,ovr/postgres-xl,rvs/gpdb,50wu/gpdb,royc1/gpdb,arcivanov/postgres-xl,greenplum-db/gpdb,adam8157/gpdb,lisakowen/gpdb,lisakowen/gpdb,kmjungersen/PostgresXL,ashwinstar/gpdb,lpetrov-pivotal/gpdb,greenplum-db/gpdb,chrishajas/gpdb,chrishajas/gpdb,lisakowen/gpdb,lpetrov-pivotal/gpdb,tangp3/gpdb,yazun/postgres-xl,oberstet/postgres-xl,arcivanov/postgres-xl,ovr/postgres-xl,jmcatamney/gpdb,foyzur/gpdb,xuegang/gpdb,xinzweb/gpdb,Quikling/gpdb,lintzc/gpdb,snaga/postgres-xl,lintzc/gpdb,zeroae/postgres-xl,adam8157/gpdb,ahachete/gpdb,foyzur/gpdb,CraigHarris/gpdb,cjcjameson/gpdb,xuegang/gpdb,lpetrov-pivotal/gpdb,edespino/gpdb,cjcjameson/gpdb,50wu/gpdb,postmind-net/postgres-xl,lpetrov-pivotal/gpdb,greenplum-db/gpdb,cjcjameson/gpdb,rvs/gpdb,cjcjameson/gpdb,arcivanov/postgres-xl,cjcjameson/gpdb,ovr/postgres-xl,pavanvd/postgres-xl,ovr/postgres-xl,tangp3/gpdb,cjcjameson/gpdb,atris/gpdb,Postgres-XL/Postgres-XL,jmcatamney/gpdb,oberstet/postgres-xl,zaksoup/gpdb,chrishajas/gpdb,yazun/postgres-xl,xuegang/gpdb,CraigHarris/gpdb,kaknikhil/gpdb,Chibin/gpdb,adam8157/gpdb,pavanvd/postgres-xl,0x0FFF/gpdb,lisakowen/gpdb,ashwinstar/gpdb,lisakowen/gpdb