Re: pg_hba.conf additional comment re local line - Mailing list pgsql-patches
From | Andrew Dunstan |
---|---|
Subject | Re: pg_hba.conf additional comment re local line |
Date | |
Msg-id | 4151F0E8.2080002@dunslane.net Whole thread Raw |
In response to | pg_hba.conf additional comment re local line (Andrew Dunstan <andrew@dunslane.net>) |
Responses |
Re: pg_hba.conf additional comment re local line
|
List | pgsql-patches |
The original of this seems to have gotten lost in the ether somewhere. It might turn up some day ... andrew Tom Lane wrote: >Andrew Dunstan <andrew@dunslane.net> writes: > > >>The attached tiny patch will possibly help to avoid some confusion by >>Windows users about the "local" line in pg_hba.conf (and thus help >>reduce queries to us ;-) ). >> >> > >I was wondering if we could teach initdb to remove that line altogether >in Windows installations. > > > > I think this does what Tom and Peter suggested. I don't have a Windows box to test it on, though. cheers andrew Index: src/backend/libpq/pg_hba.conf.sample =================================================================== RCS file: /projects/cvsroot/pgsql-server/src/backend/libpq/pg_hba.conf.sample,v retrieving revision 1.53 diff -c -w -r1.53 pg_hba.conf.sample *** src/backend/libpq/pg_hba.conf.sample 26 Aug 2004 16:50:05 -0000 1.53 --- src/backend/libpq/pg_hba.conf.sample 22 Sep 2004 14:17:41 -0000 *************** *** 60,67 **** # TYPE DATABASE USER CIDR-ADDRESS METHOD ! local all all @authmethod@ ! # IPv4-style local connections: host all all 127.0.0.1/32 @authmethod@ ! # IPv6-style local connections: host all all ::1/128 @authmethod@ --- 60,68 ---- # TYPE DATABASE USER CIDR-ADDRESS METHOD ! @remove-line-for-win32@# "local" is for Unix domain socket connections only ! @remove-line-for-win32@local all all @authmethod@ ! # IPv4 local connections: host all all 127.0.0.1/32 @authmethod@ ! # IPv6 local connections: host all all ::1/128 @authmethod@ Index: src/bin/initdb/initdb.c =================================================================== RCS file: /projects/cvsroot/pgsql-server/src/bin/initdb/initdb.c,v retrieving revision 1.54 diff -c -w -r1.54 initdb.c *** src/bin/initdb/initdb.c 2 Sep 2004 17:58:41 -0000 1.54 --- src/bin/initdb/initdb.c 22 Sep 2004 14:17:42 -0000 *************** *** 147,152 **** --- 147,153 ---- static void *xmalloc(size_t size); static char *xstrdup(const char *s); static char **replace_token(char **lines, char *token, char *replacement); + static char **filter_lines_with_token(char **lines, char *token); static char **readfile(char *path); static void writefile(char *path, char **lines); static int mkdir_p(char *path, mode_t omode); *************** *** 311,316 **** --- 312,348 ---- } /* + * make a copy of lines without any that contain the token + * a sort of poor man's grep -v + * + */ + + static char ** + filter_lines_with_token(char **lines, char *token) + { + int numlines = 1; + int i, src, dst; + char **result; + + for (i = 0; lines[i]; i++) + numlines++; + + result = (char **) xmalloc(numlines * sizeof(char *)); + + for (src = 0, dst = 0; src < numlines; src++) + { + + if (lines[src] == NULL || strstr(lines[src], token) == NULL) + { + result[dst++] = lines[src]; + } + + } + + return result; + } + + /* * get the lines from a text file */ static char ** *************** *** 1093,1098 **** --- 1125,1136 ---- conflines = readfile(hba_file); + #ifdef WIN32 + conflines = filter_lines_with_token(conflines,"@remove-line-for-win32@"); + #else + conflines = replace_token(conflines,"@remove-line-for-win32@",""); + #endif + #ifndef HAVE_IPV6 conflines = replace_token(conflines, "host all all ::1",
pgsql-patches by date: