summaryrefslogtreecommitdiff
path: root/src/backend/port
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2004-10-06 09:35:23 +0000
committerBruce Momjian <bruce@momjian.us>2004-10-06 09:35:23 +0000
commit902ca3e2255411d709a1ffa28dea9eda92425f77 (patch)
treed802e6b82f526711585211694850cfa38eaa0297 /src/backend/port
parent5431393274dd9349490d56d9594782365ca8ddfc (diff)
downloadpostgresql-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 'src/backend/port')
-rw-r--r--src/backend/port/win32/socket.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/port/win32/socket.c b/src/backend/port/win32/socket.c
index 9be5a7ae13..de8376201f 100644
--- a/src/backend/port/win32/socket.c
+++ b/src/backend/port/win32/socket.c
@@ -6,7 +6,7 @@
* Portions Copyright (c) 1996-2004, PostgreSQL Global Development Group
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/port/win32/socket.c,v 1.6 2004/09/07 14:31:42 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/port/win32/socket.c,v 1.7 2004/10/06 09:35:20 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -102,7 +102,7 @@ pgwin32_poll_signals(void)
return 0;
}
-static int
+int
pgwin32_waitforsinglesocket(SOCKET s, int what)
{
static HANDLE waitevent = INVALID_HANDLE_VALUE;