As Kris Jurka found out, pgcrypto does not work with

Bruce Momjian <bruce@momjian.us>

Commit: d51df918970bcf42f915a3882bfdee5972aa9bad
Author: Bruce Momjian <bruce@momjian.us>
Date: 2005-07-10T13:54:34Z
Releases: 8.1.0
As Kris Jurka found out, pgcrypto does not work with
OpenSSL 0.9.6x.  The DES functions use the older 'des_'
API, but the newer 3DES functions use the 0.9.7x-only
'DES_' API.

I think I just used /usr/include/openssl/des.h for reference
when implementing them, and had upgraded OpenSSL in the
meantime.

Following patch converts DES also to newer API and provides
compatibility functions for OpenSSL < 0.9.7.

I chose this route because:

- openssl.c uses few DES functions.
- compatibility for old 'des_' API is going away at some point
  of time from OpenSSL.
- as seen from macros, new API is saner
- Thus pgcrypto supports any OpenSSL version from 0.9.5 to 1.0

Tested with OpenSSL 0.9.6c and 0.9.7e.

Marko Kreen

Files

PathChange+/−
contrib/pgcrypto/openssl.c modified +38 −18