From 49076237cc0b82e7007535e789f3fadc19a18c45 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Sun, 3 Nov 2024 10:12:28 -0800 Subject: Remove NNI_TYPE_OPAQUE altogether. This also fixes a couple of minor bugs -- changing the socket name could be incorrect as the termination was not applied properly, and the ZeroTier code got a change -- note that it is only possible in this revised version to pass a single moon ID for ZT orbit. The ZT code is a bit stale, and untested anyway. --- src/core/socket.c | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) (limited to 'src/core/socket.c') diff --git a/src/core/socket.c b/src/core/socket.c index b3fb96b2..c911fa40 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -210,11 +210,9 @@ static int sock_set_sockname(void *s, const void *buf, size_t sz, nni_type t) { int rv; - if (sz >= 64) { - return (NNG_EINVAL); - } - rv = (nni_copyin_str( - SOCK(s)->s_name, buf, sizeof(SOCK(s)->s_name), sz, t)); + NNI_ARG_UNUSED(sz); + rv = + (nni_copyin_str(SOCK(s)->s_name, buf, sizeof(SOCK(s)->s_name), t)); #ifdef NNG_ENABLE_STATS if (rv == 0) { nni_stat_set_string(&SOCK(s)->st_name, SOCK(s)->s_name); @@ -988,7 +986,8 @@ nni_sock_setopt( } } else if (strcmp(name, NNG_OPT_RECVMAXSZ) == 0) { - if ((rv = nni_copyin_size(NULL, v, sz, 0, NNI_MAXSZ, t)) != + size_t scratch; + if ((rv = nni_copyin_size(&scratch, v, sz, 0, NNI_MAXSZ, t)) != 0) { return (rv); } @@ -1080,17 +1079,9 @@ nni_sock_getopt( if (strcmp(sopt->name, name) == 0) { size_t sz = sopt->sz; - if ((sopt->typ != NNI_TYPE_OPAQUE) && - (t != sopt->typ)) { - - if (t != NNI_TYPE_OPAQUE) { - nni_mtx_unlock(&s->s_mx); - return (NNG_EBADTYPE); - } - if (*szp != sopt->sz) { - nni_mtx_unlock(&s->s_mx); - return (NNG_EINVAL); - } + if (t != sopt->typ) { + nni_mtx_unlock(&s->s_mx); + return (NNG_EBADTYPE); } if (szp != NULL) { -- cgit v1.2.3-70-g09d2