pgsql: Refactor code handling the names of files loaded in hba.c - Mailing list pgsql-committers

From Michael Paquier
Subject pgsql: Refactor code handling the names of files loaded in hba.c
Date
Msg-id E1onWXT-000pTR-R4@gemulon.postgresql.org
Whole thread Raw
Responses Re: pgsql: Refactor code handling the names of files loaded in hba.c
List pgsql-committers
Refactor code handling the names of files loaded in hba.c

This has the advantage to limit the presence of the GUC values
hba_file and ident_file to the code paths where these files are loaded,
easing the introduction of an upcoming feature aimed at adding inclusion
logic for files and directories in HBA and ident files.

Note that this needs the addition of the source file name to HbaLine, in
addition to the line number, which is something needed by the backend in
two places of auth.c (authentication failure details and auth_id log
when log_connections is enabled).

While on it, adjust a log generated on authentication failure to report
the name of the actual HBA file on which the connection attempt matched,
where the line number and the raw line written in the HBA file were
already included.  This was previously hardcoded as pg_hba.conf, which
would be incorrect when a custom value is used at postmaster startup for
the GUC hba_file.

Extracted from a larger patch by the same author.

Author: Julien Rouhaud
Discussion: https://postgr.es/m/20220223045959.35ipdsvbxcstrhya@jrouhaud

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/1b73d0b1c3934f703d68031957d37c2a9765e798

Modified Files
--------------
src/backend/libpq/auth.c |   7 +--
src/backend/libpq/hba.c  | 113 +++++++++++++++++++++++++----------------------
src/include/libpq/hba.h  |   2 +
3 files changed, 65 insertions(+), 57 deletions(-)


pgsql-committers by date:

Previous
From: Thomas Munro
Date:
Subject: Re: pgsql: Fix unlink() for STATUS_DELETE_PENDING on Windows.
Next
From: Julien Rouhaud
Date:
Subject: Re: pgsql: Refactor code handling the names of files loaded in hba.c