|
|
|
@ -10,7 +10,7 @@ |
|
|
|
|
* |
|
|
|
|
* |
|
|
|
|
* 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]; |
|
|
|
|
|
|
|
|
|
pg_regerror(r, &re, errstr, sizeof(errstr)); |
|
|
|
|
ereport(ERROR, |
|
|
|
|
ereport(LOG, |
|
|
|
|
(errcode(ERRCODE_INVALID_REGULAR_EXPRESSION), |
|
|
|
|
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 */ |
|
|
|
|
pg_regerror(r, &re, errstr, sizeof(errstr)); |
|
|
|
|
ereport(ERROR, |
|
|
|
|
ereport(LOG, |
|
|
|
|
(errcode(ERRCODE_INVALID_REGULAR_EXPRESSION), |
|
|
|
|
errmsg("regular expression match for \"%s\" failed: %s", file_ident_user + 1, errstr))); |
|
|
|
|
*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 */ |
|
|
|
|
if (matches[1].rm_so < 0) |
|
|
|
|
ereport(ERROR, |
|
|
|
|
{ |
|
|
|
|
ereport(LOG, |
|
|
|
|
(errcode(ERRCODE_INVALID_REGULAR_EXPRESSION), |
|
|
|
|
errmsg("regular expression \"%s\" has no subexpressions as requested by backreference in \"%s\"", |
|
|
|
|
file_ident_user + 1, file_pgrole))); |
|
|
|
|
pg_regfree(&re); |
|
|
|
|
*error_p = true; |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* length: original length minus length of \1 plus length of match |
|
|
|
|