From 0058b766b91f08b34dcef3c7bb55b216099f3f66 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Sat, 9 Nov 2024 15:24:43 -0800 Subject: TLS configuration changed to use discret _set_tls and _get_tls functions. This is simpler, and more reliable than using socket options. --- src/nng.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) (limited to 'src/nng.c') diff --git a/src/nng.c b/src/nng.c index bc68a5d3..dc8be731 100644 --- a/src/nng.c +++ b/src/nng.c @@ -787,6 +787,34 @@ nng_dialer_get_addr(nng_dialer id, const char *n, nng_sockaddr *v) return (dialer_get(id, n, v, NULL, NNI_TYPE_SOCKADDR)); } +int +nng_dialer_get_tls(nng_dialer id, nng_tls_config **cfgp) +{ + int rv; + nni_dialer *d; + if (((rv = nni_init()) != 0) || + ((rv = nni_dialer_find(&d, id.id)) != 0)) { + return (rv); + } + rv = nni_dialer_get_tls(d, cfgp); + nni_dialer_rele(d); + return (rv); +} + +int +nng_dialer_set_tls(nng_dialer id, nng_tls_config *cfg) +{ + int rv; + nni_dialer *d; + if (((rv = nni_init()) != 0) || + ((rv = nni_dialer_find(&d, id.id)) != 0)) { + return (rv); + } + rv = nni_dialer_set_tls(d, cfg); + nni_dialer_rele(d); + return (rv); +} + static int listener_set( nng_listener lid, const char *name, const void *v, size_t sz, nni_type t) @@ -920,6 +948,33 @@ nng_listener_get_addr(nng_listener id, const char *n, nng_sockaddr *v) return (listener_get(id, n, v, NULL, NNI_TYPE_SOCKADDR)); } +int +nng_listener_get_tls(nng_listener id, nng_tls_config **cfgp) +{ + int rv; + nni_listener *l; + if (((rv = nni_init()) != 0) || + ((rv = nni_listener_find(&l, id.id)) != 0)) { + return (rv); + } + rv = nni_listener_get_tls(l, cfgp); + nni_listener_rele(l); + return (rv); +} + +int +nng_listener_set_tls(nng_listener id, nng_tls_config *cfg) +{ + int rv; + nni_listener *l; + if (((rv = nni_init()) != 0) || + ((rv = nni_listener_find(&l, id.id)) != 0)) { + return (rv); + } + rv = nni_listener_set_tls(l, cfg); + nni_listener_rele(l); + return (rv); +} int nng_dialer_close(nng_dialer did) { -- cgit v1.2.3-70-g09d2