@@ -9865,16 +9865,22 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)
98659865 <title>SSL Library Initialization</title>
98669866
98679867 <para>
9868- If your application initializes <literal>libssl</literal> and/or
9869- <literal>libcrypto</literal> libraries and <application>libpq</application>
9870- is built with <acronym>SSL</acronym> support, you should call
9868+ Applications which need to be compatible with older versions of
9869+ <productname>PostgreSQL</productname>, using <productname>OpenSSL</productname>
9870+ version 1.0.2 or older, need to initialize the SSL library before using it.
9871+ Applications which initialize <literal>libssl</literal> and/or
9872+ <literal>libcrypto</literal> libraries should call
98719873 <xref linkend="libpq-PQinitOpenSSL"/> to tell <application>libpq</application>
98729874 that the <literal>libssl</literal> and/or <literal>libcrypto</literal> libraries
98739875 have been initialized by your application, so that
98749876 <application>libpq</application> will not also initialize those libraries.
98759877 However, this is unnecessary when using <productname>OpenSSL</productname>
98769878 version 1.1.0 or later, as duplicate initializations are no longer problematic.
98779879 </para>
9880+ <para>
9881+ Refer to the documentation for the version of <productname>PostgreSQL</productname>
9882+ that you are targeting for details on their use.
9883+ </para>
98789884
98799885 <para>
98809886 <variablelist>
@@ -9890,21 +9896,8 @@ void PQinitOpenSSL(int do_ssl, int do_crypto);
98909896 </para>
98919897
98929898 <para>
9893- When <parameter>do_ssl</parameter> is non-zero, <application>libpq</application>
9894- will initialize the <productname>OpenSSL</productname> library before first
9895- opening a database connection. When <parameter>do_crypto</parameter> is
9896- non-zero, the <literal>libcrypto</literal> library will be initialized. By
9897- default (if <xref linkend="libpq-PQinitOpenSSL"/> is not called), both libraries
9898- are initialized. When SSL support is not compiled in, this function is
9899- present but does nothing.
9900- </para>
9901-
9902- <para>
9903- If your application uses and initializes either <productname>OpenSSL</productname>
9904- or its underlying <literal>libcrypto</literal> library, you <emphasis>must</emphasis>
9905- call this function with zeroes for the appropriate parameter(s)
9906- before first opening a database connection. Also be sure that you
9907- have done that initialization before opening a database connection.
9899+ This function is deprecated and only present for backwards compatibility,
9900+ it does nothing.
99089901 </para>
99099902 </listitem>
99109903 </varlistentry>
@@ -9921,11 +9914,14 @@ void PQinitSSL(int do_ssl);
99219914 <para>
99229915 This function is equivalent to
99239916 <literal>PQinitOpenSSL(do_ssl, do_ssl)</literal>.
9924- It is sufficient for applications that initialize both or neither
9925- of <productname>OpenSSL</productname> and <literal>libcrypto</literal> .
9917+ This function is deprecated and only present for backwards compatibility,
9918+ it does nothing .
99269919 </para>
99279920
99289921 <para>
9922+ <xref linkend="libpq-PQinitSSL"/> and <xref linkend="libpq-PQinitOpenSSL"/>
9923+ are maintained for backwards compatibility, but are no longer required
9924+ since <productname>PostgreSQL</productname> 18.
99299925 <xref linkend="libpq-PQinitSSL"/> has been present since
99309926 <productname>PostgreSQL</productname> 8.0, while <xref linkend="libpq-PQinitOpenSSL"/>
99319927 was added in <productname>PostgreSQL</productname> 8.4, so <xref linkend="libpq-PQinitSSL"/>
0 commit comments