Potentially misleading name of libpq pass phrase hook

From: Daniel Gustafsson <daniel(at)yesql(dot)se>
To: PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Potentially misleading name of libpq pass phrase hook
Date: 2020-05-14 13:03:41
Message-ID: 981DE552-E399-45C2-9F60-3F0E3770CC61@yesql.se
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Reviewing TLS changes for v13 I came across one change which I think might be
better off with a library qualified name. The libpq frontend sslpassword hook
added in 4dc63552109f65 is OpenSSL specific, but it has a very generic name:

PQsetSSLKeyPassHook(PQsslKeyPassHook_type hook);

This IMO has potential for confusion if we ever commit another TLS backend,
since the above hook wont work for any other library (except maybe OpenSSL
derivatives like LibreSSL et.al). The backends will always have differently
named hooks, as the signatures will be different, but having one with a generic
name and another with a library qualified name doesn't seem too friendly to
anyone implementing with libpq.

As a point of reference; in the backend we added a TLS init hook in commit
896fcdb230e72 which also is specific to OpenSSL, but the name is library
qualified making the purpose and usecase perfectly clear: openssl_tls_init_hook.

Since we haven't shipped this there is still time to rename, which IMO is the
right way forward. PQsslKeyPassHook_<library>_type would be one option, but
perhaps there are better alternatives?

Thoughts?

cheers ./daniel

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Laurenz Albe 2020-05-14 13:40:44 Re: COPY, lock release and MVCC
Previous Message Ashutosh Bapat 2020-05-14 12:54:25 Re: making update/delete of inheritance trees scale better