diff options
| author | Bruce Momjian <bruce@momjian.us> | 2004-10-06 09:35:23 +0000 |
|---|---|---|
| committer | Bruce Momjian <bruce@momjian.us> | 2004-10-06 09:35:23 +0000 |
| commit | 902ca3e2255411d709a1ffa28dea9eda92425f77 (patch) | |
| tree | d802e6b82f526711585211694850cfa38eaa0297 /configure.in | |
| parent | 5431393274dd9349490d56d9594782365ca8ddfc (diff) | |
| download | postgresql-902ca3e2255411d709a1ffa28dea9eda92425f77.tar.gz | |
Here is a patch to fix win32 ssl builds. Summary of changes:
* Links with -leay32 and -lssleay32 instead of crypto and ssl. On win32,
"crypto and ssl" is only used for static linking.
* Initializes SSL in the backend and not just in the postmaster. We
cannot pass the SSL context from the postmaster through the parameter
file, because it contains function pointers.
* Split one error check in be-secure.c. Previously we could not tell
which of three calls actually failed. The previous code also returned
incorrect error messages if SSL_accept() failed - that function needs to
use SSL_get_error() on the return value, can't just use the error queue.
* Since the win32 implementation uses non-blocking sockets "behind the
scenes" in order to deliver signals correctly, implements a version of
SSL_accept() that can handle this. Also, add a wait function in case
SSL_read or SSL_write() needs more data.
Magnus Hagander
Diffstat (limited to 'configure.in')
| -rw-r--r-- | configure.in | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/configure.in b/configure.in index 56119d74d8..bc4976f52d 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ dnl Process this file with autoconf to produce a configure script. -dnl $PostgreSQL: pgsql/configure.in,v 1.379 2004/10/01 02:00:41 neilc Exp $ +dnl $PostgreSQL: pgsql/configure.in,v 1.380 2004/10/06 09:35:19 momjian Exp $ dnl dnl Developers, please strive to achieve this order: dnl @@ -672,8 +672,13 @@ fi if test "$with_openssl" = yes ; then dnl Order matters! - AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])]) - AC_CHECK_LIB(ssl, SSL_library_init, [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])]) + if test "$PORTNAME" != "win32"; then + AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])]) + AC_CHECK_LIB(ssl, SSL_library_init, [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])]) + else + AC_CHECK_LIB(eay32, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'eay32' is required for OpenSSL])]) + AC_CHECK_LIB(ssleay32, SSL_library_init, [], [AC_MSG_ERROR([library 'ssleay32' is required for OpenSSL])]) + fi fi if test "$with_pam" = yes ; then |
