diff options
Diffstat (limited to 'src/sp/transport')
| -rw-r--r-- | src/sp/transport/dtls/dtls.c | 35 | ||||
| -rw-r--r-- | src/sp/transport/dtls/dtls_tran_test.c | 20 | ||||
| -rw-r--r-- | src/sp/transport/inproc/inproc.c | 4 | ||||
| -rw-r--r-- | src/sp/transport/ipc/ipc_test.c | 80 | ||||
| -rw-r--r-- | src/sp/transport/socket/sockfd_test.c | 14 | ||||
| -rw-r--r-- | src/sp/transport/tcp/tcp.c | 11 | ||||
| -rw-r--r-- | src/sp/transport/tcp/tcp_test.c | 23 | ||||
| -rw-r--r-- | src/sp/transport/tls/tls.c | 14 | ||||
| -rw-r--r-- | src/sp/transport/tls/tls_tran_test.c | 20 | ||||
| -rw-r--r-- | src/sp/transport/udp/udp.c | 36 | ||||
| -rw-r--r-- | src/sp/transport/udp/udp_tran_test.c | 14 | ||||
| -rw-r--r-- | src/sp/transport/ws/ws_test.c | 7 | ||||
| -rw-r--r-- | src/sp/transport/ws/wss_test.c | 27 |
13 files changed, 36 insertions, 269 deletions
diff --git a/src/sp/transport/dtls/dtls.c b/src/sp/transport/dtls/dtls.c index 5a97af4f..5ac52838 100644 --- a/src/sp/transport/dtls/dtls.c +++ b/src/sp/transport/dtls/dtls.c @@ -1035,28 +1035,12 @@ dtls_pipe_get_recvmax(void *arg, void *v, size_t *szp, nni_type t) return (rv); } -static nng_err -dtls_pipe_get_remaddr(void *arg, void *v, size_t *szp, nni_type t) -{ - dtls_pipe *p = arg; - dtls_ep *ep = p->ep; - nng_err rv; - nni_mtx_lock(&ep->mtx); - rv = nni_copyout_sockaddr(&p->peer_addr, v, szp, t); - nni_mtx_unlock(&ep->mtx); - return (rv); -} - static nni_option dtls_pipe_options[] = { { .o_name = NNG_OPT_RECVMAXSZ, .o_get = dtls_pipe_get_recvmax, }, { - .o_name = NNG_OPT_REMADDR, - .o_get = dtls_pipe_get_remaddr, - }, - { .o_name = NULL, }, }; @@ -1547,21 +1531,6 @@ dtls_ep_get_locaddr(void *arg, void *v, size_t *szp, nni_opt_type t) } static nng_err -dtls_ep_get_remaddr(void *arg, void *v, size_t *szp, nni_opt_type t) -{ - dtls_ep *ep = arg; - nng_err rv; - - if (!ep->dialer) { - return (NNG_ENOTSUP); - } - nni_mtx_lock(&ep->mtx); - rv = nni_copyout_sockaddr(&ep->peer_sa, v, szp, t); - nni_mtx_unlock(&ep->mtx); - return (rv); -} - -static nng_err dtls_ep_get_recvmaxsz(void *arg, void *v, size_t *szp, nni_opt_type t) { dtls_ep *ep = arg; @@ -1722,10 +1691,6 @@ static const nni_option dtls_ep_opts[] = { .o_get = dtls_ep_get_locaddr, }, { - .o_name = NNG_OPT_REMADDR, - .o_get = dtls_ep_get_remaddr, - }, - { .o_name = NNG_OPT_BOUND_PORT, .o_get = dtls_ep_get_port, }, diff --git a/src/sp/transport/dtls/dtls_tran_test.c b/src/sp/transport/dtls/dtls_tran_test.c index a43a01f7..c6dc551c 100644 --- a/src/sp/transport/dtls/dtls_tran_test.c +++ b/src/sp/transport/dtls/dtls_tran_test.c @@ -75,7 +75,6 @@ test_dtls_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_dtls_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), "dtls"); - 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, NNG_FLAG_NONBLOCK)); @@ -111,7 +106,6 @@ test_dtls_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; @@ -130,10 +124,6 @@ test_dtls_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), "dtls"); - 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)); // With DTLS we are not guaranteed to get the connection failure. @@ -151,7 +141,6 @@ test_dtls_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; @@ -170,10 +159,6 @@ test_dtls_cert_mutual(void) NUTS_PASS(nng_listener_start(l, 0)); NUTS_PASS(nng_listener_get_url(l, &url)); NUTS_MATCH(nng_url_scheme(url), "dtls"); - 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)); @@ -598,7 +583,6 @@ test_dtls_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; @@ -619,10 +603,6 @@ test_dtls_pipe_details(void) NUTS_PASS(nng_listener_start(l, 0)); NUTS_PASS(nng_listener_get_url(l, &url)); NUTS_MATCH(nng_url_scheme(url), "dtls"); - 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)); diff --git a/src/sp/transport/inproc/inproc.c b/src/sp/transport/inproc/inproc.c index cf44145a..dc95e1e4 100644 --- a/src/sp/transport/inproc/inproc.c +++ b/src/sp/transport/inproc/inproc.c @@ -609,10 +609,6 @@ static const nni_option inproc_ep_options[] = { .o_name = NNG_OPT_LOCADDR, .o_get = inproc_ep_get_addr, }, - { - .o_name = NNG_OPT_REMADDR, - .o_get = inproc_ep_get_addr, - }, // terminate list { .o_name = NULL, diff --git a/src/sp/transport/ipc/ipc_test.c b/src/sp/transport/ipc/ipc_test.c index 30ac6fb3..3131e774 100644 --- a/src/sp/transport/ipc/ipc_test.c +++ b/src/sp/transport/ipc/ipc_test.c @@ -69,10 +69,7 @@ test_ipc_dialer_properties(void) NUTS_PASS(nng_dial(s, addr, &d, NNG_FLAG_NONBLOCK)); // Dialers don't have local addresses. NUTS_FAIL(nng_dialer_get_addr(d, NNG_OPT_LOCADDR, &sa), NNG_ENOTSUP); - NUTS_FAIL(nng_dialer_set_addr(d, NNG_OPT_LOCADDR, &sa), NNG_ENOTSUP); - NUTS_PASS(nng_dialer_get_addr(d, NNG_OPT_REMADDR, &sa)); - NUTS_TRUE(sa.s_family == NNG_AF_IPC); z = 8192; NUTS_PASS(nng_dialer_set_size(d, NNG_OPT_RECVMAXSZ, z)); @@ -126,19 +123,13 @@ test_ipc_listener_properties(void) { nng_socket s; nng_listener l; - nng_sockaddr sa; size_t z; char *addr; NUTS_ADDR(addr, "ipc"); NUTS_OPEN(s); NUTS_PASS(nng_listen(s, addr, &l, 0)); - NUTS_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa)); - NUTS_TRUE(sa.s_ipc.sa_family == NNG_AF_IPC); - NUTS_MATCH(sa.s_ipc.sa_path, addr + strlen("ipc://")); - NUTS_FAIL( - nng_listener_set_addr(l, NNG_OPT_LOCADDR, &sa), NNG_EREADONLY); z = 8192; NUTS_PASS(nng_listener_set_size(l, NNG_OPT_RECVMAXSZ, z)); z = 0; @@ -419,8 +410,8 @@ test_abstract_sockets(void) NUTS_OPEN(s1); NUTS_OPEN(s2); NUTS_MARRY_EX(s1, s2, addr, &p1, &p2); - NUTS_PASS(nng_pipe_get_addr(p1, NNG_OPT_REMADDR, &sa1)); - NUTS_PASS(nng_pipe_get_addr(p2, NNG_OPT_LOCADDR, &sa2)); + NUTS_PASS(nng_pipe_peer_addr(p1, &sa1)); + NUTS_PASS(nng_pipe_self_addr(p2, &sa2)); NUTS_TRUE(sa1.s_family == sa2.s_family); NUTS_TRUE(sa1.s_family == NNG_AF_ABSTRACT); NUTS_TRUE(sa1.s_abstract.sa_len == strlen(addr) - strlen(prefix)); @@ -435,55 +426,6 @@ test_abstract_sockets(void) } void -test_abstract_auto_bind(void) -{ -#ifdef NNG_HAVE_ABSTRACT_SOCKETS - nng_socket s1; - nng_socket s2; - char addr[40]; - char name[12]; - nng_sockaddr sa; - nng_listener l; - size_t len; - - snprintf(addr, sizeof(addr), "abstract://"); - - NUTS_OPEN(s1); - NUTS_OPEN(s2); - NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 1000)); - NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_SENDTIMEO, 1000)); - NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 1000)); - NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_RECVTIMEO, 1000)); - NUTS_PASS(nng_listen(s1, addr, &l, 0)); - - NUTS_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa)); - // Under linux there are either 8 or 5 hex characters. - NUTS_TRUE(sa.s_family == NNG_AF_ABSTRACT); - NUTS_TRUE(sa.s_abstract.sa_len < 10); - - len = sa.s_abstract.sa_len; - memcpy(name, sa.s_abstract.sa_name, len); - name[len] = '\0'; - NUTS_TRUE(strlen(name) == len); - - (void) snprintf(addr, sizeof(addr), "abstract://%s", name); - NUTS_PASS(nng_dial(s2, addr, NULL, 0)); - - // first send the ping - NUTS_SEND(s1, "ping"); - NUTS_RECV(s2, "ping"); - - NUTS_SEND(s2, "pong"); - NUTS_RECV(s1, "pong"); - - NUTS_CLOSE(s1); - NUTS_CLOSE(s2); -#else - NUTS_SKIP("No abstract sockets."); -#endif -} - -void test_abstract_too_long(void) { #ifdef NNG_HAVE_ABSTRACT_SOCKETS @@ -518,7 +460,6 @@ test_abstract_null(void) char name[40]; char rng[20]; - nng_sockaddr sa; nng_listener l; size_t len; @@ -534,18 +475,6 @@ test_abstract_null(void) NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_RECVTIMEO, 1000)); NUTS_PASS(nng_listen(s1, addr, &l, 0)); - NUTS_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa)); - // Under linux there are either 8 or 5 hex characters. - NUTS_TRUE(sa.s_family == NNG_AF_ABSTRACT); - NUTS_TRUE(sa.s_abstract.sa_len < 32); - len = sa.s_abstract.sa_len; - NUTS_TRUE(len == 20); - NUTS_TRUE(sa.s_abstract.sa_name[0] == 'a'); - NUTS_TRUE(sa.s_abstract.sa_name[1] == '\0'); - NUTS_TRUE(sa.s_abstract.sa_name[2] == 'b'); - NUTS_TRUE(sa.s_abstract.sa_name[3] == '_'); - NUTS_TRUE(memcmp(&sa.s_abstract.sa_name[4], rng, 16) == 0); - NUTS_PASS(nng_dial(s2, addr, NULL, 0)); // first send the ping @@ -599,8 +528,8 @@ test_unix_alias(void) NUTS_TRUE(nng_msg_len(msg) == 5); NUTS_MATCH(nng_msg_body(msg), "ping"); p = nng_msg_get_pipe(msg); - NUTS_PASS(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &sa1)); - NUTS_PASS(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &sa2)); + NUTS_PASS(nng_pipe_peer_addr(p, &sa1)); + NUTS_PASS(nng_pipe_self_addr(p, &sa2)); NUTS_TRUE(sa1.s_family == sa2.s_family); NUTS_TRUE(sa1.s_family == NNG_AF_IPC); NUTS_MATCH(sa1.s_ipc.sa_path, sa2.s_ipc.sa_path); @@ -704,7 +633,6 @@ TEST_LIST = { { "ipc listen duplicate", test_ipc_listen_duplicate }, { "ipc listen accept cancel", test_ipc_listen_accept_cancel }, { "ipc abstract sockets", test_abstract_sockets }, - { "ipc abstract auto bind", test_abstract_auto_bind }, { "ipc abstract name too long", test_abstract_too_long }, { "ipc abstract embedded null", test_abstract_null }, { "ipc unix alias", test_unix_alias }, diff --git a/src/sp/transport/socket/sockfd_test.c b/src/sp/transport/socket/sockfd_test.c index ccd67587..56b77c83 100644 --- a/src/sp/transport/socket/sockfd_test.c +++ b/src/sp/transport/socket/sockfd_test.c @@ -350,7 +350,7 @@ test_sockfd_close_peer(void) } void -test_sockfd_listener_sockaddr(void) +test_sockfd_listener_no_port(void) { #ifdef NNG_HAVE_SOCKETPAIR // this test verifies that closing a socket peer @@ -358,14 +358,14 @@ test_sockfd_listener_sockaddr(void) int fds[2]; nng_socket s0; nng_listener l; - nng_sockaddr sa; + int port; NUTS_PASS(nng_socket_pair(fds)); NUTS_OPEN(s0); NUTS_PASS(nng_listen(s0, "socket://", &l, 0)); NUTS_PASS(nng_listener_set_int(l, NNG_OPT_SOCKET_FD, fds[0])); - NUTS_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa)); - NUTS_ASSERT(sa.s_family == NNG_AF_UNSPEC); + NUTS_FAIL( + nng_listener_get_int(l, NNG_OPT_BOUND_PORT, &port), NNG_ENOTSUP); close(fds[1]); NUTS_CLOSE(s0); #else @@ -401,9 +401,9 @@ test_sockfd_pipe_sockaddr(void) NUTS_SEND(s0, "something"); NUTS_PASS(nng_recvmsg(s1, &msg, 0)); p = nng_msg_get_pipe(msg); - NUTS_PASS(nng_pipe_get_addr(p, NNG_OPT_LOCADDR, &sa)); + NUTS_PASS(nng_pipe_self_addr(p, &sa)); NUTS_ASSERT(sa.s_family == NNG_AF_UNSPEC); - NUTS_PASS(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &sa)); + NUTS_PASS(nng_pipe_peer_addr(p, &sa)); NUTS_ASSERT(sa.s_family == NNG_AF_UNSPEC); NUTS_CLOSE(s0); NUTS_CLOSE(s1); @@ -574,7 +574,7 @@ NUTS_TESTS = { { "socket exchange large", test_sfd_large }, { "socket close pending", test_sockfd_close_pending }, { "socket close peer", test_sockfd_close_peer }, - { "socket listener address", test_sockfd_listener_sockaddr }, + { "socket listener no port", test_sockfd_listener_no_port }, { "socket pipe address", test_sockfd_pipe_sockaddr }, { "socket pipe peer id", test_sockfd_pipe_peer }, { "socket listen full", test_sfd_listen_full }, diff --git a/src/sp/transport/tcp/tcp.c b/src/sp/transport/tcp/tcp.c index 759bc320..3e837d3f 100644 --- a/src/sp/transport/tcp/tcp.c +++ b/src/sp/transport/tcp/tcp.c @@ -337,14 +337,9 @@ tcptran_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->conn, NNG_OPT_REMADDR, sa)) == 0) { - (void) nng_str_sockaddr( - sa, peername, sizeof(peername)); - } + char peername[NNG_MAXADDRSTRLEN]; + (void) nng_str_sockaddr(nng_stream_peer_addr(p->conn), + peername, sizeof(peername)); nng_log_warn("NNG-RCVMAX", "Oversize message of %lu bytes (> %lu) " "on socket<%u> pipe<%u> from TCP %s", diff --git a/src/sp/transport/tcp/tcp_test.c b/src/sp/transport/tcp/tcp_test.c index 9d3d70f3..5f875e49 100644 --- a/src/sp/transport/tcp/tcp_test.c +++ b/src/sp/transport/tcp/tcp_test.c @@ -41,10 +41,10 @@ test_tcp_port_zero_bind(void) { nng_socket s1; nng_socket s2; - nng_sockaddr sa; nng_listener l; const nng_url *u; char addr[NNG_MAXADDRSTRLEN]; + int port; NUTS_OPEN(s1); NUTS_OPEN(s2); @@ -53,10 +53,9 @@ test_tcp_port_zero_bind(void) NUTS_MATCH(nng_url_scheme(u), "tcp"); nng_url_sprintf(addr, sizeof(addr), u); NUTS_TRUE(memcmp(addr, "tcp://", 6) == 0); - 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_listener_get_int(l, NNG_OPT_BOUND_PORT, &port)); + NUTS_TRUE(port > 0); + NUTS_TRUE(port <= 0xffff); NUTS_PASS(nng_dial(s2, addr, NULL, 0)); NUTS_CLOSE(s2); NUTS_CLOSE(s1); @@ -205,25 +204,22 @@ static void check_props_v4(nng_msg *msg) { nng_pipe p; - size_t z; nng_sockaddr la; nng_sockaddr ra; bool b; p = nng_msg_get_pipe(msg); NUTS_TRUE(nng_pipe_id(p) > 0); - NUTS_PASS(nng_pipe_get_addr(p, NNG_OPT_LOCADDR, &la)); - NUTS_FAIL(nng_pipe_get_size(p, NNG_OPT_LOCADDR, &z), NNG_EBADTYPE); + NUTS_PASS(nng_pipe_self_addr(p, &la)); NUTS_TRUE(la.s_family == NNG_AF_INET); NUTS_TRUE(la.s_in.sa_port != 0); NUTS_TRUE(la.s_in.sa_addr == nuts_be32(0x7f000001)); - NUTS_PASS(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &ra)); + NUTS_PASS(nng_pipe_peer_addr(p, &ra)); NUTS_TRUE(ra.s_family == NNG_AF_INET); NUTS_TRUE(ra.s_in.sa_port != 0); NUTS_TRUE(ra.s_in.sa_addr == nuts_be32(0x7f000001)); NUTS_TRUE(ra.s_in.sa_port != la.s_in.sa_port); - NUTS_FAIL(nng_pipe_get_size(p, NNG_OPT_REMADDR, &z), NNG_EBADTYPE); NUTS_PASS(nng_pipe_get_bool(p, NNG_OPT_TCP_KEEPALIVE, &b)); NUTS_TRUE(b == false); // default @@ -239,7 +235,6 @@ void check_props_v6(nng_msg *msg) { nng_pipe p; - size_t z; nng_sockaddr la; nng_sockaddr ra; bool b; @@ -247,18 +242,16 @@ check_props_v6(nng_msg *msg) p = nng_msg_get_pipe(msg); NUTS_TRUE(nng_pipe_id(p) > 0); - NUTS_PASS(nng_pipe_get_addr(p, NNG_OPT_LOCADDR, &la)); - NUTS_FAIL(nng_pipe_get_size(p, NNG_OPT_LOCADDR, &z), NNG_EBADTYPE); + NUTS_PASS(nng_pipe_self_addr(p, &la)); NUTS_TRUE(la.s_family == NNG_AF_INET6); NUTS_TRUE(la.s_in6.sa_port != 0); NUTS_TRUE(memcmp(la.s_in6.sa_addr, self, 16) == 0); - NUTS_PASS(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &ra)); + NUTS_PASS(nng_pipe_peer_addr(p, &ra)); NUTS_TRUE(ra.s_family == NNG_AF_INET6); NUTS_TRUE(ra.s_in6.sa_port != 0); NUTS_TRUE(memcmp(ra.s_in6.sa_addr, self, 16) == 0); NUTS_TRUE(ra.s_in6.sa_port != la.s_in6.sa_port); - NUTS_FAIL(nng_pipe_get_size(p, NNG_OPT_REMADDR, &z), NNG_EBADTYPE); NUTS_PASS(nng_pipe_get_bool(p, NNG_OPT_TCP_KEEPALIVE, &b)); NUTS_TRUE(b == false); // default 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)); diff --git a/src/sp/transport/udp/udp.c b/src/sp/transport/udp/udp.c index 02eb088a..016c222b 100644 --- a/src/sp/transport/udp/udp.c +++ b/src/sp/transport/udp/udp.c @@ -993,28 +993,12 @@ udp_pipe_get_recvmax(void *arg, void *v, size_t *szp, nni_type t) return (rv); } -static nng_err -udp_pipe_get_remaddr(void *arg, void *v, size_t *szp, nni_type t) -{ - udp_pipe *p = arg; - udp_ep *ep = p->ep; - nng_err rv; - nni_mtx_lock(&ep->mtx); - rv = nni_copyout_sockaddr(&p->peer_addr, v, szp, t); - nni_mtx_unlock(&ep->mtx); - return (rv); -} - static nni_option udp_pipe_options[] = { { .o_name = NNG_OPT_RECVMAXSZ, .o_get = udp_pipe_get_recvmax, }, { - .o_name = NNG_OPT_REMADDR, - .o_get = udp_pipe_get_remaddr, - }, - { .o_name = NULL, }, }; @@ -1547,22 +1531,6 @@ udp_ep_get_locaddr(void *arg, void *v, size_t *szp, nni_opt_type t) } static nng_err -udp_ep_get_remaddr(void *arg, void *v, size_t *szp, nni_opt_type t) -{ - udp_ep *ep = arg; - nng_err rv; - nng_sockaddr sa; - - if (!ep->dialer) { - return (NNG_ENOTSUP); - } - sa = ep->peer_sa; - - rv = nni_copyout_sockaddr(&sa, v, szp, t); - return (rv); -} - -static nng_err udp_ep_get_recvmaxsz(void *arg, void *v, size_t *szp, nni_opt_type t) { udp_ep *ep = arg; @@ -1736,10 +1704,6 @@ static const nni_option udp_ep_opts[] = { .o_get = udp_ep_get_locaddr, }, { - .o_name = NNG_OPT_REMADDR, - .o_get = udp_ep_get_remaddr, - }, - { .o_name = NNG_OPT_BOUND_PORT, .o_get = udp_ep_get_port, }, diff --git a/src/sp/transport/udp/udp_tran_test.c b/src/sp/transport/udp/udp_tran_test.c index 33517246..45203df1 100644 --- a/src/sp/transport/udp/udp_tran_test.c +++ b/src/sp/transport/udp/udp_tran_test.c @@ -60,7 +60,6 @@ test_udp_port_zero_bind(void) { nng_socket s1; nng_socket s2; - nng_sockaddr sa; nng_listener l; nng_dialer d; int port; @@ -76,10 +75,6 @@ test_udp_port_zero_bind(void) NUTS_MATCH(nng_url_scheme(u1), "udp"); NUTS_MATCH(nng_url_hostname(u1), "127.0.0.1"); NUTS_MATCH(nng_url_path(u1), ""); - 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 == nuts_be16(nng_url_port(u1))); - NUTS_TRUE(sa.s_in.sa_addr == nuts_be32(0x7f000001)); NUTS_PASS(nng_dial_url(s2, u1, &d, 0)); NUTS_PASS(nng_dialer_get_url(d, &u2)); NUTS_MATCH(nng_url_scheme(u1), nng_url_scheme(u2)); @@ -465,9 +460,6 @@ test_udp_pipe(void) size_t sz; char *addr; nng_msg *msg; - nng_pipe p; - nng_sockaddr sa0; - nng_sockaddr sa1; NUTS_ADDR(addr, "udp4"); @@ -478,7 +470,6 @@ test_udp_pipe(void) NUTS_PASS(nng_listener_get_size(l, NNG_OPT_UDP_COPY_MAX, &sz)); NUTS_TRUE(sz == 100); NUTS_PASS(nng_listener_start(l, 0)); - NUTS_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa0)); NUTS_OPEN(s1); NUTS_PASS(nng_dial(s1, addr, NULL, 0)); @@ -488,10 +479,7 @@ test_udp_pipe(void) NUTS_PASS(nng_msg_alloc(&msg, 0)); NUTS_PASS(nng_sendmsg(s0, msg, 0)); NUTS_PASS(nng_recvmsg(s1, &msg, 0)); - p = nng_msg_get_pipe(msg); - NUTS_PASS(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &sa1)); - NUTS_TRUE(memcmp(&sa0.s_in, &sa1.s_in, sizeof(sa0.s_in)) == 0); nng_msg_free(msg); NUTS_CLOSE(s0); NUTS_CLOSE(s1); @@ -506,7 +494,6 @@ test_udp_reconnect_dialer(void) nng_dialer d; char *addr; nng_msg *msg; - nng_sockaddr sa0; NUTS_LOGGING(); NUTS_ADDR(addr, "udp4"); @@ -519,7 +506,6 @@ test_udp_reconnect_dialer(void) NUTS_PASS(nng_socket_set_ms(s0, NNG_OPT_SENDTIMEO, 2000)); NUTS_PASS(nng_listener_create(&l, s0, addr)); NUTS_PASS(nng_listener_start(l, 0)); - NUTS_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa0)); NUTS_PASS(nng_sub0_open(&s1)); NUTS_PASS(nng_sub0_socket_subscribe(s1, "", 0)); diff --git a/src/sp/transport/ws/ws_test.c b/src/sp/transport/ws/ws_test.c index 6f41fe99..c69e5845 100644 --- a/src/sp/transport/ws/ws_test.c +++ b/src/sp/transport/ws/ws_test.c @@ -205,25 +205,22 @@ static void check_props_v4(nng_msg *msg) { nng_pipe p; - size_t z; nng_sockaddr la; nng_sockaddr ra; bool b; p = nng_msg_get_pipe(msg); NUTS_TRUE(nng_pipe_id(p) > 0); - NUTS_PASS(nng_pipe_get_addr(p, NNG_OPT_LOCADDR, &la)); - NUTS_FAIL(nng_pipe_get_size(p, NNG_OPT_LOCADDR, &z), NNG_EBADTYPE); + NUTS_PASS(nng_pipe_self_addr(p, &la)); NUTS_TRUE(la.s_family == NNG_AF_INET); NUTS_TRUE(la.s_in.sa_port != 0); NUTS_TRUE(la.s_in.sa_addr == nuts_be32(0x7f000001)); - NUTS_PASS(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &ra)); + NUTS_PASS(nng_pipe_peer_addr(p, &ra)); NUTS_TRUE(ra.s_family == NNG_AF_INET); NUTS_TRUE(ra.s_in.sa_port != 0); NUTS_TRUE(ra.s_in.sa_addr == nuts_be32(0x7f000001)); NUTS_TRUE(ra.s_in.sa_port != la.s_in.sa_port); - NUTS_FAIL(nng_pipe_get_size(p, NNG_OPT_REMADDR, &z), NNG_EBADTYPE); NUTS_PASS(nng_pipe_get_bool(p, NNG_OPT_TCP_KEEPALIVE, &b)); NUTS_TRUE(b == false); // default diff --git a/src/sp/transport/ws/wss_test.c b/src/sp/transport/ws/wss_test.c index 1686090b..0654c809 100644 --- a/src/sp/transport/ws/wss_test.c +++ b/src/sp/transport/ws/wss_test.c @@ -75,9 +75,9 @@ test_wss_port_zero_bind(void) nng_socket s1; nng_socket s2; nng_tls_config *c1, *c2; - nng_sockaddr sa; nng_listener l; nng_dialer d; + int port; const nng_url *url; c1 = wss_server_config(); @@ -88,11 +88,10 @@ test_wss_port_zero_bind(void) NUTS_PASS(nng_listener_set_tls(l, c1)); NUTS_PASS(nng_listener_start(l, 0)); NUTS_PASS(nng_listener_get_url(l, &url)); + NUTS_PASS(nng_listener_get_int(l, NNG_OPT_BOUND_PORT, &port)); + NUTS_TRUE(port > 0); + NUTS_TRUE(port <= 65535); NUTS_MATCH(nng_url_scheme(url), "wss"); - 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)); @@ -108,7 +107,6 @@ test_wss_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 +126,6 @@ test_wss_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), "wss"); - 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 +147,6 @@ test_wss_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 +165,6 @@ test_wss_cert_mutual(void) NUTS_PASS(nng_listener_start(l, 0)); NUTS_PASS(nng_listener_get_url(l, &url)); NUTS_MATCH(nng_url_scheme(url), "wss"); - 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)); @@ -387,7 +376,7 @@ test_wss_pipe_details(void) nng_socket s1; nng_socket s2; nng_tls_config *c1, *c2; - nng_sockaddr sa; + int port; nng_listener l; nng_dialer d; nng_msg *msg; @@ -408,10 +397,8 @@ test_wss_pipe_details(void) NUTS_PASS(nng_listener_start(l, 0)); NUTS_PASS(nng_listener_get_url(l, &url)); NUTS_MATCH(nng_url_scheme(url), "wss"); - 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_listener_get_int(l, NNG_OPT_BOUND_PORT, &port)); + NUTS_TRUE(port != 0); NUTS_PASS(nng_dialer_create_url(&d, s2, url)); NUTS_PASS(nng_dialer_set_tls(d, c2)); NUTS_PASS(nng_dialer_start(d, 0)); |
