Re: Support for NSS as a libpq TLS backend
Jacob Champion <pchampion@vmware.com>
From: Jacob Champion <pchampion@vmware.com>
To: "daniel@yesql.se" <daniel@yesql.se>
Cc: "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>, "hlinnaka@iki.fi" <hlinnaka@iki.fi>, "andrew.dunstan@2ndquadrant.com" <andrew.dunstan@2ndquadrant.com>, "michael@paquier.xyz" <michael@paquier.xyz>, "thomas.munro@gmail.com" <thomas.munro@gmail.com>, "andres@anarazel.de" <andres@anarazel.de>, "sfrost@snowman.net" <sfrost@snowman.net>
Date: 2022-01-26T18:25:37Z
Lists: pgsql-hackers
Attachments
- nss-repro.tar.gz (application/x-compressed-tar)
On Tue, 2022-01-25 at 22:26 +0000, Jacob Champion wrote: > On Wed, 2022-01-19 at 10:01 +0100, Daniel Gustafsson wrote: > > > On 18 Jan 2022, at 17:37, Jacob Champion <pchampion@vmware.com> wrote: > > > > > > On Wed, 2021-12-15 at 23:10 +0100, Daniel Gustafsson wrote: > > > > I've attached a v50 which fixes the issues found by Joshua upthread, as well as > > > > rebases on top of all the recent SSL and pgcrypto changes. > > > > > > I'm currently tracking down a slot leak. When opening and closing large > > > numbers of NSS databases, at some point we appear to run out of slots > > > and then NSS starts misbehaving, even though we've closed all of our > > > context handles. > > > > Interesting, are you able to share a reproducer for this so I can assist in > > debugging it? > > (This was in my spam folder, sorry for the delay...) Let me see if I > can minimize my current reproduction case and get it ported out of > Python. Here's my attempt at a Bash port. It has races but reliably reproduces on my machine after 98 connections (there's a hardcoded slot limit of 100, so that makes sense when factoring in the internal NSS slots). --Jacob
Commits
-
Add tab-completion for CREATE FOREIGN TABLE.
- 74527c3e022d 15.0 cited
-
Add tap tests for the schema publications.
- 6b0f6f79eef2 15.0 cited
-
Move Perl test modules to a better namespace
- b3b4d8e68ae8 15.0 cited
-
Adjust configure to insist on Perl version >= 5.8.3.
- 92e6a98c3636 15.0 cited
-
Simplify code related to compilation of SSL and OpenSSL
- 092b785fad3d 14.0 landed
-
Introduce --with-ssl={openssl} as a configure option
- fe61df7f82aa 14.0 landed
-
Implement support for bulk inserts in postgres_fdw
- b663a4136331 14.0 cited
-
Fix redundant error messages in client tools
- 6be725e70161 14.0 cited
-
doc: Apply more consistently <productname> markup for OpenSSL
- 089da3c4778f 14.0 landed
-
Check ssl_in_use flag when reporting statistics
- 6a5c750f3f72 14.0 cited