aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2015-11-07 16:13:49 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2015-11-07 16:13:49 -0500
commitab994cc00ec3e3700b2e62de9777d410fbb6ae84 (patch)
treef5acafb2ba95106982ee1984f486eddff68efd62
parent44fc25153681f0d3814275926f3c626a3f283cc2 (diff)
downloadpostgresql-ab994cc00ec3e3700b2e62de9777d410fbb6ae84.tar.gz
postgresql-ab994cc00ec3e3700b2e62de9777d410fbb6ae84.zip
Rename PQsslAttributes() to PQsslAttributeNames(), and const-ify fully.
Per discussion, the original name was a bit misleading, and PQsslAttributeNames() seems more apropos. It's not quite too late to change this in 9.5, so let's change it while we can. Also, make sure that the pointer array is const, not only the pointed-to strings. Minor documentation wordsmithing while at it. Lars Kanis, slight adjustments by me
-rw-r--r--doc/src/sgml/libpq.sgml14
-rw-r--r--doc/src/sgml/release-9.5.sgml28
-rw-r--r--src/interfaces/libpq/exports.txt2
-rw-r--r--src/interfaces/libpq/fe-secure-openssl.c6
-rw-r--r--src/interfaces/libpq/fe-secure.c6
-rw-r--r--src/interfaces/libpq/libpq-fe.h2
6 files changed, 31 insertions, 27 deletions
diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml
index 235a168815b..79047b37611 100644
--- a/doc/src/sgml/libpq.sgml
+++ b/doc/src/sgml/libpq.sgml
@@ -1873,7 +1873,7 @@ int PQsslInUse(const PGconn *conn);
</listitem>
</varlistentry>
- <varlistentry id="libpq-pqsslAttribute">
+ <varlistentry id="libpq-pqsslattribute">
<term><function>PQsslAttribute</function><indexterm><primary>PQsslAttribute</></></term>
<listitem>
<para>
@@ -1947,13 +1947,13 @@ const char *PQsslAttribute(const PGconn *conn, const char *attribute_name);
</listitem>
</varlistentry>
- <varlistentry id="libpq-pqsslattributes">
- <term><function>PQsslAttributes</function><indexterm><primary>PQsslAttributes</></></term>
+ <varlistentry id="libpq-pqsslattributenames">
+ <term><function>PQsslAttributeNames</function><indexterm><primary>PQsslAttributeNames</></></term>
<listitem>
<para>
Return an array of SSL attribute names available. The array is terminated by a NULL pointer.
<synopsis>
-const char **PQsslAttributes(const PGconn *conn);
+const char * const * PQsslAttributeNames(const PGconn *conn);
</synopsis>
</para>
</listitem>
@@ -1963,15 +1963,15 @@ const char **PQsslAttributes(const PGconn *conn);
<term><function>PQsslStruct</function><indexterm><primary>PQsslStruct</></></term>
<listitem>
<para>
- Return a pointer to an SSL-implementation specific object describing
+ Return a pointer to an SSL-implementation-specific object describing
the connection.
<synopsis>
void *PQsslStruct(const PGconn *conn, const char *struct_name);
</synopsis>
</para>
<para>
- The structs available depends on the SSL implementation in use.
- For OpenSSL, there is one struct, under the name "OpenSSL",
+ The struct(s) available depend on the SSL implementation in use.
+ For OpenSSL, there is one struct, available under the name "OpenSSL",
and it returns a pointer to the OpenSSL <literal>SSL</literal> struct.
To use this function, code along the following lines could be used:
<programlisting><![CDATA[
diff --git a/doc/src/sgml/release-9.5.sgml b/doc/src/sgml/release-9.5.sgml
index 9055387832a..771ad0ca6fa 100644
--- a/doc/src/sgml/release-9.5.sgml
+++ b/doc/src/sgml/release-9.5.sgml
@@ -608,18 +608,22 @@ FIXME: Add Andres
2015-02-03 [91fa7b4] Heikki..: Add API functions to libpq to interrogate SSL ..
-->
<para>
- Add <application>libpq</> function <link
- linkend="libpq-pqsslAttribute"><function>PQsslAttribute()</></>
- that returns <acronym>SSL</> information (Heikki Linnakangas)
- </para>
-
- <para>
- While <link linkend="libpq-pqgetssl"><function>PQgetssl()</></>
- can still be used to call <productname>OpenSSL</>
- functions, <function>PQsslAttribute()</> returns <acronym>SSL</>
- information in an <acronym>SSL</>-implementation-independent way.
- (Future versions of libpq might support other <acronym>SSL</>
- implementations.)
+ Add <application>libpq</> functions to return <acronym>SSL</>
+ information in an implementation-independent way (Heikki Linnakangas)
+ </para>
+
+ <para>
+ While <link linkend="libpq-pqgetssl"><function>PQgetssl()</></> can
+ still be used to call <productname>OpenSSL</> functions, it is now
+ considered deprecated because future versions
+ of <application>libpq</> might support other <acronym>SSL</>
+ implementations. When possible, use the new
+ functions <link
+ linkend="libpq-pqsslattribute"><function>PQsslAttribute()</></>, <link
+ linkend="libpq-pqsslattributenames"><function>PQsslAttributeNames()</></>,
+ and <link linkend="libpq-pqsslinuse"><function>PQsslInUse()</></>
+ to obtain <acronym>SSL</> information in
+ an <acronym>SSL</>-implementation-independent way.
</para>
</listitem>
diff --git a/src/interfaces/libpq/exports.txt b/src/interfaces/libpq/exports.txt
index 4a21bf1d2cf..33f80e63e5b 100644
--- a/src/interfaces/libpq/exports.txt
+++ b/src/interfaces/libpq/exports.txt
@@ -167,5 +167,5 @@ lo_truncate64 164
PQconninfo 165
PQsslInUse 166
PQsslStruct 167
-PQsslAttributes 168
+PQsslAttributeNames 168
PQsslAttribute 169
diff --git a/src/interfaces/libpq/fe-secure-openssl.c b/src/interfaces/libpq/fe-secure-openssl.c
index 4b2a324634b..45ad7321bbe 100644
--- a/src/interfaces/libpq/fe-secure-openssl.c
+++ b/src/interfaces/libpq/fe-secure-openssl.c
@@ -1532,10 +1532,10 @@ PQsslStruct(PGconn *conn, const char *struct_name)
return NULL;
}
-const char **
-PQsslAttributes(PGconn *conn)
+const char *const *
+PQsslAttributeNames(PGconn *conn)
{
- static const char *result[] = {
+ static const char *const result[] = {
"library",
"key_bits",
"cipher",
diff --git a/src/interfaces/libpq/fe-secure.c b/src/interfaces/libpq/fe-secure.c
index db91e52ee90..aa5af7340fe 100644
--- a/src/interfaces/libpq/fe-secure.c
+++ b/src/interfaces/libpq/fe-secure.c
@@ -408,10 +408,10 @@ PQsslAttribute(PGconn *conn, const char *attribute_name)
return NULL;
}
-const char **
-PQsslAttributes(PGconn *conn)
+const char *const *
+PQsslAttributeNames(PGconn *conn)
{
- static const char *result[] = {NULL};
+ static const char *const result[] = {NULL};
return result;
}
diff --git a/src/interfaces/libpq/libpq-fe.h b/src/interfaces/libpq/libpq-fe.h
index a73eae2087a..bcd14ac1326 100644
--- a/src/interfaces/libpq/libpq-fe.h
+++ b/src/interfaces/libpq/libpq-fe.h
@@ -322,7 +322,7 @@ extern int PQsetClientEncoding(PGconn *conn, const char *encoding);
extern int PQsslInUse(PGconn *conn);
extern void *PQsslStruct(PGconn *conn, const char *struct_name);
extern const char *PQsslAttribute(PGconn *conn, const char *attribute_name);
-extern const char **PQsslAttributes(PGconn *conn);
+extern const char *const * PQsslAttributeNames(PGconn *conn);
/* Get the OpenSSL structure associated with a connection. Returns NULL for
* unencrypted connections or if any other TLS library is in use. */