From: Tom Lane Date: Sun, 7 Sep 2003 03:36:03 +0000 (+0000) Subject: Make the default pg_hba.conf include an entry for ::1 only if configure X-Git-Tag: REL7_4_BETA3~91 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7703e55c32e82e2485272596ec5ee6ac1695e42d;p=postgresql Make the default pg_hba.conf include an entry for ::1 only if configure set HAVE_IPV6. Per recent discussions. --- diff --git a/configure b/configure index e63842f197..15ab9cdcf1 100755 --- a/configure +++ b/configure @@ -11193,6 +11193,7 @@ fi +HAVE_IPV6=no echo "$as_me:$LINENO: checking for struct sockaddr_in6" >&5 echo $ECHO_N "checking for struct sockaddr_in6... $ECHO_C" >&6 if test "${ac_cv_type_struct_sockaddr_in6+set}" = set; then @@ -11314,11 +11315,13 @@ cat >>confdefs.h <<\_ACEOF #define HAVE_IPV6 1 _ACEOF + HAVE_IPV6=yes fi fi + echo "$as_me:$LINENO: checking for PS_STRINGS" >&5 echo $ECHO_N "checking for PS_STRINGS... $ECHO_C" >&6 if test "${pgac_cv_var_PS_STRINGS+set}" = set; then @@ -18286,6 +18289,7 @@ s,@python_configdir@,$python_configdir,;t t s,@python_includespec@,$python_includespec,;t t s,@python_libspec@,$python_libspec,;t t s,@LIBOBJS@,$LIBOBJS,;t t +s,@HAVE_IPV6@,$HAVE_IPV6,;t t s,@THREAD_CFLAGS@,$THREAD_CFLAGS,;t t s,@THREAD_LIBS@,$THREAD_LIBS,;t t s,@HAVE_POSIX_SIGNALS@,$HAVE_POSIX_SIGNALS,;t t diff --git a/configure.in b/configure.in index 55999cf8d6..1c4ca7feca 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $Header: /cvsroot/pgsql/configure.in,v 1.283 2003/09/01 23:01:49 petere Exp $ +dnl $Header: /cvsroot/pgsql/configure.in,v 1.284 2003/09/07 03:36:02 tgl Exp $ dnl dnl Developers, please strive to achieve this order: dnl @@ -832,12 +832,15 @@ AC_CHECK_FUNCS([cbrt dlopen fcvt fdatasync getpeereid memmove poll pstat setproc AC_CHECK_DECLS(fdatasync, [], [], [#include ]) +HAVE_IPV6=no AC_CHECK_TYPE([struct sockaddr_in6], [AC_CHECK_FUNC(inet_ntop, - [AC_DEFINE(HAVE_IPV6, 1, [Define to 1 if you have support for IPv6.])])], + [AC_DEFINE(HAVE_IPV6, 1, [Define to 1 if you have support for IPv6.]) + HAVE_IPV6=yes])], [], [$ac_includes_default #include ]) +AC_SUBST(HAVE_IPV6) AC_CACHE_CHECK([for PS_STRINGS], [pgac_cv_var_PS_STRINGS], [AC_TRY_LINK( diff --git a/src/Makefile.global.in b/src/Makefile.global.in index fdbfc5b2b5..1be4bc0a83 100644 --- a/src/Makefile.global.in +++ b/src/Makefile.global.in @@ -1,5 +1,5 @@ # -*-makefile-*- -# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.167 2003/09/01 23:01:49 petere Exp $ +# $Header: /cvsroot/pgsql/src/Makefile.global.in,v 1.168 2003/09/07 03:36:02 tgl Exp $ #------------------------------------------------------------------------------ # All PostgreSQL makefiles include this file and use the variables it sets, @@ -263,6 +263,9 @@ host_tuple = @host@ host_os = @host_os@ host_cpu = @host_cpu@ +# Make HAVE_IPV6 available for initdb script creation +HAVE_IPV6= @HAVE_IPV6@ + # The HP-UX port makefile, for one, needs access to this symbol HAVE_POSIX_SIGNALS= @HAVE_POSIX_SIGNALS@ diff --git a/src/backend/libpq/pg_hba.conf.sample b/src/backend/libpq/pg_hba.conf.sample index 53c65cc81a..946e573ddc 100644 --- a/src/backend/libpq/pg_hba.conf.sample +++ b/src/backend/libpq/pg_hba.conf.sample @@ -51,7 +51,7 @@ # TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD local all all trust +# IPv4-style local connections: host all all 127.0.0.1 255.255.255.255 trust - -# uncomment this to support IPv6 loopback connections -# host all all ::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff trust +# IPv6-style local connections: +host all all ::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff trust diff --git a/src/bin/initdb/Makefile b/src/bin/initdb/Makefile index 3213c8c683..cd2cb86c36 100644 --- a/src/bin/initdb/Makefile +++ b/src/bin/initdb/Makefile @@ -5,7 +5,7 @@ # Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group # Portions Copyright (c) 1994, Regents of the University of California # -# $Header: /cvsroot/pgsql/src/bin/initdb/Makefile,v 1.28 2002/09/03 21:45:43 petere Exp $ +# $Header: /cvsroot/pgsql/src/bin/initdb/Makefile,v 1.29 2003/09/07 03:36:03 tgl Exp $ # #------------------------------------------------------------------------- @@ -18,6 +18,7 @@ all: initdb initdb: initdb.sh $(top_builddir)/src/Makefile.global sed -e 's/@VERSION@/$(VERSION)/g' \ -e 's,@SHELL@,$(SHELL),g' \ + -e 's,@HAVE_IPV6@,$(HAVE_IPV6),g' \ -e 's,@bindir@,$(bindir),g' \ -e 's,@datadir@,$(datadir),g' \ $< >$@ diff --git a/src/bin/initdb/initdb.sh b/src/bin/initdb/initdb.sh index 94e5b21d74..554a751010 100644 --- a/src/bin/initdb/initdb.sh +++ b/src/bin/initdb/initdb.sh @@ -27,7 +27,7 @@ # Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group # Portions Copyright (c) 1994, Regents of the University of California # -# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.200 2003/08/26 15:38:25 tgl Exp $ +# $Header: /cvsroot/pgsql/src/bin/initdb/Attic/initdb.sh,v 1.201 2003/09/07 03:36:03 tgl Exp $ # #------------------------------------------------------------------------- @@ -76,6 +76,7 @@ CMDNAME=`basename $0` # Placed here during build VERSION='@VERSION@' +HAVE_IPV6='@HAVE_IPV6@' bindir='@bindir@' # Note that "datadir" is not the directory we're initializing, it's # merely how Autoconf names PREFIX/share. @@ -584,8 +585,6 @@ echo "$nconns" $ECHO_N "creating configuration files... "$ECHO_C -cp "$PG_HBA_SAMPLE" "$PGDATA"/pg_hba.conf || exit_nicely -cp "$PG_IDENT_SAMPLE" "$PGDATA"/pg_ident.conf || exit_nicely sed -e "s/^#shared_buffers = 1000/shared_buffers = $nbuffers/" \ -e "s/^#max_connections = 100/max_connections = $nconns/" \ -e "s/^#lc_messages = 'C'/lc_messages = '`pg_getlocale MESSAGES`'/" \ @@ -593,6 +592,14 @@ sed -e "s/^#shared_buffers = 1000/shared_buffers = $nbuffers/" \ -e "s/^#lc_numeric = 'C'/lc_numeric = '`pg_getlocale NUMERIC`'/" \ -e "s/^#lc_time = 'C'/lc_time = '`pg_getlocale TIME`'/" \ "$POSTGRESQL_CONF_SAMPLE" > "$PGDATA"/postgresql.conf || exit_nicely +if [ "x$HAVE_IPV6" = xyes ] +then + cp "$PG_HBA_SAMPLE" "$PGDATA"/pg_hba.conf || exit_nicely +else + sed -e "/ ::1 / s/^host/#host/" \ + "$PG_HBA_SAMPLE" > "$PGDATA"/pg_hba.conf || exit_nicely +fi +cp "$PG_IDENT_SAMPLE" "$PGDATA"/pg_ident.conf || exit_nicely chmod 0600 "$PGDATA"/pg_hba.conf "$PGDATA"/pg_ident.conf \ "$PGDATA"/postgresql.conf