@@ -9865,16 +9865,22 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)
9865
9865
<title>SSL Library Initialization</title>
9866
9866
9867
9867
<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
9871
9873
<xref linkend="libpq-PQinitOpenSSL"/> to tell <application>libpq</application>
9872
9874
that the <literal>libssl</literal> and/or <literal>libcrypto</literal> libraries
9873
9875
have been initialized by your application, so that
9874
9876
<application>libpq</application> will not also initialize those libraries.
9875
9877
However, this is unnecessary when using <productname>OpenSSL</productname>
9876
9878
version 1.1.0 or later, as duplicate initializations are no longer problematic.
9877
9879
</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>
9878
9884
9879
9885
<para>
9880
9886
<variablelist>
@@ -9890,21 +9896,8 @@ void PQinitOpenSSL(int do_ssl, int do_crypto);
9890
9896
</para>
9891
9897
9892
9898
<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.
9908
9901
</para>
9909
9902
</listitem>
9910
9903
</varlistentry>
@@ -9921,11 +9914,14 @@ void PQinitSSL(int do_ssl);
9921
9914
<para>
9922
9915
This function is equivalent to
9923
9916
<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 .
9926
9919
</para>
9927
9920
9928
9921
<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.
9929
9925
<xref linkend="libpq-PQinitSSL"/> has been present since
9930
9926
<productname>PostgreSQL</productname> 8.0, while <xref linkend="libpq-PQinitOpenSSL"/>
9931
9927
was added in <productname>PostgreSQL</productname> 8.4, so <xref linkend="libpq-PQinitSSL"/>
0 commit comments