diff options
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/listener.c | 9 | ||||
| -rw-r--r-- | src/core/listener.h | 1 | ||||
| -rw-r--r-- | src/core/stream.c | 10 | ||||
| -rw-r--r-- | src/core/stream.h | 7 |
4 files changed, 25 insertions, 2 deletions
diff --git a/src/core/listener.c b/src/core/listener.c index 76d9848e..9107e3a4 100644 --- a/src/core/listener.c +++ b/src/core/listener.c @@ -532,6 +532,15 @@ nni_listener_set_tls(nni_listener *l, nng_tls_config *cfg) return (l->l_ops.l_set_tls(l->l_data, cfg)); } +int +nni_listener_set_security_descriptor(nni_listener *l, void *desc) +{ + if (l->l_ops.l_set_security_descriptor == NULL) { + return (NNG_ENOTSUP); + } + return (l->l_ops.l_set_security_descriptor(l->l_data, desc)); +} + nng_url * nni_listener_url(nni_listener *l) { diff --git a/src/core/listener.h b/src/core/listener.h index eec98f2e..5902d4bc 100644 --- a/src/core/listener.h +++ b/src/core/listener.h @@ -29,6 +29,7 @@ extern int nni_listener_getopt( nni_listener *, const char *, void *, size_t *, nni_type); extern int nni_listener_get_tls(nni_listener *, nng_tls_config **); extern int nni_listener_set_tls(nni_listener *, nng_tls_config *); +extern int nni_listener_set_security_descriptor(nni_listener *, void *); extern nng_url *nni_listener_url(nni_listener *); extern void nni_listener_add_stat(nni_listener *, nni_stat_item *); extern void nni_listener_bump_error(nni_listener *, int); diff --git a/src/core/stream.c b/src/core/stream.c index d900329a..e46eb59a 100644 --- a/src/core/stream.c +++ b/src/core/stream.c @@ -280,6 +280,16 @@ nni_stream_listener_set_tls(nng_stream_listener *l, nng_tls_config *cfg) } int +nng_stream_listener_set_security_descriptor( + nng_stream_listener *l, void *pdesc) +{ + if (l->sl_set_security_descriptor == NULL) { + return (NNG_ENOTSUP); + } + return (l->sl_set_security_descriptor(l, pdesc)); +} + +int nng_stream_listener_alloc_url(nng_stream_listener **lp, const nng_url *url) { for (int i = 0; stream_drivers[i].scheme != NULL; i++) { diff --git a/src/core/stream.h b/src/core/stream.h index 0fa79a47..9ea65834 100644 --- a/src/core/stream.h +++ b/src/core/stream.h @@ -32,8 +32,10 @@ extern int nni_stream_listener_get( nng_stream_listener *, const char *, void *, size_t *, nni_type); extern int nni_stream_listener_set( nng_stream_listener *, const char *, const void *, size_t, nni_type); -extern int nni_stream_listener_set_tls(nng_stream_listener *, nng_tls_config *); -extern int nni_stream_listener_get_tls(nng_stream_listener *, nng_tls_config **); +extern int nni_stream_listener_set_tls( + nng_stream_listener *, nng_tls_config *); +extern int nni_stream_listener_get_tls( + nng_stream_listener *, nng_tls_config **); // This is the common implementation of a connected byte stream. It should be // the first element of any implementation. Applications are not permitted to @@ -69,6 +71,7 @@ struct nng_stream_listener { int (*sl_set)(void *, const char *, const void *, size_t, nni_type); int (*sl_get_tls)(void *, nng_tls_config **); int (*sl_set_tls)(void *, nng_tls_config *); + int (*sl_set_security_descriptor)(void *, void *); }; #endif // CORE_STREAM_H |
