Re: remove internal support in pgcrypto?

From: Daniel Gustafsson <daniel(at)yesql(dot)se>
To: Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: remove internal support in pgcrypto?
Date: 2021-11-03 10:16:26
Message-ID: E9A84D73-B825-4C6B-BACE-B2DBABDCC316@yesql.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On 30 Oct 2021, at 14:11, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com> wrote:
>
> On 24.08.21 11:13, Peter Eisentraut wrote:
>> So I'm tempted to suggest that we remove the built-in, non-OpenSSL cipher and hash implementations in pgcrypto (basically INT_SRCS in pgcrypto/Makefile), and then also pursue the simplifications in the OpenSSL code paths described in [0].
>
> Here is a patch for this.

This patch doesn't work on Windows, which I think is because it pulls in
pgcrypto even in builds without OpenSSL. Poking at that led me to realize that
we can simplify even more with this. The conditonal source includes can go
away and be replaced with a simple OBJS clause, and with that the special hacks
in Mkvcbuild.pm to overcome that.

Attached is a diff on top of your patch to do the above. I haven't tested it
on Windows yet, but if you think it's in the right direction we'll take it for
a spin in a CI with/without OpenSSL.

Now, *if* we merge the NSS patch this does introduce special cases again which
this rips out. I prefer to try and fix them in that patch to keep avoiding the
need for them rather than keep them on speculation for a patch which hasn't
been decided on.

--
Daniel Gustafsson https://vmware.com/

Attachment Content-Type Size
pgcrypto_openssl.diff application/octet-stream 3.3 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Daniel Gustafsson 2021-11-03 10:35:31 Re: [PATCH] Proof of concept for GUC improvements
Previous Message Amit Kapila 2021-11-03 10:13:30 Re: Data is copied twice when specifying both child and parent table in publication