From 6a50035b242b972c1d9b659ba63e037a0a8afe71 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Fri, 29 Dec 2017 14:21:20 -0800 Subject: 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. --- src/core/options.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/core/options.c') 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 @@ -186,6 +186,19 @@ nni_getopt_size(size_t u, void *val, size_t *sizep) return (0); } +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) { -- cgit v1.2.3-70-g09d2