aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/listener.c9
-rw-r--r--src/core/listener.h1
-rw-r--r--src/core/stream.c10
-rw-r--r--src/core/stream.h7
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