diff options
Diffstat (limited to 'src/sp/transport/tls/tls_tran_test.c')
| -rw-r--r-- | src/sp/transport/tls/tls_tran_test.c | 128 |
1 files changed, 36 insertions, 92 deletions
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 }, |
