Fix the sense of the test on DH_check()'s return value. This was preventing
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 12 May 2006 22:44:36 +0000 (22:44 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 12 May 2006 22:44:36 +0000 (22:44 +0000)
custom-generated DH parameters from actually being used by the server.
Found by Michael Fuhr.

src/backend/libpq/be-secure.c

index 8a4def4e11add3b5ebb19d0b0362d3073aee19f4..022c4f0b69a45f8594feb680e5cc5c78bc086f26 100644 (file)
@@ -11,7 +11,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/libpq/be-secure.c,v 1.69 2006/05/06 02:24:39 momjian Exp $
+ *   $PostgreSQL: pgsql/src/backend/libpq/be-secure.c,v 1.70 2006/05/12 22:44:36 tgl Exp $
  *
  *   Since the server static private key ($DataDir/server.key)
  *   will normally be stored unencrypted so that the database
@@ -524,7 +524,7 @@ load_dh_file(int keylength)
    /* make sure the DH parameters are usable */
    if (dh != NULL)
    {
-       if (DH_check(dh, &codes))
+       if (DH_check(dh, &codes) == 0)
        {
            elog(LOG, "DH_check error (%s): %s", fnbuf, SSLerrmessage());
            return NULL;