diff options
| author | Garrett D'Amore <garrett@damore.org> | 2024-11-03 08:29:55 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2024-11-03 08:30:34 -0800 |
| commit | 8249242a9325a27e57107d78bfa168e918cc4f7a (patch) | |
| tree | 3fa7a7a0dd66c23684b731f6b2686e9b6ea7a574 /tests | |
| parent | a5807e45b1badfb5d0cb4f697e1873a8ece59a30 (diff) | |
| download | nng-8249242a9325a27e57107d78bfa168e918cc4f7a.tar.gz nng-8249242a9325a27e57107d78bfa168e918cc4f7a.tar.bz2 nng-8249242a9325a27e57107d78bfa168e918cc4f7a.zip | |
Remove untyped nng_pipe_get, support for untyped sockaddr set.
This is a step on the path to removing unsafe untyped option accesses.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ipc.c | 6 | ||||
| -rw-r--r-- | tests/tcp.c | 11 | ||||
| -rw-r--r-- | tests/tcp6.c | 9 | ||||
| -rw-r--r-- | tests/tcpsupp.c | 7 | ||||
| -rw-r--r-- | tests/ws.c | 30 | ||||
| -rw-r--r-- | tests/wss.c | 31 |
6 files changed, 17 insertions, 77 deletions
diff --git a/tests/ipc.c b/tests/ipc.c index 4011f2ae..6ea0830c 100644 --- a/tests/ipc.c +++ b/tests/ipc.c @@ -38,14 +38,10 @@ check_props(nng_msg *msg) So(nng_pipe_get_addr(p, NNG_OPT_LOCADDR, &la) == 0); So(la.s_family == NNG_AF_IPC); // untyped - z = sizeof(nng_sockaddr); - So(nng_pipe_get(p, NNG_OPT_REMADDR, &ra, &z) == 0); - So(z == sizeof(ra)); + So(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &ra) == 0); So(ra.s_family == NNG_AF_IPC); So(nng_pipe_get_size(p, NNG_OPT_REMADDR, &z) == NNG_EBADTYPE); - z = 1; - So(nng_pipe_get(p, NNG_OPT_REMADDR, &ra, &z) == NNG_EINVAL); #ifdef _WIN32 So(nng_pipe_get_uint64(p, NNG_OPT_IPC_PEER_UID, &id) == NNG_ENOTSUP); diff --git a/tests/tcp.c b/tests/tcp.c index 1e4cfe11..2c80035c 100644 --- a/tests/tcp.c +++ b/tests/tcp.c @@ -40,16 +40,12 @@ check_props_v4(nng_msg *msg) So(la.s_in.sa_addr == htonl(0x7f000001)); // untyped - z = sizeof(nng_sockaddr); - So(nng_pipe_get(p, NNG_OPT_REMADDR, &ra, &z) == 0); - So(z == sizeof(ra)); + So(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &ra) == 0); So(ra.s_family == NNG_AF_INET); So(ra.s_in.sa_port != 0); So(ra.s_in.sa_addr == htonl(0x7f000001)); So(nng_pipe_get_size(p, NNG_OPT_REMADDR, &z) == NNG_EBADTYPE); - z = 1; - So(nng_pipe_get(p, NNG_OPT_REMADDR, &ra, &z) == NNG_EINVAL); So(nng_pipe_get_bool(p, NNG_OPT_TCP_KEEPALIVE, &b) == 0); So(b == false); // default @@ -60,6 +56,5 @@ check_props_v4(nng_msg *msg) return (0); } -TestMain("TCP Transport", { - trantest_test_extended("tcp://127.0.0.1:", check_props_v4); -}) +TestMain("TCP Transport", + { trantest_test_extended("tcp://127.0.0.1:", check_props_v4); }) diff --git a/tests/tcp6.c b/tests/tcp6.c index 3822fd80..79e6fa47 100644 --- a/tests/tcp6.c +++ b/tests/tcp6.c @@ -42,7 +42,6 @@ static int check_props_v6(nng_msg *msg) { nng_pipe p; - size_t z; uint8_t loopback[16]; memset(loopback, 0, sizeof(loopback)); @@ -50,11 +49,9 @@ check_props_v6(nng_msg *msg) // IPv6 Local address property works nng_sockaddr la; - z = sizeof(nng_sockaddr); p = nng_msg_get_pipe(msg); So(nng_pipe_id(p) > 0); - So(nng_pipe_get(p, NNG_OPT_LOCADDR, &la, &z) == 0); - So(z == sizeof(la)); + So(nng_pipe_get_addr(p, NNG_OPT_LOCADDR, &la) == 0); So(la.s_family == NNG_AF_INET6); // So(la.s_in.sa_port == (trantest_port - 1)); So(la.s_in6.sa_port != 0); @@ -62,11 +59,9 @@ check_props_v6(nng_msg *msg) // IPv6 Remote address property works nng_sockaddr ra; - z = sizeof(nng_sockaddr); p = nng_msg_get_pipe(msg); So(nng_pipe_id(p) > 0); - So(nng_pipe_get(p, NNG_OPT_REMADDR, &ra, &z) == 0); - So(z == sizeof(ra)); + So(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &ra) == 0); So(ra.s_family == NNG_AF_INET6); So(ra.s_in6.sa_port != 0); So(memcmp(ra.s_in6.sa_addr, loopback, 16) == 0); diff --git a/tests/tcpsupp.c b/tests/tcpsupp.c index ac1ed200..be947129 100644 --- a/tests/tcpsupp.c +++ b/tests/tcpsupp.c @@ -27,21 +27,18 @@ TestMain("Supplemental TCP", { }); Convey("Listener listens (wildcard)", { nng_sockaddr sa; - size_t sz; uint8_t ip[4]; So(nng_stream_listener_alloc(&l, "tcp://127.0.0.1") == 0); So(nng_stream_listener_listen(l) == 0); - sz = sizeof(sa); ip[0] = 127; ip[1] = 0; ip[2] = 0; ip[3] = 1; - So(nng_stream_listener_get( - l, NNG_OPT_LOCADDR, &sa, &sz) == 0); - So(sz == sizeof(sa)); + So(nng_stream_listener_get_addr( + l, NNG_OPT_LOCADDR, &sa) == 0); So(sa.s_in.sa_port != 0); So(memcmp(&sa.s_in.sa_addr, ip, 4) == 0); @@ -23,11 +23,9 @@ static int check_props_v4(nng_msg *msg) { nng_pipe p; - size_t z; nng_sockaddr la; nng_sockaddr ra; char *buf; - size_t len; p = nng_msg_get_pipe(msg); So(nng_pipe_id(p) > 0); @@ -38,42 +36,20 @@ check_props_v4(nng_msg *msg) So(la.s_in.sa_port != 0); So(la.s_in.sa_addr == htonl(0x7f000001)); - z = sizeof(nng_sockaddr); - So(nng_pipe_get(p, NNG_OPT_REMADDR, &ra, &z) == 0); - So(z == sizeof(ra)); + So(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &ra) == 0); So(ra.s_family == NNG_AF_INET); So(ra.s_in.sa_port != 0); So(ra.s_in.sa_addr == htonl(0x7f000001)); // Request Header - z = 0; buf = NULL; - So(nng_pipe_get(p, NNG_OPT_WS_REQUEST_HEADERS, buf, &z) == NNG_EINVAL); - So(z > 0); - len = z; - So((buf = nng_alloc(len)) != NULL); - So(nng_pipe_get(p, NNG_OPT_WS_REQUEST_HEADERS, buf, &z) == 0); - So(strstr(buf, "Sec-WebSocket-Key") != NULL); - So(z == len); - nng_free(buf, len); So(nng_pipe_get_string(p, NNG_OPT_WS_REQUEST_HEADERS, &buf) == 0); - So(strlen(buf) == len - 1); + So(strstr(buf, "Sec-WebSocket-Key") != NULL); nng_strfree(buf); // Response Header - z = 0; - buf = NULL; - So(nng_pipe_get(p, NNG_OPT_WS_RESPONSE_HEADERS, buf, &z) == - NNG_EINVAL); - So(z > 0); - len = z; - So((buf = nng_alloc(len)) != NULL); - So(nng_pipe_get(p, NNG_OPT_WS_RESPONSE_HEADERS, buf, &z) == 0); - So(strstr(buf, "Sec-WebSocket-Accept") != NULL); - So(z == len); - nng_free(buf, len); So(nng_pipe_get_string(p, NNG_OPT_WS_RESPONSE_HEADERS, &buf) == 0); - So(strlen(buf) == len - 1); + So(strstr(buf, "Sec-WebSocket-Accept") != NULL); nng_strfree(buf); return (0); diff --git a/tests/wss.c b/tests/wss.c index 660ede3b..28b578fc 100644 --- a/tests/wss.c +++ b/tests/wss.c @@ -132,49 +132,30 @@ static int check_props(nng_msg *msg) { nng_pipe p; - size_t z; nng_sockaddr la; nng_sockaddr ra; char *buf; - size_t len; p = nng_msg_get_pipe(msg); So(nng_pipe_id(p) > 0); - z = sizeof(nng_sockaddr); - So(nng_pipe_get(p, NNG_OPT_LOCADDR, &la, &z) == 0); - So(z == sizeof(la)); + So(nng_pipe_get_addr(p, NNG_OPT_LOCADDR, &la) == 0); So(validloopback(&la)); - z = sizeof(nng_sockaddr); - So(nng_pipe_get(p, NNG_OPT_REMADDR, &ra, &z) == 0); - So(z == sizeof(ra)); + So(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &ra) == 0); So(validloopback(&ra)); // Request header - z = 0; buf = NULL; - So(nng_pipe_get(p, NNG_OPT_WS_REQUEST_HEADERS, buf, &z) == NNG_EINVAL); - So(z > 0); - len = z; - So((buf = nng_alloc(len)) != NULL); - So(nng_pipe_get(p, NNG_OPT_WS_REQUEST_HEADERS, buf, &z) == 0); + So(nng_pipe_get_string(p, NNG_OPT_WS_REQUEST_HEADERS, &buf) == 0); So(strstr(buf, "Sec-WebSocket-Key") != NULL); - So(z == len); - nng_free(buf, len); + nng_strfree(buf); // Response header - z = 0; buf = NULL; - So(nng_pipe_get(p, NNG_OPT_WS_RESPONSE_HEADERS, buf, &z) == - NNG_EINVAL); - So(z > 0); - len = z; - So((buf = nng_alloc(len)) != NULL); - So(nng_pipe_get(p, NNG_OPT_WS_RESPONSE_HEADERS, buf, &z) == 0); + So(nng_pipe_get_string(p, NNG_OPT_WS_RESPONSE_HEADERS, &buf) == 0); So(strstr(buf, "Sec-WebSocket-Accept") != NULL); - So(z == len); - nng_free(buf, len); + nng_strfree(buf); return (0); } |
