Here is a patch to fix win32 ssl builds. Summary of changes:
Bruce Momjian <bruce@momjian.us>
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
Files
| Path | Change | +/− |
|---|---|---|
| configure | modified | +141 −0 |
| configure.in | modified | +8 −3 |
| src/backend/libpq/be-secure.c | modified | +64 −4 |
| src/backend/port/win32/socket.c | modified | +2 −2 |
| src/backend/postmaster/postmaster.c | modified | +11 −1 |
| src/include/pg_config.h.in | modified | +6 −0 |
| src/include/port/win32.h | modified | +2 −1 |