pg_config.h.win32 missing a set of flags from pg_config.h.in added in v11 development

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Postgres hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: pg_config.h.win32 missing a set of flags from pg_config.h.in added in v11 development
Date: 2018-05-29 21:15:59
Message-ID: 20180529211559.GF6632@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi all,

While reviewing the MSVC code, I have noticed that pg_config.h.win32 is
forgetting about a couple of flags defined in pg_config.h.in for v11
development. Forgetting some of them is problematic, and here are the
ones I spotted:
- HAVE_LDAP_INITIALIZE
- HAVE_X509_GET_SIGNATURE_NID
- HAVE_SSL_CLEAR_OPTIONS

HAVE_X509_GET_SIGNATURE_NID is something I worked on for the SCRAM
channel binding, and not having it means that tls-server-end-point is
never supported on Windows. What we need to do in this case is to
extend the MSVC scripts so as "openssl version" is run once and we parse
the version of OpenSSL from it. If the version is newer than 1.0.2 then
the function can be used.

For HAVE_LDAP_INITIALIZE, it seems to me that we could get rid of the
ldap_sslinit part, but I have not studied this close enough to reach a
conclusion.

HAVE_SSL_CLEAR_OPTIONS means that sslcompression is not turned off by
default on Windows, which does not look like a good idea to me.

We could treat each issue separately, but the fact that we need to parse
the function string of openssl and/or openldap to do decision-making for
the MSVC script is common to all those issues.

Thanks,
--
Michael

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Teodor Sigaev 2018-05-29 23:07:50 POC: GROUP BY optimization
Previous Message Michael Paquier 2018-05-29 21:02:12 Supporting tls-server-end-point as SCRAM channel binding for OpenSSL 1.0.0 and 1.0.1