aboutsummaryrefslogtreecommitdiff
path: root/src/sp/transport/tls
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2025-10-26 10:54:58 -0700
committerGarrett D'Amore <garrett@damore.org>2025-10-27 07:13:40 -0700
commitbe13c2e8845423cec17af429fc4e16a5d9749e47 (patch)
tree82614e403a41aac6581a9a223ef9eba5be557222 /src/sp/transport/tls
parent11c53f3d7f747d14fd69ce98c63d629bc821ef68 (diff)
downloadnng-be13c2e8845423cec17af429fc4e16a5d9749e47.tar.gz
nng-be13c2e8845423cec17af429fc4e16a5d9749e47.tar.bz2
nng-be13c2e8845423cec17af429fc4e16a5d9749e47.zip
Replace nng_pipe_get_addr, nng_stream_get_addr, and the NNG_OPT_REMADDR option.
More direct access methods are provided instead. This results in much lower friction when using, and is a step on the path to removing NNG_OPT_LOCADDR as well. We need to figure a solution for NNG_OPT_LOCADDR for dialers; for listeners there is little use in it either, and it will be removed. (Dialers will probably get a new NNG_OPT_BIND_IP option.)
Diffstat (limited to 'src/sp/transport/tls')
-rw-r--r--src/sp/transport/tls/tls.c14
-rw-r--r--src/sp/transport/tls/tls_tran_test.c20
2 files changed, 5 insertions, 29 deletions
diff --git a/src/sp/transport/tls/tls.c b/src/sp/transport/tls/tls.c
index 5086a942..a4e35b36 100644
--- a/src/sp/transport/tls/tls.c
+++ b/src/sp/transport/tls/tls.c
@@ -13,6 +13,7 @@
#include <string.h>
#include "../../../core/nng_impl.h"
+#include "nng/nng.h"
// TLS over TCP transport. Platform specific TCP operations must be
// supplied as well, and uses the supplemental TLS v1.2 code. It is not
@@ -343,20 +344,15 @@ tlstran_pipe_recv_cb(void *arg)
// Make sure the message payload is not too big. If it is
// the caller will shut down the pipe.
if ((len > p->rcvmax) && (p->rcvmax > 0)) {
- nng_sockaddr_storage ss;
- nng_sockaddr *sa = (nng_sockaddr *) &ss;
- char peername[64] = "unknown";
- if ((rv = nng_stream_get_addr(
- p->tls, NNG_OPT_REMADDR, sa)) == 0) {
- (void) nng_str_sockaddr(
- sa, peername, sizeof(peername));
- }
+ char peer[NNG_MAXADDRSTRLEN];
+
nng_log_warn("NNG-RCVMAX",
"Oversize message of %lu bytes (> %lu) "
"on socket<%u> pipe<%u> from TLS %s",
(unsigned long) len, (unsigned long) p->rcvmax,
nni_pipe_sock_id(p->npipe), nni_pipe_id(p->npipe),
- peername);
+ nng_str_sockaddr(nng_stream_peer_addr(p->tls),
+ peer, sizeof(peer)));
rv = NNG_EMSGSIZE;
goto recv_error;
}
diff --git a/src/sp/transport/tls/tls_tran_test.c b/src/sp/transport/tls/tls_tran_test.c
index e32d4b09..2db0979f 100644
--- a/src/sp/transport/tls/tls_tran_test.c
+++ b/src/sp/transport/tls/tls_tran_test.c
@@ -75,7 +75,6 @@ test_tls_port_zero_bind(void)
nng_socket s1;
nng_socket s2;
nng_tls_config *c1, *c2;
- nng_sockaddr sa;
nng_listener l;
nng_dialer d;
const nng_url *url;
@@ -90,10 +89,6 @@ test_tls_port_zero_bind(void)
NUTS_PASS(nng_listener_start(l, 0));
NUTS_PASS(nng_listener_get_url(l, &url));
NUTS_MATCH(nng_url_scheme(url), "tls+tcp");
- NUTS_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa));
- NUTS_TRUE(sa.s_in.sa_family == NNG_AF_INET);
- NUTS_TRUE(sa.s_in.sa_port != 0);
- NUTS_TRUE(sa.s_in.sa_addr = nuts_be32(0x7f000001));
NUTS_PASS(nng_dialer_create_url(&d, s2, url));
NUTS_PASS(nng_dialer_set_tls(d, c2));
NUTS_PASS(nng_dialer_start(d, 0));
@@ -109,7 +104,6 @@ test_tls_bad_cert_mutual(void)
nng_socket s1;
nng_socket s2;
nng_tls_config *c1, *c2;
- nng_sockaddr sa;
nng_listener l;
nng_dialer d;
const nng_url *url;
@@ -128,10 +122,6 @@ test_tls_bad_cert_mutual(void)
NUTS_PASS(nng_listener_start(l, 0));
NUTS_PASS(nng_listener_get_url(l, &url));
NUTS_MATCH(nng_url_scheme(url), "tls+tcp");
- NUTS_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa));
- NUTS_TRUE(sa.s_in.sa_family == NNG_AF_INET);
- NUTS_TRUE(sa.s_in.sa_port != 0);
- NUTS_TRUE(sa.s_in.sa_addr = nuts_be32(0x7f000001));
NUTS_PASS(nng_dialer_create_url(&d, s2, url));
NUTS_PASS(nng_dialer_set_tls(d, c2));
#ifdef NNG_TLS_ENGINE_MBEDTLS
@@ -153,7 +143,6 @@ test_tls_cert_mutual(void)
nng_socket s1;
nng_socket s2;
nng_tls_config *c1, *c2;
- nng_sockaddr sa;
nng_listener l;
nng_dialer d;
const nng_url *url;
@@ -172,10 +161,6 @@ test_tls_cert_mutual(void)
NUTS_PASS(nng_listener_start(l, 0));
NUTS_PASS(nng_listener_get_url(l, &url));
NUTS_MATCH(nng_url_scheme(url), "tls+tcp");
- NUTS_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa));
- NUTS_TRUE(sa.s_in.sa_family == NNG_AF_INET);
- NUTS_TRUE(sa.s_in.sa_port != 0);
- NUTS_TRUE(sa.s_in.sa_addr = nuts_be32(0x7f000001));
NUTS_PASS(nng_dialer_create_url(&d, s2, url));
NUTS_PASS(nng_dialer_set_tls(d, c2));
NUTS_PASS(nng_dialer_start(d, 0));
@@ -192,7 +177,6 @@ test_tls_pipe_details(void)
nng_socket s1;
nng_socket s2;
nng_tls_config *c1, *c2;
- nng_sockaddr sa;
nng_listener l;
nng_dialer d;
nng_msg *msg;
@@ -213,10 +197,6 @@ test_tls_pipe_details(void)
NUTS_PASS(nng_listener_start(l, 0));
NUTS_PASS(nng_listener_get_url(l, &url));
NUTS_MATCH(nng_url_scheme(url), "tls+tcp");
- NUTS_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa));
- NUTS_TRUE(sa.s_in.sa_family == NNG_AF_INET);
- NUTS_TRUE(sa.s_in.sa_port != 0);
- NUTS_TRUE(sa.s_in.sa_addr = nuts_be32(0x7f000001));
NUTS_PASS(nng_dialer_create_url(&d, s2, url));
NUTS_PASS(nng_dialer_set_tls(d, c2));
NUTS_PASS(nng_dialer_start(d, 0));