From 718fe0a14add0fadb17d715d7aa24ebcf3fb35c4 Mon Sep 17 00:00:00 2001 From: Michael Paquier Date: Fri, 5 Aug 2022 09:50:27 +0900 Subject: [PATCH] Make consistent a couple of log messages when parsing HBA files This commit adjusts two log messages: - When a field in pg_ident.conf is not populated, report the line of the configuration file in an error context message instead of the main entry. - When parsing pg_ident.conf and finding an invalid regexp, add some information about the line of the configuration file involved within an error context message. Author: Julien Rouhaud Discussion: https://postgr.es/m/20220223045959.35ipdsvbxcstrhya@jrouhaud --- src/backend/libpq/hba.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/backend/libpq/hba.c b/src/backend/libpq/hba.c index 327a4b42af7..deee05c1979 100644 --- a/src/backend/libpq/hba.c +++ b/src/backend/libpq/hba.c @@ -900,8 +900,9 @@ do { \ if (!field) { \ ereport(elevel, \ (errcode(ERRCODE_CONFIG_FILE_ERROR), \ - errmsg("missing entry in file \"%s\" at end of line %d", \ - IdentFileName, line_num))); \ + errmsg("missing entry at end of line"), \ + errcontext("line %d of configuration file \"%s\"", \ + line_num, IdentFileName))); \ *err_msg = psprintf("missing entry at end of line"); \ return NULL; \ } \ @@ -2372,7 +2373,9 @@ parse_ident_line(TokenizedAuthLine *tok_line, int elevel) ereport(elevel, (errcode(ERRCODE_INVALID_REGULAR_EXPRESSION), errmsg("invalid regular expression \"%s\": %s", - parsedline->ident_user + 1, errstr))); + parsedline->ident_user + 1, errstr), + errcontext("line %d of configuration file \"%s\"", + line_num, IdentFileName))); *err_msg = psprintf("invalid regular expression \"%s\": %s", parsedline->ident_user + 1, errstr);