From a4162f59305766dc8de62a2e7ca3c0b558d4c78d Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sat, 28 Mar 2009 01:36:11 +0000 Subject: [PATCH] Better document PQinitSSL(0) behavior in regards to libcrypto. --- doc/src/sgml/libpq.sgml | 12 +++++++----- src/interfaces/libpq/fe-secure.c | 2 ++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index 68f938b926..0a4e87fe8e 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -6169,11 +6169,13 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) - If you are using SSL inside your application (in addition - to inside libpq), you can call - PQinitSSL(int) with 0 to tell - libpq that the SSL library - has already been initialized by your application. + If your application initializes libssl or + libcrypto libraries and libpq + is built with SSL support, you should call + PQinitSSL(0) to tell libpq + that the libssl and libcrypto libraries + have been initialized by your application so + libpq will not initialize those libraries. See diff --git a/src/interfaces/libpq/fe-secure.c b/src/interfaces/libpq/fe-secure.c index 7c229c3efe..e2af1e12d5 100644 --- a/src/interfaces/libpq/fe-secure.c +++ b/src/interfaces/libpq/fe-secure.c @@ -870,6 +870,7 @@ init_ssl_system(PGconn *conn) if (ssl_open_connections++ == 0) { + /* This is actually libcrypto, not libssl. */ /* These are only required for threaded SSL applications */ CRYPTO_set_id_callback(pq_threadidcallback); CRYPTO_set_locking_callback(pq_lockingcallback); @@ -934,6 +935,7 @@ destroy_ssl_system(void) if (ssl_open_connections == 0) { + /* This is actually libcrypto, not libssl. */ /* No connections left, unregister all callbacks */ CRYPTO_set_locking_callback(NULL); CRYPTO_set_id_callback(NULL); -- 2.39.5