aboutsummaryrefslogtreecommitdiff
path: root/src/sp
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-11-18 01:17:24 -0800
committerGarrett D'Amore <garrett@damore.org>2024-11-18 08:33:05 -0800
commitca6cfe359fa55a5a7f4b6ae73500ffd98e6ee968 (patch)
treed69a9af2e88c9bf5bc0d565bdd2ea975f2723d52 /src/sp
parente54e2b1a98abfdb75232a9b3218714ce34c9a34f (diff)
downloadnng-ca6cfe359fa55a5a7f4b6ae73500ffd98e6ee968.tar.gz
nng-ca6cfe359fa55a5a7f4b6ae73500ffd98e6ee968.tar.bz2
nng-ca6cfe359fa55a5a7f4b6ae73500ffd98e6ee968.zip
URL refactor part 1.
This eliminates most (but not all) of the dynamic allocations associated with URL objects. A number of convenience fields on the URL are removed, but we are able to use common buffer for most of the details.
Diffstat (limited to 'src/sp')
-rw-r--r--src/sp/transport/socket/sockfd.c2
-rw-r--r--src/sp/transport/tcp/tcp_test.c13
-rw-r--r--src/sp/transport/tls/tls_tran_test.c54
-rw-r--r--src/sp/transport/udp/udp_tran_test.c13
-rw-r--r--src/sp/transport/ws/ws_test.c4
5 files changed, 6 insertions, 80 deletions
diff --git a/src/sp/transport/socket/sockfd.c b/src/sp/transport/socket/sockfd.c
index 2db052ac..2313d12d 100644
--- a/src/sp/transport/socket/sockfd.c
+++ b/src/sp/transport/socket/sockfd.c
@@ -817,7 +817,7 @@ sfd_tran_listener_init(void **lp, nng_url *url, nni_listener *nlistener)
nni_sock *sock = nni_listener_sock(nlistener);
// Check for invalid URL components -- we only accept a bare scheme
- if ((strlen(url->u_host) != 0) || (strlen(url->u_path) != 0) ||
+ if ((strlen(url->u_hostname) != 0) || (strlen(url->u_path) != 0) ||
(url->u_fragment != NULL) || (url->u_userinfo != NULL) ||
(url->u_query != NULL)) {
return (NNG_EADDRINVAL);
diff --git a/src/sp/transport/tcp/tcp_test.c b/src/sp/transport/tcp/tcp_test.c
index 57c612b7..c80a259f 100644
--- a/src/sp/transport/tcp/tcp_test.c
+++ b/src/sp/transport/tcp/tcp_test.c
@@ -10,6 +10,7 @@
// found online at https://opensource.org/licenses/MIT.
//
+#include "nng/nng.h"
#include <nuts.h>
// TCP tests.
@@ -30,19 +31,9 @@ void
test_tcp_wild_card_bind(void)
{
nng_socket s1;
- nng_socket s2;
- char addr[NNG_MAXADDRLEN];
- uint16_t port;
-
- port = nuts_next_port();
NUTS_OPEN(s1);
- NUTS_OPEN(s2);
- (void) snprintf(addr, sizeof(addr), "tcp4://*:%u", port);
- NUTS_PASS(nng_listen(s1, addr, NULL, 0));
- (void) snprintf(addr, sizeof(addr), "tcp://127.0.0.1:%u", port);
- NUTS_PASS(nng_dial(s2, addr, NULL, 0));
- NUTS_CLOSE(s2);
+ NUTS_FAIL(nng_listen(s1, "tcp4://*:8080", NULL, 0), NNG_EADDRINVAL);
NUTS_CLOSE(s1);
}
diff --git a/src/sp/transport/tls/tls_tran_test.c b/src/sp/transport/tls/tls_tran_test.c
index d6e94899..be049e05 100644
--- a/src/sp/transport/tls/tls_tran_test.c
+++ b/src/sp/transport/tls/tls_tran_test.c
@@ -46,58 +46,6 @@ tls_client_config(void)
return (c);
}
-static void
-test_tls_wild_card_connect_fail(void)
-{
- nng_socket s;
- nng_dialer d;
- char addr[NNG_MAXADDRLEN];
-
- NUTS_OPEN(s);
- (void) snprintf(
- addr, sizeof(addr), "tls+tcp://*:%u", nuts_next_port());
- NUTS_FAIL(nng_dialer_create(&d, s, addr), NNG_EADDRINVAL);
- NUTS_CLOSE(s);
-}
-
-void
-test_tls_wild_card_bind(void)
-{
- nng_socket s1;
- nng_socket s2;
- nng_listener l;
- nng_dialer d;
- char addr[NNG_MAXADDRLEN];
- uint16_t port;
- nng_tls_config *cc;
- nng_tls_config *sc;
- nng_tls_config *other;
-
- port = nuts_next_port();
-
- sc = tls_server_config();
- cc = tls_client_config();
-
- NUTS_OPEN(s1);
- NUTS_OPEN(s2);
- (void) snprintf(addr, sizeof(addr), "tls+tcp4://*:%u", port);
- NUTS_PASS(nng_listener_create(&l, s1, addr));
- NUTS_PASS(nng_listener_set_tls(l, sc));
- NUTS_PASS(nng_listener_get_tls(l, &other));
- NUTS_TRUE(sc == other);
- NUTS_PASS(nng_listener_start(l, 0));
- (void) snprintf(addr, sizeof(addr), "tls+tcp://127.0.0.1:%u", port);
- NUTS_PASS(nng_dialer_create(&d, s2, addr));
- NUTS_PASS(nng_dialer_set_tls(d, cc));
- NUTS_PASS(nng_dialer_get_tls(d, &other));
- NUTS_TRUE(cc == other);
- NUTS_PASS(nng_dialer_start(d, 0));
- NUTS_CLOSE(s2);
- NUTS_CLOSE(s1);
- nng_tls_config_free(cc);
- nng_tls_config_free(sc);
-}
-
void
test_tls_port_zero_bind(void)
{
@@ -329,8 +277,6 @@ test_tls_psk(void)
NUTS_TESTS = {
- { "tls wild card connect fail", test_tls_wild_card_connect_fail },
- { "tls wild card bind", test_tls_wild_card_bind },
{ "tls port zero bind", test_tls_port_zero_bind },
{ "tls malformed address", test_tls_malformed_address },
{ "tls no delay option", test_tls_no_delay_option },
diff --git a/src/sp/transport/udp/udp_tran_test.c b/src/sp/transport/udp/udp_tran_test.c
index 151c2783..781c6ad9 100644
--- a/src/sp/transport/udp/udp_tran_test.c
+++ b/src/sp/transport/udp/udp_tran_test.c
@@ -29,20 +29,9 @@ void
test_udp_wild_card_bind(void)
{
nng_socket s1;
- nng_socket s2;
- char addr[NNG_MAXADDRLEN];
- uint16_t port;
-
- port = nuts_next_port();
NUTS_OPEN(s1);
- NUTS_OPEN(s2);
- (void) snprintf(addr, sizeof(addr), "udp4://*:%u", port);
- NUTS_PASS(nng_listen(s1, addr, NULL, 0));
- nng_msleep(500);
- (void) snprintf(addr, sizeof(addr), "udp://127.0.0.1:%u", port);
- NUTS_PASS(nng_dial(s2, addr, NULL, 0));
- NUTS_CLOSE(s2);
+ NUTS_FAIL(nng_listen(s1, "udp://*:8080", NULL, 0), NNG_EADDRINVAL);
NUTS_CLOSE(s1);
}
diff --git a/src/sp/transport/ws/ws_test.c b/src/sp/transport/ws/ws_test.c
index 0f514cfe..23158e3f 100644
--- a/src/sp/transport/ws/ws_test.c
+++ b/src/sp/transport/ws/ws_test.c
@@ -1,5 +1,5 @@
//
-// Copyright 2020 Staysail Systems, Inc. <info@staysail.tech>
+// Copyright 2024 Staysail Systems, Inc. <info@staysail.tech>
// Copyright 2018 Cody Piersall <cody.piersall@gmail.com>
//
// This software is supplied under the terms of the MIT License, a
@@ -99,7 +99,7 @@ test_wild_card_host(void)
port = nuts_next_port();
// we use ws4 to ensure 127.0.0.1 binding
- snprintf(addr, sizeof(addr), "ws4://*:%u/test", port);
+ snprintf(addr, sizeof(addr), "ws4://:%u/test", port);
NUTS_PASS(nng_listen(s1, addr, NULL, 0));
nng_msleep(100);