Here is a patch to fix win32 ssl builds. Summary of changes:
authorBruce Momjian <bruce@momjian.us>
Wed, 6 Oct 2004 09:35:23 +0000 (09:35 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 6 Oct 2004 09:35:23 +0000 (09:35 +0000)
commit902ca3e2255411d709a1ffa28dea9eda92425f77
treed802e6b82f526711585211694850cfa38eaa0297
parent5431393274dd9349490d56d9594782365ca8ddfc
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
configure
configure.in
src/backend/libpq/be-secure.c
src/backend/port/win32/socket.c
src/backend/postmaster/postmaster.c
src/include/pg_config.h.in
src/include/port/win32.h