aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-11-03 08:29:55 -0800
committerGarrett D'Amore <garrett@damore.org>2024-11-03 08:30:34 -0800
commit8249242a9325a27e57107d78bfa168e918cc4f7a (patch)
tree3fa7a7a0dd66c23684b731f6b2686e9b6ea7a574 /tests
parenta5807e45b1badfb5d0cb4f697e1873a8ece59a30 (diff)
downloadnng-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.c6
-rw-r--r--tests/tcp.c11
-rw-r--r--tests/tcp6.c9
-rw-r--r--tests/tcpsupp.c7
-rw-r--r--tests/ws.c30
-rw-r--r--tests/wss.c31
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);
diff --git a/tests/ws.c b/tests/ws.c
index d2ae7f9b..041fe4d0 100644
--- a/tests/ws.c
+++ b/tests/ws.c
@@ -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);
}