Re: Refactor SSL test framework to support multiple TLS libraries - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: Refactor SSL test framework to support multiple TLS libraries
Date
Msg-id 35e33a07-9ceb-7f9b-b69c-cb3bb8c79735@dunslane.net
Whole thread Raw
In response to Re: Refactor SSL test framework to support multiple TLS libraries  (Daniel Gustafsson <daniel@yesql.se>)
Responses Re: Refactor SSL test framework to support multiple TLS libraries
List pgsql-hackers
On 3/24/21 7:49 PM, Daniel Gustafsson wrote:
>> On 25 Mar 2021, at 00:26, Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
>>
>> On 2021-Mar-25, Daniel Gustafsson wrote:
>>
>>> Attached is a v2 which addresses the comments raised on the main NSS thread, as
>>> well as introduces named parameters for the server cert function to make the
>>> test code easier to read.
>> I don't like this patch.  I think your SSL::Server::OpenSSL and
>> SSL::Server::NSS packages should be doing "use parent SSL::Server";
>> having SSL::Server grow a line to "use" its subclass
>> SSL::Server::OpenSSL and import its get_new_openssl_backend() method
>> seems to go against the grain.
> I'm far from skilled at Perl module inheritance but that makes sense, I'll take
> a stab at that after some sleep and coffee.
>

The thing is that SSLServer isn't currently constructed in an OO
fashion. Typically, OO modules in perl don't export anything, and all
access is via the class (for the constructor or static methods) or
instances, as in

    my $instance = MyClass->new();
    $instance->mymethod();

In such a module you should not see lines using Exporter or defining
@Export.

So probably the first step in this process would be to recast SSLServer
as an OO type module, without subclassing it, and then create a subclass
along the lines Alvarro suggests.

If this is all strange to you, I can help a bit.

Incidentally, I'm not sure why we need to break SSLServer into
SSL::Server - are we expecting to create other children of the SSL
namespace?


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com




pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: Is it useful to record whether plans are generic or custom?
Next
From: David Steele
Date:
Subject: Re: pg_rewind copies