Re: Support for NSS as a libpq TLS backend

Поиск
Список
Период
Сортировка
Искать
От
Jacob Champion
Тема
Re: Support for NSS as a libpq TLS backend
Дата
Msg-id
51a7390523d3b2047ffd635e64dc5676f57dfbc7.camel@vmware.com
Ответ на
Список
Дерево обсуждения
Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Re: Support for NSS as a libpq TLS backend Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Re: Support for NSS as a libpq TLS backend Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Re: Support for NSS as a libpq TLS backend Michael Paquier <michael@paquier.xyz>
Re: Support for NSS as a libpq TLS backend Michael Paquier <michael@paquier.xyz>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Michael Paquier <michael@paquier.xyz>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Andres Freund <andres@anarazel.de>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Andres Freund <andres@anarazel.de>
Re: Support for NSS as a libpq TLS backend Jeff Davis <pgsql@j-davis.com>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Andrew Dunstan <andrew@dunslane.net>
Re: Support for NSS as a libpq TLS backend Jeff Davis <pgsql@j-davis.com>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Tom Lane <tgl@sss.pgh.pa.us>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Bruce Momjian <bruce@momjian.us>
Re: Support for NSS as a libpq TLS backend Tom Lane <tgl@sss.pgh.pa.us>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Magnus Hagander <magnus@hagander.net>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Andrew Dunstan <andrew@dunslane.net>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Andrew Dunstan <andrew@dunslane.net>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Heikki Linnakangas <hlinnaka@iki.fi>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Michael Paquier <michael@paquier.xyz>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Michael Paquier <michael@paquier.xyz>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Michael Paquier <michael@paquier.xyz>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Michael Paquier <michael@paquier.xyz>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Michael Paquier <michael@paquier.xyz>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Michael Paquier <michael@paquier.xyz>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Michael Paquier <michael@paquier.xyz>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Michael Paquier <michael@paquier.xyz>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Michael Paquier <michael@paquier.xyz>
Re: Support for NSS as a libpq TLS backend Michael Paquier <michael@paquier.xyz>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Michael Paquier <michael@paquier.xyz>
Re: Support for NSS as a libpq TLS backend Michael Paquier <michael@paquier.xyz>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Thomas Munro <thomas.munro@gmail.com>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Daniel Gustafsson <daniel@yesql.se>
Re: Support for NSS as a libpq TLS backend Jacob Champion <pchampion@vmware.com>
Re: Support for NSS as a libpq TLS backend Thomas Munro <thomas.munro@gmail.com>
On Mon, 2021-02-01 at 21:49 +0100, Daniel Gustafsson wrote:
> > On 29 Jan 2021, at 19:46, Jacob Champion  wrote:
> > I think the bad news is that the static approach will need support for
> > ENABLE_THREAD_SAFETY.
> 
> I did some more reading today and noticed that the NSS documentation (and their
> sample code for doing crypto without TLS connections) says to use NSS_NoDB_Init
> to perform a read-only init which don't require a matching close call.  Now,
> the docs aren't terribly clear and also seems to have gone offline from MDN,
> and skimming the code isn't entirelt self-explanatory, so I may well have
> missed something.  The v24 patchset posted changes to this and at least passes
> tests with decent performance so it seems worth investigating.

Nice! Not having to close helps quite a bit.

(Looks like thread safety for NSS_Init was added in 3.13, so we have an
absolute version floor.)

> > (It looks like the NSS implementation of pgtls_close() needs some thread
> > support too?)
> 
> Storing the context in conn would probably be better?

Agreed.

> > The good(?) news is that I don't understand why OpenSSL's
> > implementation of cryptohash doesn't _also_ need the thread-safety
> > code. (Shouldn't we need to call CRYPTO_set_locking_callback() et al
> > before using any of its cryptohash implementation?) So maybe we can
> > implement the same global setup/teardown API for OpenSSL too and not
> > have to one-off it for NSS...
> 
> No idea here, wouldn't that impact pgcrypto as well in that case?

If pgcrypto is backend-only then I don't think it should need
multithreading protection; is that right?

--Jacob
В списке pgsql-hackers по дате отправления
От: Jacob Champion
Дата:
От: tsunakawa.takay@fujitsu.com
Дата:
FAQ