From 7e83c78ad2c98a7c32a1b9557deaa13723e75b02 Mon Sep 17 00:00:00 2001
From: Garrett D'Amore <garrett@damore.org>
Date: Mon, 1 Jan 2018 18:11:17 -0800
Subject: Add TLS configuration manipulation documentation.

While here, also fixup the markup on many of the pages, to
use commas in SEE ALSO, avoid adding the .adoc extension to
cross-references, and correct the link to the MIT license text.
---
 docs/nng_tls_config_auth_mode.adoc | 89 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 89 insertions(+)
 create mode 100644 docs/nng_tls_config_auth_mode.adoc

(limited to 'docs/nng_tls_config_auth_mode.adoc')

diff --git a/docs/nng_tls_config_auth_mode.adoc b/docs/nng_tls_config_auth_mode.adoc
new file mode 100644
index 00000000..fc4f9cfd
--- /dev/null
+++ b/docs/nng_tls_config_auth_mode.adoc
@@ -0,0 +1,89 @@
+nng_tls_config_auth_mode(3)
+===========================
+:doctype: manpage
+:manmanual: nng
+:mansource: nng
+:manvolnum: 3
+:icons: font
+:source-highlighter: pygments
+:copyright: Copyright 2018 Staysail Systems, Inc. <info@staysail.tech> \
+            Copyright 2018 Capitar IT Group BV <info@capitar.com> \
+            This software is supplied under the terms of the MIT License, a \
+            copy of which should be located in the distribution where this \
+            file was obtained (LICENSE.txt).  A copy of the license may also \
+            be found online at https://opensource.org/licenses/MIT.
+
+NAME
+----
+nng_tls_config_auth_mode - configure authentication mode
+
+SYNOPSIS
+--------
+
+[source, c]
+-----------
+#include <nng/nng.h>
+
+typedef enum nng_tls_auth_mode {
+        NNG_TLS_AUTH_MODE_NONE,
+        NNG_TLS_AUTH_MODE_OPTIONAL,
+        NNG_TLS_AUTH_MODE_REQUIRED
+} nng_tls_auth_mode;
+
+int nng_tls_config_auth_mode(nni_tls_config *cfg, nng_tls_auth_mode mode);
+-----------
+
+DESCRIPTION
+-----------
+
+The `nng_tls_config_auth_mode()` function configures the authentication mode
+to be used for TLS sessions using this configuration object.
+
+The possible modes are:
+
+`NNG_TLS_AUTH_MODE_NONE`::
+No authentication of the TLS peer is performed.  This is the default for
+TLS servers, which most typically do not authenticate their clients.
+
+`NNG_TLS_AUTH_MODE_OPTIONAL`::
+If a certificate is presented by the peer, then it is validated.  However,
+if the peer does not present a valid certificate, then the sesssion is allowed
+to proceed without authentication.
+
+`NNG_TLS_AUTH_MODE_REQUIRED`::
+A check is made to ensure that the peer has presented a valid certificate
+used for the session.  If the peer's certificate is invalid or missing, then
+the session is refused.  This is the default for clients.
+
+RETURN VALUES
+-------------
+
+This function returns 0 on success, and non-zero otherwise.
+
+ERRORS
+------
+
+`NNG_ENOMEM`:: Insufficient memory is available.
+`NNG_EINVAL`:: An invalid 'mode' was specified.
+`NNG_EBUSY`:: The configuration 'cfg' is already in use, and cannot be modified.
+
+
+SEE ALSO
+--------
+
+<<nng_strerror#,nng_strerror(3)>>,
+<<nng_tls_config_alloc#,nng_tls_config_alloc(3)>>,
+<<nng_tls_config_ca_cert#,nng_tls_config_ca_cert(3)>>,
+<<nng_tls_config_crl#,nng_tls_config_crl(3)>>,
+<<nng_tls_config_server_name#,nng_tls_config_server_name(3)>>,
+<<nng#,nng(7)>>
+
+
+COPYRIGHT
+---------
+
+Copyright 2018 mailto:info@staysail.tech[Staysail Systems, Inc.] +
+Copyright 2018 mailto:info@capitar.com[Capitar IT Group BV]
+
+This document is supplied under the terms of the
+https://opensource.org/licenses/MIT[MIT License].
-- 
cgit v1.2.3-70-g09d2

