Commit 3ab95c2a authored by Bruce Momjian's avatar Bruce Momjian

Better document PQinitSSL(0) behavior in regards to libcrypto.

parent 2938f8c4
<!-- $PostgreSQL: pgsql/doc/src/sgml/libpq.sgml,v 1.279 2009/03/23 01:45:29 momjian Exp $ --> <!-- $PostgreSQL: pgsql/doc/src/sgml/libpq.sgml,v 1.280 2009/03/28 01:36:11 momjian Exp $ -->
<chapter id="libpq"> <chapter id="libpq">
<title><application>libpq</application> - C Library</title> <title><application>libpq</application> - C Library</title>
...@@ -6169,11 +6169,13 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) ...@@ -6169,11 +6169,13 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough)
</para> </para>
<para> <para>
If you are using <acronym>SSL</> inside your application (in addition If your application initializes <literal>libssl</> or
to inside <application>libpq</application>), you can call <literal>libcrypto</> libraries and <application>libpq</application>
<function>PQinitSSL(int)</> with <literal>0</> to tell is built with <acronym>SSL</> support, you should call
<application>libpq</application> that the <acronym>SSL</> library <function>PQinitSSL(0)</> to tell <application>libpq</application>
has already been initialized by your application. that the <literal>libssl</> and <literal>libcrypto</> libraries
have been initialized by your application so
<application>libpq</application> will not initialize those libraries.
<!-- If this URL changes replace it with a URL to www.archive.org. --> <!-- If this URL changes replace it with a URL to www.archive.org. -->
See <ulink See <ulink
url="http://h71000.www7.hp.com/doc/83final/BA554_90007/ch04.html"></ulink> url="http://h71000.www7.hp.com/doc/83final/BA554_90007/ch04.html"></ulink>
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/interfaces/libpq/fe-secure.c,v 1.119 2009/01/28 15:06:47 mha Exp $ * $PostgreSQL: pgsql/src/interfaces/libpq/fe-secure.c,v 1.120 2009/03/28 01:36:11 momjian Exp $
* *
* NOTES * NOTES
* *
...@@ -870,6 +870,7 @@ init_ssl_system(PGconn *conn) ...@@ -870,6 +870,7 @@ init_ssl_system(PGconn *conn)
if (ssl_open_connections++ == 0) if (ssl_open_connections++ == 0)
{ {
/* This is actually libcrypto, not libssl. */
/* These are only required for threaded SSL applications */ /* These are only required for threaded SSL applications */
CRYPTO_set_id_callback(pq_threadidcallback); CRYPTO_set_id_callback(pq_threadidcallback);
CRYPTO_set_locking_callback(pq_lockingcallback); CRYPTO_set_locking_callback(pq_lockingcallback);
...@@ -934,6 +935,7 @@ destroy_ssl_system(void) ...@@ -934,6 +935,7 @@ destroy_ssl_system(void)
if (ssl_open_connections == 0) if (ssl_open_connections == 0)
{ {
/* This is actually libcrypto, not libssl. */
/* No connections left, unregister all callbacks */ /* No connections left, unregister all callbacks */
CRYPTO_set_locking_callback(NULL); CRYPTO_set_locking_callback(NULL);
CRYPTO_set_id_callback(NULL); CRYPTO_set_id_callback(NULL);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment