]> granicus.if.org Git - postgresql/commitdiff
Disallow setting ssl = on if SSL is not compiled in.
authorPeter Eisentraut <peter_e@gmx.net>
Fri, 30 Dec 2005 00:13:50 +0000 (00:13 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Fri, 30 Dec 2005 00:13:50 +0000 (00:13 +0000)
src/backend/utils/misc/guc.c

index 496aa706c82eaa72eb27c43637d7c7bf4045de25..124d2609b3513b67b406631d03d6e7ad65164508 100644 (file)
@@ -10,7 +10,7 @@
  * Written by Peter Eisentraut <peter_e@gmx.net>.
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.304 2005/12/28 16:38:38 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.305 2005/12/30 00:13:50 petere Exp $
  *
  *--------------------------------------------------------------------
  */
@@ -130,6 +130,7 @@ static const char *show_num_temp_buffers(void);
 static bool assign_phony_autocommit(bool newval, bool doit, GucSource source);
 static const char *assign_custom_variable_classes(const char *newval, bool doit,
                                                           GucSource source);
+static bool assign_ssl(bool newval, bool doit, GucSource source);
 static bool assign_stage_log_stats(bool newval, bool doit, GucSource source);
 static bool assign_log_stats(bool newval, bool doit, GucSource source);
 static bool assign_transaction_read_only(bool newval, bool doit, GucSource source);
@@ -496,7 +497,7 @@ static struct config_bool ConfigureNamesBool[] =
                        NULL
                },
                &EnableSSL,
-               false, NULL, NULL
+               false, assign_ssl, NULL
        },
        {
                {"fsync", PGC_SIGHUP, WAL_SETTINGS,
@@ -5864,6 +5865,18 @@ assign_custom_variable_classes(const char *newval, bool doit, GucSource source)
        return newval;
 }
 
+static bool
+assign_ssl(bool newval, bool doit, GucSource source)
+{
+#ifndef USE_SSL
+       if (newval)
+               ereport(ERROR,
+                               (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
+                                errmsg("SSL is not supported by this build")));
+#endif
+       return true;
+}
+
 static bool
 assign_stage_log_stats(bool newval, bool doit, GucSource source)
 {