aboutsummaryrefslogtreecommitdiff
path: root/src/sp
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-10-20 23:43:44 -0700
committerGarrett D'Amore <garrett@damore.org>2024-10-20 23:43:44 -0700
commit53e8dbbe3c2bd82fb7ac8583a45e7fcfec173cc1 (patch)
tree173a51c6094fc9aecb9f8baea550a5c3ac29974c /src/sp
parentd05ff4934e57c55841a12a41eea41934267150ae (diff)
downloadnng-53e8dbbe3c2bd82fb7ac8583a45e7fcfec173cc1.tar.gz
nng-53e8dbbe3c2bd82fb7ac8583a45e7fcfec173cc1.tar.bz2
nng-53e8dbbe3c2bd82fb7ac8583a45e7fcfec173cc1.zip
remove legacy support for configuration of transport options on socket
Transport specific options should be configured on the end point. This has the most impact for TLS, as TLS dialers and listeners will need to be allocated apriori, to configure TLS options. Some legacy tests were removed... we're going to remove the legacy libnanomsg compatibility layer anyway.
Diffstat (limited to 'src/sp')
-rw-r--r--src/sp/transport/tcp/tcp_test.c30
-rw-r--r--src/sp/transport/tls/tls_tran_test.c128
2 files changed, 36 insertions, 122 deletions
diff --git a/src/sp/transport/tcp/tcp_test.c b/src/sp/transport/tcp/tcp_test.c
index 005fd2b0..5a4e5647 100644
--- a/src/sp/transport/tcp/tcp_test.c
+++ b/src/sp/transport/tcp/tcp_test.c
@@ -144,10 +144,6 @@ test_tcp_no_delay_option(void)
NUTS_ADDR(addr, "tcp");
NUTS_OPEN(s);
-#ifndef NNG_ELIDE_DEPRECATED
- NUTS_PASS(nng_socket_get_bool(s, NNG_OPT_TCP_NODELAY, &v));
- NUTS_TRUE(v);
-#endif
NUTS_PASS(nng_dialer_create(&d, s, addr));
NUTS_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_NODELAY, &v));
NUTS_TRUE(v);
@@ -178,17 +174,6 @@ test_tcp_no_delay_option(void)
NUTS_PASS(nng_dialer_close(d));
NUTS_PASS(nng_listener_close(l));
- // Make sure socket wide defaults apply.
-#ifndef NNG_ELIDE_DEPRECATED
- NUTS_PASS(nng_socket_set_bool(s, NNG_OPT_TCP_NODELAY, true));
- v = false;
- NUTS_PASS(nng_socket_get_bool(s, NNG_OPT_TCP_NODELAY, &v));
- NUTS_TRUE(v);
- NUTS_PASS(nng_socket_set_bool(s, NNG_OPT_TCP_NODELAY, false));
- NUTS_PASS(nng_dialer_create(&d, s, addr));
- NUTS_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_NODELAY, &v));
- NUTS_TRUE(v == false);
-#endif
NUTS_CLOSE(s);
}
@@ -204,10 +189,6 @@ test_tcp_keep_alive_option(void)
NUTS_ADDR(addr, "tcp");
NUTS_OPEN(s);
-#ifndef NNG_ELIDE_DEPRECATED
- NUTS_PASS(nng_socket_get_bool(s, NNG_OPT_TCP_KEEPALIVE, &v));
- NUTS_TRUE(v == false);
-#endif
NUTS_PASS(nng_dialer_create(&d, s, addr));
NUTS_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_KEEPALIVE, &v));
NUTS_TRUE(v == false);
@@ -230,17 +211,6 @@ test_tcp_keep_alive_option(void)
NUTS_PASS(nng_dialer_close(d));
NUTS_PASS(nng_listener_close(l));
- // Make sure socket wide defaults apply.
-#ifndef NNG_ELIDE_DEPRECATED
- NUTS_PASS(nng_socket_set_bool(s, NNG_OPT_TCP_KEEPALIVE, false));
- v = true;
- NUTS_PASS(nng_socket_get_bool(s, NNG_OPT_TCP_KEEPALIVE, &v));
- NUTS_TRUE(v == false);
- NUTS_PASS(nng_socket_set_bool(s, NNG_OPT_TCP_KEEPALIVE, true));
- NUTS_PASS(nng_dialer_create(&d, s, addr));
- NUTS_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_KEEPALIVE, &v));
- NUTS_TRUE(v);
-#endif
NUTS_CLOSE(s);
}
diff --git a/src/sp/transport/tls/tls_tran_test.c b/src/sp/transport/tls/tls_tran_test.c
index d2425b09..ee11d8b9 100644
--- a/src/sp/transport/tls/tls_tran_test.c
+++ b/src/sp/transport/tls/tls_tran_test.c
@@ -49,18 +49,15 @@ tls_client_config(void)
static void
test_tls_wild_card_connect_fail(void)
{
- nng_socket s;
- nng_tls_config *c;
- char addr[NNG_MAXADDRLEN];
+ nng_socket s;
+ nng_dialer d;
+ char addr[NNG_MAXADDRLEN];
NUTS_OPEN(s);
- c = tls_client_config();
- nng_socket_set_ptr(s, NNG_OPT_TLS_CONFIG, c);
(void) snprintf(
addr, sizeof(addr), "tls+tcp://*:%u", nuts_next_port());
- NUTS_FAIL(nng_dial(s, addr, NULL, 0), NNG_EADDRINVAL);
+ NUTS_FAIL(nng_dialer_create(&d, s, addr), NNG_EADDRINVAL);
NUTS_CLOSE(s);
- nng_tls_config_free(c);
}
void
@@ -68,6 +65,8 @@ 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;
@@ -81,11 +80,13 @@ test_tls_wild_card_bind(void)
NUTS_OPEN(s1);
NUTS_OPEN(s2);
(void) snprintf(addr, sizeof(addr), "tls+tcp4://*:%u", port);
- nng_socket_set_ptr(s1, NNG_OPT_TLS_CONFIG, sc);
- nng_socket_set_ptr(s2, NNG_OPT_TLS_CONFIG, cc);
- NUTS_PASS(nng_listen(s1, addr, NULL, 0));
+ NUTS_PASS(nng_listener_create(&l, s1, addr));
+ NUTS_PASS(nng_listener_set_ptr(l, NNG_OPT_TLS_CONFIG, sc));
+ NUTS_PASS(nng_listener_start(l, 0));
(void) snprintf(addr, sizeof(addr), "tls+tcp://127.0.0.1:%u", port);
- NUTS_PASS(nng_dial(s2, addr, NULL, 0));
+ NUTS_PASS(nng_dialer_create(&d, s2, addr));
+ NUTS_PASS(nng_dialer_set_ptr(d, NNG_OPT_TLS_CONFIG, cc));
+ NUTS_PASS(nng_dialer_start(d, 0));
NUTS_CLOSE(s2);
NUTS_CLOSE(s1);
nng_tls_config_free(cc);
@@ -100,22 +101,25 @@ test_tls_port_zero_bind(void)
nng_tls_config *c1, *c2;
nng_sockaddr sa;
nng_listener l;
+ nng_dialer d;
char *addr;
c1 = tls_server_config();
c2 = tls_client_config();
NUTS_OPEN(s1);
NUTS_OPEN(s2);
- nng_socket_set_ptr(s1, NNG_OPT_TLS_CONFIG, c1);
- nng_socket_set_ptr(s2, NNG_OPT_TLS_CONFIG, c2);
- NUTS_PASS(nng_listen(s1, "tls+tcp://127.0.0.1:0", &l, 0));
+ NUTS_PASS(nng_listener_create(&l, s1, "tls+tcp://127.0.0.1:0"));
+ NUTS_PASS(nng_listener_set_ptr(l, NNG_OPT_TLS_CONFIG, c1));
+ NUTS_PASS(nng_listener_start(l, 0));
NUTS_PASS(nng_listener_get_string(l, NNG_OPT_URL, &addr));
NUTS_TRUE(memcmp(addr, "tls+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_dial(s2, addr, NULL, 0));
+ NUTS_PASS(nng_dialer_create(&d, s2, addr));
+ NUTS_PASS(nng_dialer_set_ptr(d, NNG_OPT_TLS_CONFIG, c2));
+ NUTS_PASS(nng_dialer_start(d, 0));
nng_strfree(addr);
NUTS_CLOSE(s2);
NUTS_CLOSE(s1);
@@ -130,6 +134,8 @@ test_tls_local_address_connect(void)
nng_socket s1;
nng_socket s2;
nng_tls_config *c1, *c2;
+ nng_dialer d;
+ nng_listener l;
char addr[NNG_MAXADDRLEN];
uint16_t port;
@@ -137,14 +143,16 @@ test_tls_local_address_connect(void)
c2 = tls_client_config();
NUTS_OPEN(s1);
NUTS_OPEN(s2);
- nng_socket_set_ptr(s1, NNG_OPT_TLS_CONFIG, c1);
- nng_socket_set_ptr(s2, NNG_OPT_TLS_CONFIG, c2);
port = nuts_next_port();
(void) snprintf(addr, sizeof(addr), "tls+tcp://127.0.0.1:%u", port);
- NUTS_PASS(nng_listen(s1, addr, NULL, 0));
+ NUTS_PASS(nng_listener_create(&l, s1, addr));
+ NUTS_PASS(nng_listener_set_ptr(l, NNG_OPT_TLS_CONFIG, c1));
+ NUTS_PASS(nng_listener_start(l, 0));
(void) snprintf(
addr, sizeof(addr), "tls+tcp://127.0.0.1;127.0.0.1:%u", port);
- NUTS_PASS(nng_dial(s2, addr, NULL, 0));
+ NUTS_PASS(nng_dialer_create(&d, s2, addr));
+ NUTS_PASS(nng_dialer_set_ptr(d, NNG_OPT_TLS_CONFIG, c2));
+ NUTS_PASS(nng_dialer_start(d, 0));
NUTS_CLOSE(s2);
NUTS_CLOSE(s1);
nng_tls_config_free(c1);
@@ -152,47 +160,11 @@ test_tls_local_address_connect(void)
}
void
-test_tls_bad_local_interface(void)
-{
- nng_socket s1;
- nng_tls_config *c1;
- int rv;
-
- c1 = tls_client_config();
- NUTS_OPEN(s1);
- nng_socket_set_ptr(s1, NNG_OPT_TLS_CONFIG, c1);
- nng_tls_config_free(c1); // ref count held by socket
- rv = nng_dial(s1, "tcp://bogus1;127.0.0.1:80", NULL, 0),
- NUTS_TRUE(rv != 0);
- NUTS_TRUE(rv != NNG_ECONNREFUSED);
- NUTS_CLOSE(s1);
-}
-
-void
-test_tls_non_local_address(void)
-{
- nng_socket s1;
- nng_tls_config *c1;
-
- c1 = tls_client_config();
- NUTS_OPEN(s1);
- nng_socket_set_ptr(s1, NNG_OPT_TLS_CONFIG, c1);
- NUTS_FAIL(nng_dial(s1, "tls+tcp://8.8.8.8;127.0.0.1:80", NULL, 0),
- NNG_EADDRINVAL);
- NUTS_CLOSE(s1);
- nng_tls_config_free(c1);
-}
-
-void
test_tls_malformed_address(void)
{
- nng_socket s1;
- nng_tls_config *c1;
+ nng_socket s1;
NUTS_OPEN(s1);
- c1 = tls_client_config();
- nng_socket_set_ptr(s1, NNG_OPT_TLS_CONFIG, c1);
- nng_tls_config_free(c1);
NUTS_FAIL(
nng_dial(s1, "tls+tcp://127.0.0.1", NULL, 0), NNG_EADDRINVAL);
NUTS_FAIL(
@@ -222,10 +194,6 @@ test_tls_no_delay_option(void)
lc = tls_server_config();
NUTS_OPEN(s);
-#ifndef NNG_ELIDE_DEPRECATED
- NUTS_PASS(nng_socket_get_bool(s, NNG_OPT_TCP_NODELAY, &v));
- NUTS_TRUE(v);
-#endif
NUTS_PASS(nng_dialer_create(&d, s, addr));
NUTS_PASS(nng_dialer_set_ptr(d, NNG_OPT_TLS_CONFIG, dc));
NUTS_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_NODELAY, &v));
@@ -258,17 +226,6 @@ test_tls_no_delay_option(void)
NUTS_PASS(nng_dialer_close(d));
NUTS_PASS(nng_listener_close(l));
- // Make sure socket wide defaults apply.
-#ifndef NNG_ELIDE_DEPRECATED
- NUTS_PASS(nng_socket_set_bool(s, NNG_OPT_TCP_NODELAY, true));
- v = false;
- NUTS_PASS(nng_socket_get_bool(s, NNG_OPT_TCP_NODELAY, &v));
- NUTS_TRUE(v);
- NUTS_PASS(nng_socket_set_bool(s, NNG_OPT_TCP_NODELAY, false));
- NUTS_PASS(nng_dialer_create(&d, s, addr));
- NUTS_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_NODELAY, &v));
- NUTS_TRUE(v == false);
-#endif
NUTS_CLOSE(s);
nng_tls_config_free(lc);
nng_tls_config_free(dc);
@@ -289,10 +246,6 @@ test_tls_keep_alive_option(void)
lc = tls_server_config();
NUTS_ADDR(addr, "tls+tcp");
NUTS_OPEN(s);
-#ifndef NNG_ELIDE_DEPRECATED
- NUTS_PASS(nng_socket_get_bool(s, NNG_OPT_TCP_KEEPALIVE, &v));
- NUTS_TRUE(v == false);
-#endif
NUTS_PASS(nng_dialer_create(&d, s, addr));
NUTS_PASS(nng_dialer_set_ptr(d, NNG_OPT_TLS_CONFIG, dc));
NUTS_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_KEEPALIVE, &v));
@@ -317,17 +270,6 @@ test_tls_keep_alive_option(void)
NUTS_PASS(nng_dialer_close(d));
NUTS_PASS(nng_listener_close(l));
- // Make sure socket wide defaults apply.
-#ifndef NNG_ELIDE_DEPRECATED
- NUTS_PASS(nng_socket_set_bool(s, NNG_OPT_TCP_KEEPALIVE, false));
- v = true;
- NUTS_PASS(nng_socket_get_bool(s, NNG_OPT_TCP_KEEPALIVE, &v));
- NUTS_TRUE(v == false);
- NUTS_PASS(nng_socket_set_bool(s, NNG_OPT_TCP_KEEPALIVE, true));
- NUTS_PASS(nng_dialer_create(&d, s, addr));
- NUTS_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_KEEPALIVE, &v));
- NUTS_TRUE(v);
-#endif
NUTS_CLOSE(s);
nng_tls_config_free(lc);
nng_tls_config_free(dc);
@@ -342,6 +284,7 @@ test_tls_recv_max(void)
nng_socket s1;
nng_tls_config *c0, *c1;
nng_listener l;
+ nng_dialer d;
size_t sz;
char *addr;
@@ -360,8 +303,9 @@ test_tls_recv_max(void)
NUTS_PASS(nng_listener_start(l, 0));
NUTS_OPEN(s1);
- NUTS_PASS(nng_socket_set_ptr(s1, NNG_OPT_TLS_CONFIG, c1));
- NUTS_PASS(nng_dial(s1, addr, NULL, 0));
+ NUTS_PASS(nng_dialer_create(&d, s1, addr));
+ NUTS_PASS(nng_dialer_set_ptr(d, NNG_OPT_TLS_CONFIG, c1));
+ NUTS_PASS(nng_dialer_start(d, 0));
NUTS_PASS(nng_send(s1, msg, 95, 0));
NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 100));
NUTS_PASS(nng_recv(s0, buf, &sz, 0));
@@ -383,6 +327,7 @@ test_tls_psk(void)
nng_socket s1;
nng_tls_config *c0, *c1;
nng_listener l;
+ nng_dialer d;
size_t sz;
char *addr;
uint8_t key[32];
@@ -402,8 +347,9 @@ test_tls_psk(void)
NUTS_PASS(nng_listener_start(l, 0));
NUTS_OPEN(s1);
- NUTS_PASS(nng_socket_set_ptr(s1, NNG_OPT_TLS_CONFIG, c1));
- NUTS_PASS(nng_dial(s1, addr, NULL, 0));
+ NUTS_PASS(nng_dialer_create(&d, s1, addr));
+ NUTS_PASS(nng_dialer_set_ptr(d, NNG_OPT_TLS_CONFIG, c1));
+ NUTS_PASS(nng_dialer_start(d, 0));
NUTS_PASS(nng_send(s1, msg, 95, 0));
NUTS_PASS(nng_recv(s0, buf, &sz, 0));
NUTS_TRUE(sz == 95);
@@ -419,8 +365,6 @@ NUTS_TESTS = {
{ "tls wild card bind", test_tls_wild_card_bind },
{ "tls port zero bind", test_tls_port_zero_bind },
{ "tls local address connect", test_tls_local_address_connect },
- { "tls bad local interface", test_tls_bad_local_interface },
- { "tls non-local address", test_tls_non_local_address },
{ "tls malformed address", test_tls_malformed_address },
{ "tls no delay option", test_tls_no_delay_option },
{ "tls keep alive option", test_tls_keep_alive_option },