aboutsummaryrefslogtreecommitdiff
path: root/src/sp/transport/ws
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-11-09 15:24:43 -0800
committerGarrett D'Amore <garrett@damore.org>2024-11-09 16:27:45 -0800
commit0058b766b91f08b34dcef3c7bb55b216099f3f66 (patch)
tree5ac1fa105d707018cdfa9f5244da5837a8c31601 /src/sp/transport/ws
parent150d80c2c62ce3693dbbd0256c16337879c7d825 (diff)
downloadnng-0058b766b91f08b34dcef3c7bb55b216099f3f66.tar.gz
nng-0058b766b91f08b34dcef3c7bb55b216099f3f66.tar.bz2
nng-0058b766b91f08b34dcef3c7bb55b216099f3f66.zip
TLS configuration changed to use discret _set_tls and _get_tls functions.
This is simpler, and more reliable than using socket options.
Diffstat (limited to 'src/sp/transport/ws')
-rw-r--r--src/sp/transport/ws/websocket.c46
1 files changed, 39 insertions, 7 deletions
diff --git a/src/sp/transport/ws/websocket.c b/src/sp/transport/ws/websocket.c
index c749e789..3bfd9f31 100644
--- a/src/sp/transport/ws/websocket.c
+++ b/src/sp/transport/ws/websocket.c
@@ -597,6 +597,20 @@ wstran_dialer_setopt(
}
static int
+wstran_dialer_get_tls(void *arg, nng_tls_config **tls)
+{
+ ws_dialer *d = arg;
+ return (nni_stream_dialer_get_tls(d->dialer, tls));
+}
+
+static int
+wstran_dialer_set_tls(void *arg, nng_tls_config *tls)
+{
+ ws_dialer *d = arg;
+ return (nni_stream_dialer_set_tls(d->dialer, tls));
+}
+
+static int
wstran_listener_get(
void *arg, const char *name, void *buf, size_t *szp, nni_type t)
{
@@ -624,6 +638,20 @@ wstran_listener_set(
return (rv);
}
+static int
+wstran_listener_get_tls(void *arg, nng_tls_config **tls)
+{
+ ws_listener *l = arg;
+ return (nni_stream_listener_get_tls(l->listener, tls));
+}
+
+static int
+wstran_listener_set_tls(void *arg, nng_tls_config *tls)
+{
+ ws_listener *l = arg;
+ return (nni_stream_listener_set_tls(l->listener, tls));
+}
+
static nni_sp_dialer_ops ws_dialer_ops = {
.d_init = wstran_dialer_init,
.d_fini = wstran_dialer_fini,
@@ -631,16 +659,20 @@ static nni_sp_dialer_ops ws_dialer_ops = {
.d_close = wstran_dialer_close,
.d_setopt = wstran_dialer_setopt,
.d_getopt = wstran_dialer_getopt,
+ .d_get_tls = wstran_dialer_get_tls,
+ .d_set_tls = wstran_dialer_set_tls,
};
static nni_sp_listener_ops ws_listener_ops = {
- .l_init = wstran_listener_init,
- .l_fini = wstran_listener_fini,
- .l_bind = ws_listener_bind,
- .l_accept = wstran_listener_accept,
- .l_close = wstran_listener_close,
- .l_setopt = wstran_listener_set,
- .l_getopt = wstran_listener_get,
+ .l_init = wstran_listener_init,
+ .l_fini = wstran_listener_fini,
+ .l_bind = ws_listener_bind,
+ .l_accept = wstran_listener_accept,
+ .l_close = wstran_listener_close,
+ .l_setopt = wstran_listener_set,
+ .l_getopt = wstran_listener_get,
+ .l_get_tls = wstran_listener_get_tls,
+ .l_set_tls = wstran_listener_set_tls,
};
static nni_sp_tran ws_tran = {