From bc8624b15d8055cdead310352e5943da18500d16 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 18 Oct 2010 22:14:47 +0300 Subject: Support key word 'all' in host column of pg_hba.conf --- src/backend/libpq/hba.c | 9 +++++++-- src/include/libpq/hba.h | 3 ++- 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/backend/libpq/hba.c b/src/backend/libpq/hba.c index 20c86b7ea3f..17363599626 100644 --- a/src/backend/libpq/hba.c +++ b/src/backend/libpq/hba.c @@ -885,8 +885,11 @@ parse_hba_line(List *line, int line_num, HbaLine *parsedline) } token = lfirst(line_item); - /* Is it equal to 'samehost' or 'samenet'? */ - if (strcmp(token, "samehost\n") == 0) + if (strcmp(token, "all\n") == 0) + { + parsedline->ip_cmp_method = ipCmpAll; + } + else if (strcmp(token, "samehost\n") == 0) { /* Any IP on this host is allowed to connect */ parsedline->ip_cmp_method = ipCmpSameHost; @@ -1503,6 +1506,8 @@ check_hba(hbaPort *port) continue; } break; + case ipCmpAll: + break; case ipCmpSameHost: case ipCmpSameNet: if (!check_same_host_or_net(&port->raddr, diff --git a/src/include/libpq/hba.h b/src/include/libpq/hba.h index eb6637f1c74..aa60d8d4f17 100644 --- a/src/include/libpq/hba.h +++ b/src/include/libpq/hba.h @@ -36,7 +36,8 @@ typedef enum IPCompareMethod { ipCmpMask, ipCmpSameHost, - ipCmpSameNet + ipCmpSameNet, + ipCmpAll } IPCompareMethod; typedef enum ConnType -- cgit v1.2.3