pgsql: Change libpq's internal uses of PQhost() to inspect host field d

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Change libpq's internal uses of PQhost() to inspect host field d
Date: 2018-08-03 16:21:02
Message-ID: E1flcp4-0003I1-Kr@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Change libpq's internal uses of PQhost() to inspect host field directly.

Commit 1944cdc98 changed PQhost() to return the hostaddr value when that
is specified and host isn't. This is a good idea in general, but
fe-auth.c and related files contain PQhost() calls for which it isn't.
Specifically, when we compare SSL certificates or other server identity
information to the host field, we do not want to use hostaddr instead;
that's not what's documented, that's not what happened pre-v10, and
it doesn't seem like a good idea.

Instead, we can just look at connhost[].host directly. This does what
we want in v10 and up; in particular, if neither host nor hostaddr
were given, the host field will be replaced with the default host name.
That seems useful, and it's likely the reason that these places were
coded to call PQhost() originally (since pre-v10, the stored field was
not replaced with the default).

Back-patch to v10, as 1944cdc98 (just) was.

Discussion: https://postgr.es/m/23287.1533227021@sss.pgh.pa.us

Branch
------
REL_10_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/8d00858bafb50a8fb06c7e9482af2bfef2eebc75

Modified Files
--------------
src/interfaces/libpq/fe-auth.c | 4 ++--
src/interfaces/libpq/fe-secure-openssl.c | 11 +++++++++--
2 files changed, 11 insertions(+), 4 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2018-08-03 20:04:36 Re: pgsql: Address set of issues with errno handling
Previous Message Amit Kapila 2018-08-03 06:31:37 pgsql: Fix buffer usage stats for parallel nodes.