parse_ident_usermap() shuold use ereport(LOG) and not ERROR, and put the
return value in the *error_p variable. Noted by Tom.
This commit is contained in:
parent
d82e9f72b9
commit
c7e42c7ce1
@ -10,7 +10,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/backend/libpq/hba.c,v 1.187 2009/06/21 20:15:32 petere Exp $
|
* $PostgreSQL: pgsql/src/backend/libpq/hba.c,v 1.188 2009/06/24 13:39:42 mha Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -1493,7 +1493,7 @@ parse_ident_usermap(List *line, int line_number, const char *usermap_name,
|
|||||||
char errstr[100];
|
char errstr[100];
|
||||||
|
|
||||||
pg_regerror(r, &re, errstr, sizeof(errstr));
|
pg_regerror(r, &re, errstr, sizeof(errstr));
|
||||||
ereport(ERROR,
|
ereport(LOG,
|
||||||
(errcode(ERRCODE_INVALID_REGULAR_EXPRESSION),
|
(errcode(ERRCODE_INVALID_REGULAR_EXPRESSION),
|
||||||
errmsg("invalid regular expression \"%s\": %s", file_ident_user + 1, errstr)));
|
errmsg("invalid regular expression \"%s\": %s", file_ident_user + 1, errstr)));
|
||||||
|
|
||||||
@ -1515,7 +1515,7 @@ parse_ident_usermap(List *line, int line_number, const char *usermap_name,
|
|||||||
{
|
{
|
||||||
/* REG_NOMATCH is not an error, everything else is */
|
/* REG_NOMATCH is not an error, everything else is */
|
||||||
pg_regerror(r, &re, errstr, sizeof(errstr));
|
pg_regerror(r, &re, errstr, sizeof(errstr));
|
||||||
ereport(ERROR,
|
ereport(LOG,
|
||||||
(errcode(ERRCODE_INVALID_REGULAR_EXPRESSION),
|
(errcode(ERRCODE_INVALID_REGULAR_EXPRESSION),
|
||||||
errmsg("regular expression match for \"%s\" failed: %s", file_ident_user + 1, errstr)));
|
errmsg("regular expression match for \"%s\" failed: %s", file_ident_user + 1, errstr)));
|
||||||
*error_p = true;
|
*error_p = true;
|
||||||
@ -1531,10 +1531,15 @@ parse_ident_usermap(List *line, int line_number, const char *usermap_name,
|
|||||||
{
|
{
|
||||||
/* substitution of the first argument requested */
|
/* substitution of the first argument requested */
|
||||||
if (matches[1].rm_so < 0)
|
if (matches[1].rm_so < 0)
|
||||||
ereport(ERROR,
|
{
|
||||||
|
ereport(LOG,
|
||||||
(errcode(ERRCODE_INVALID_REGULAR_EXPRESSION),
|
(errcode(ERRCODE_INVALID_REGULAR_EXPRESSION),
|
||||||
errmsg("regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\"",
|
errmsg("regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\"",
|
||||||
file_ident_user + 1, file_pgrole)));
|
file_ident_user + 1, file_pgrole)));
|
||||||
|
pg_regfree(&re);
|
||||||
|
*error_p = true;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* length: original length minus length of \1 plus length of match
|
* length: original length minus length of \1 plus length of match
|
||||||
|
Loading…
x
Reference in New Issue
Block a user