aboutsummaryrefslogtreecommitdiff
path: root/src/core/stream.c
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/core/stream.c
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/core/stream.c')
-rw-r--r--src/core/stream.c60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/core/stream.c b/src/core/stream.c
index 4ac27705..78029ddc 100644
--- a/src/core/stream.c
+++ b/src/core/stream.c
@@ -214,6 +214,24 @@ nni_stream_dialer_set(nng_stream_dialer *d, const char *nm, const void *data,
return (d->sd_set(d, nm, data, sz, t));
}
+int
+nni_stream_dialer_get_tls(nng_stream_dialer *d, nng_tls_config **cfgp)
+{
+ if (d->sd_get_tls == NULL) {
+ return (NNG_ENOTSUP);
+ }
+ return (d->sd_get_tls(d, cfgp));
+}
+
+int
+nni_stream_dialer_set_tls(nng_stream_dialer *d, nng_tls_config *cfg)
+{
+ if (d->sd_set_tls == NULL) {
+ return (NNG_ENOTSUP);
+ }
+ return (d->sd_set_tls(d, cfg));
+}
+
void
nng_stream_listener_close(nng_stream_listener *l)
{
@@ -253,6 +271,24 @@ nni_stream_listener_set(nng_stream_listener *l, const char *nm,
}
int
+nni_stream_listener_get_tls(nng_stream_listener *l, nng_tls_config **cfgp)
+{
+ if (l->sl_get_tls == NULL) {
+ return (NNG_ENOTSUP);
+ }
+ return (l->sl_get_tls(l, cfgp));
+}
+
+int
+nni_stream_listener_set_tls(nng_stream_listener *l, nng_tls_config *cfg)
+{
+ if (l->sl_set_tls == NULL) {
+ return (NNG_ENOTSUP);
+ }
+ return (l->sl_set_tls(l, cfg));
+}
+
+int
nng_stream_listener_alloc_url(nng_stream_listener **lp, const nng_url *url)
{
int rv;
@@ -387,6 +423,12 @@ nng_stream_dialer_get_addr(
}
int
+nng_stream_dialer_get_tls(nng_stream_dialer *d, nng_tls_config **cfgp)
+{
+ return (nni_stream_dialer_get_tls(d, cfgp));
+}
+
+int
nng_stream_listener_get_int(nng_stream_listener *l, const char *n, int *v)
{
return (nni_stream_listener_get(l, n, v, NULL, NNI_TYPE_INT32));
@@ -438,6 +480,12 @@ nng_stream_listener_get_addr(
}
int
+nng_stream_listener_get_tls(nng_stream_listener *l, nng_tls_config **cfgp)
+{
+ return (nni_stream_listener_get_tls(l, cfgp));
+}
+
+int
nng_stream_dialer_set_int(nng_stream_dialer *d, const char *n, int v)
{
return (nni_stream_dialer_set(d, n, &v, sizeof(v), NNI_TYPE_INT32));
@@ -489,6 +537,12 @@ nng_stream_dialer_set_addr(
}
int
+nng_stream_dialer_set_tls(nng_stream_dialer *d, nng_tls_config *cfg)
+{
+ return (nni_stream_dialer_set_tls(d, cfg));
+}
+
+int
nng_stream_listener_set_int(nng_stream_listener *l, const char *n, int v)
{
return (nni_stream_listener_set(l, n, &v, sizeof(v), NNI_TYPE_INT32));
@@ -543,3 +597,9 @@ nng_stream_listener_set_addr(
return (
nni_stream_listener_set(l, n, v, sizeof(*v), NNI_TYPE_SOCKADDR));
}
+
+int
+nng_stream_listener_set_tls(nng_stream_listener *l, nng_tls_config *cfg)
+{
+ return (nni_stream_listener_set_tls(l, cfg));
+}