From a27addbc87e536359cedd001f8962ecc01c29017 Mon Sep 17 00:00:00 2001
From: Magnus Hagander <magnus@hagander.net>
Date: Fri, 2 Jan 2009 10:33:20 +0000
Subject: [PATCH] Make it possible to change Kerberos/GSSAPI parameters without
 restarting the postmaster. They are only used in backend processes, so it's
 just a matter of re-labeling the GUCs.

---
 doc/src/sgml/config.sgml     | 14 ++++++--------
 src/backend/utils/misc/guc.c | 12 ++++++------
 2 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 86ccac9448c..077909bdd18 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -1,4 +1,4 @@
-<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.200 2008/12/13 19:13:43 tgl Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/config.sgml,v 1.201 2009/01/02 10:33:19 mha Exp $ -->
 
 <chapter Id="runtime-config">
   <title>Server Configuration</title>
@@ -621,8 +621,7 @@ SET ENABLE_SEQSCAN TO OFF;
        <para>
         Sets the realm to match Kerberos, GSSAPI and SSPI user names against.
         See <xref linkend="kerberos-auth">, <xref linkend="gssapi-auth"> or
-        <xref linkend="sspi-auth"> for details. This parameter can only be
-        set at server start.
+        <xref linkend="sspi-auth"> for details.
        </para>
       </listitem>
      </varlistentry>
@@ -636,7 +635,7 @@ SET ENABLE_SEQSCAN TO OFF;
        <para>
         Sets the location of the Kerberos server key file. See
         <xref linkend="kerberos-auth"> or <xref linkend="gssapi-auth"> 
-        for details. This parameter can only be set at server start.
+        for details.
        </para>
       </listitem>
      </varlistentry>
@@ -649,7 +648,7 @@ SET ENABLE_SEQSCAN TO OFF;
       <listitem>
        <para>
         Sets the Kerberos service name. See <xref linkend="kerberos-auth">
-        for details.  This parameter can only be set at server start.
+        for details.
        </para>
       </listitem>
      </varlistentry>
@@ -666,7 +665,7 @@ SET ENABLE_SEQSCAN TO OFF;
         the complete service principal, that is
         <varname>krb_srvname</><literal>/</><varname>krb_server_hostname</><literal>@</>REALM.
         If not set, the default is the server host name.  See <xref linkend="kerberos-auth">
-        for details.  This parameter can only be set at server start.
+        for details.
        </para>
       </listitem>
      </varlistentry>
@@ -680,8 +679,7 @@ SET ENABLE_SEQSCAN TO OFF;
        <para>
         Sets whether Kerberos and GSSAPI user names should be treated
         case-insensitively.
-        The default is <literal>off</> (case sensitive). This parameter
-        can only be set at server start.
+        The default is <literal>off</> (case sensitive).
        </para>
       </listitem>
      </varlistentry>
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index e881746924a..1290af8dee0 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -10,7 +10,7 @@
  * Written by Peter Eisentraut <peter_e@gmx.net>.
  *
  * IDENTIFICATION
- *	  $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.486 2009/01/02 02:02:10 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.487 2009/01/02 10:33:20 mha Exp $
  *
  *--------------------------------------------------------------------
  */
@@ -1144,7 +1144,7 @@ static struct config_bool ConfigureNamesBool[] =
 	},
 
 	{
-		{"krb_caseins_users", PGC_POSTMASTER, CONN_AUTH_SECURITY,
+		{"krb_caseins_users", PGC_SIGHUP, CONN_AUTH_SECURITY,
 			gettext_noop("Sets whether Kerberos and GSSAPI user names should be treated as case-insensitive."),
 			NULL
 		},
@@ -2123,7 +2123,7 @@ static struct config_string ConfigureNamesString[] =
 	},
 
 	{
-		{"krb_realm", PGC_POSTMASTER, CONN_AUTH_SECURITY,
+		{"krb_realm", PGC_SIGHUP, CONN_AUTH_SECURITY,
 			gettext_noop("Sets realm to match Kerberos and GSSAPI users against."),
 			NULL,
 			GUC_SUPERUSER_ONLY
@@ -2133,7 +2133,7 @@ static struct config_string ConfigureNamesString[] =
 	},
 
 	{
-		{"krb_server_keyfile", PGC_POSTMASTER, CONN_AUTH_SECURITY,
+		{"krb_server_keyfile", PGC_SIGHUP, CONN_AUTH_SECURITY,
 			gettext_noop("Sets the location of the Kerberos server key file."),
 			NULL,
 			GUC_SUPERUSER_ONLY
@@ -2143,7 +2143,7 @@ static struct config_string ConfigureNamesString[] =
 	},
 
 	{
-		{"krb_srvname", PGC_POSTMASTER, CONN_AUTH_SECURITY,
+		{"krb_srvname", PGC_SIGHUP, CONN_AUTH_SECURITY,
 			gettext_noop("Sets the name of the Kerberos service."),
 			NULL
 		},
@@ -2152,7 +2152,7 @@ static struct config_string ConfigureNamesString[] =
 	},
 
 	{
-		{"krb_server_hostname", PGC_POSTMASTER, CONN_AUTH_SECURITY,
+		{"krb_server_hostname", PGC_SIGHUP, CONN_AUTH_SECURITY,
 			gettext_noop("Sets the hostname of the Kerberos server."),
 			NULL
 		},
-- 
GitLab