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:58 +0000 (22:44 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 12 May 2006 22:44:58 +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 bb99ab50162d7ec95b8b62d971f292d4b0e8bba5..0ee0bc1c825be212ebf45ef5d52646fe274314e1 100644 (file)
@@ -11,7 +11,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/libpq/be-secure.c,v 1.43.2.2 2005/06/02 21:04:07 tgl Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/libpq/be-secure.c,v 1.43.2.3 2006/05/12 22:44:58 tgl Exp $
  *
  *   Since the server static private key ($DataDir/server.key)
  *   will normally be stored unencrypted so that the database
@@ -505,7 +505,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;