aboutsummaryrefslogtreecommitdiff
path: root/src/core/options.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2017-12-29 14:21:20 -0800
committerGarrett D'Amore <garrett@damore.org>2017-12-30 19:05:41 -0800
commit6a50035b242b972c1d9b659ba63e037a0a8afe71 (patch)
treefe2600235a01e72d1e7bd5fad1d5e2ea62aada2e /src/core/options.c
parenta0364185784895c4bc748a6e6453a132d618c96c (diff)
downloadnng-6a50035b242b972c1d9b659ba63e037a0a8afe71.tar.gz
nng-6a50035b242b972c1d9b659ba63e037a0a8afe71.tar.bz2
nng-6a50035b242b972c1d9b659ba63e037a0a8afe71.zip
fixes #166 Websocket TLS mapping
This introduces the wss:// scheme, which is available and works like the ws:// scheme if TLS is enabled in the library. The library modularization is refactored somewhat, to make it easier to use. There is now a single NNG_ENABLE_TLS that enables TLS support under the hood. This also adds a new option for the TLS transport, NNG_OPT_TLS_CONFIG (and a similar one for WSS, NNG_OPT_TLS_WSS_CONFIG) that offer access to the underlying TLS configuration object, which now has a public API to go with it as well. Note that it is also possible to use pure HTTPS using the *private* API, which will be exposed in a public form soon.
Diffstat (limited to 'src/core/options.c')
-rw-r--r--src/core/options.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/core/options.c b/src/core/options.c
index 1417d0b3..ef7420d6 100644
--- a/src/core/options.c
+++ b/src/core/options.c
@@ -187,6 +187,19 @@ nni_getopt_size(size_t u, void *val, size_t *sizep)
}
int
+nni_getopt_ptr(void *ptr, void *val, size_t *sizep)
+{
+ size_t sz = sizeof(ptr);
+
+ if (sz > *sizep) {
+ sz = *sizep;
+ }
+ *sizep = sizeof(ptr);
+ memcpy(val, &ptr, sz);
+ return (0);
+}
+
+int
nni_setopt_buf(nni_msgq *mq, const void *val, size_t sz)
{
int len;