From 53e8dbbe3c2bd82fb7ac8583a45e7fcfec173cc1 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Sun, 20 Oct 2024 23:43:44 -0700 Subject: 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. --- src/core/sock_test.c | 71 ++++++++++---------------------------------- src/core/socket.c | 83 ---------------------------------------------------- 2 files changed, 15 insertions(+), 139 deletions(-) (limited to 'src/core') diff --git a/src/core/sock_test.c b/src/core/sock_test.c index fbf70537..f785d9c0 100644 --- a/src/core/sock_test.c +++ b/src/core/sock_test.c @@ -15,7 +15,7 @@ test_recv_timeout(void) { nng_socket s1; uint64_t now; - nng_msg * msg = NULL; + nng_msg *msg = NULL; NUTS_OPEN(s1); NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 10)); @@ -32,7 +32,7 @@ test_recv_nonblock(void) { nng_socket s1; uint64_t now; - nng_msg * msg = NULL; + nng_msg *msg = NULL; NUTS_OPEN(s1); NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 10)); @@ -48,7 +48,7 @@ test_send_timeout(void) { nng_socket s1; uint64_t now; - nng_msg * msg; + nng_msg *msg; NUTS_OPEN(s1); NUTS_PASS(nng_msg_alloc(&msg, 0)); @@ -66,7 +66,7 @@ test_send_nonblock(void) { nng_socket s1; uint64_t now; - nng_msg * msg; + nng_msg *msg; NUTS_OPEN(s1); NUTS_PASS(nng_msg_alloc(&msg, 0)); @@ -108,9 +108,9 @@ test_socket_name(void) { nng_socket s1; char name[128]; // 64 is max - char * str; + char *str; long id; - char * end; + char *end; size_t sz; sz = sizeof(name); @@ -175,8 +175,8 @@ test_send_recv(void) int len; size_t sz; nng_duration to = 3000; // 3 seconds - char * buf; - char * a = "inproc://t1"; + char *buf; + char *a = "inproc://t1"; NUTS_OPEN(s1); NUTS_OPEN(s2); @@ -215,8 +215,8 @@ test_send_recv_zero_length(void) int len; size_t sz; nng_duration to = 3000; // 3 seconds - char * buf; - char * a = "inproc://send-recv-zero-length"; + char *buf; + char *a = "inproc://send-recv-zero-length"; NUTS_OPEN(s1); NUTS_OPEN(s2); @@ -259,11 +259,11 @@ test_connection_refused(void) void test_late_connection(void) { - char * buf; + char *buf; size_t sz; nng_socket s1; nng_socket s2; - char * a = "inproc://asy"; + char *a = "inproc://asy"; NUTS_OPEN(s1); NUTS_OPEN(s2); @@ -287,7 +287,7 @@ test_late_connection(void) void test_address_busy(void) { - char * a = "inproc://eaddrinuse"; + char *a = "inproc://eaddrinuse"; nng_listener l = NNG_LISTENER_INITIALIZER; nng_dialer d = NNG_DIALER_INITIALIZER; nng_socket s1; @@ -323,7 +323,7 @@ test_endpoint_types(void) nng_listener l = NNG_LISTENER_INITIALIZER; nng_dialer d2; nng_listener l2; - char * a = "inproc://mumble..."; + char *a = "inproc://mumble..."; bool b; NUTS_OPEN(s1); @@ -400,30 +400,10 @@ test_listener_options(void) NUTS_OPEN(s1); -#ifndef NNG_ELIDE_DEPRECATED - // Create a listener with the specified options - NUTS_PASS(nng_socket_set_size(s1, NNG_OPT_RECVMAXSZ, 543)); NUTS_PASS(nng_listener_create(&l, s1, "inproc://listener_opts")); - NUTS_PASS(nng_listener_get_size(l, NNG_OPT_RECVMAXSZ, &sz)); - NUTS_TRUE(sz == 543); - - // Verify endpoint overrides NUTS_PASS(nng_listener_set_size(l, NNG_OPT_RECVMAXSZ, 678)); NUTS_PASS(nng_listener_get_size(l, NNG_OPT_RECVMAXSZ, &sz)); NUTS_TRUE(sz == 678); - NUTS_PASS(nng_socket_get_size(s1, NNG_OPT_RECVMAXSZ, &sz)); - NUTS_TRUE(sz == 543); - - // And socket overrides again - NUTS_PASS(nng_socket_set_size(s1, NNG_OPT_RECVMAXSZ, 911)); - NUTS_PASS(nng_listener_get_size(l, NNG_OPT_RECVMAXSZ, &sz)); - NUTS_TRUE(sz == 911); -#else - NUTS_PASS(nng_listener_create(&l, s1, "inproc://listener_opts")); - NUTS_PASS(nng_listener_set_size(l, NNG_OPT_RECVMAXSZ, 678)); - NUTS_PASS(nng_listener_get_size(l, NNG_OPT_RECVMAXSZ, &sz)); - NUTS_TRUE(sz == 678); -#endif // Cannot set invalid options NUTS_FAIL(nng_listener_set_size(l, "BAD_OPT", 1), NNG_ENOTSUP); @@ -456,31 +436,10 @@ test_dialer_options(void) NUTS_OPEN(s1); -#ifndef NNG_ELIDE_DEPRECATED - // NOTE: This test will fail if eliding deprecated behavior. - // Create a dialer with the specified options - NUTS_PASS(nng_socket_set_size(s1, NNG_OPT_RECVMAXSZ, 543)); NUTS_PASS(nng_dialer_create(&d, s1, "inproc://dialer_opts")); - NUTS_PASS(nng_dialer_get_size(d, NNG_OPT_RECVMAXSZ, &sz)); - NUTS_TRUE(sz == 543); - - // Verify endpoint overrides NUTS_PASS(nng_dialer_set_size(d, NNG_OPT_RECVMAXSZ, 678)); NUTS_PASS(nng_dialer_get_size(d, NNG_OPT_RECVMAXSZ, &sz)); NUTS_TRUE(sz == 678); - NUTS_PASS(nng_socket_get_size(s1, NNG_OPT_RECVMAXSZ, &sz)); - NUTS_TRUE(sz == 543); - - // And socket overrides again - NUTS_PASS(nng_socket_set_size(s1, NNG_OPT_RECVMAXSZ, 911)); - NUTS_PASS(nng_dialer_get_size(d, NNG_OPT_RECVMAXSZ, &sz)); - NUTS_TRUE(sz == 911); -#else - NUTS_PASS(nng_dialer_create(&d, s1, "inproc://dialer_opts")); - NUTS_PASS(nng_dialer_set_size(d, NNG_OPT_RECVMAXSZ, 678)); - NUTS_PASS(nng_dialer_get_size(d, NNG_OPT_RECVMAXSZ, &sz)); - NUTS_TRUE(sz == 678); -#endif // Cannot set invalid options NUTS_FAIL(nng_dialer_set_size(d, "BAD_OPT", 1), NNG_ENOTSUP); @@ -588,7 +547,7 @@ test_size_options(void) nng_socket s1; size_t val; size_t sz; - char * opt; + char *opt; char *cases[] = { NNG_OPT_RECVMAXSZ, diff --git a/src/core/socket.c b/src/core/socket.c index c4e16f70..88a11382 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -1036,57 +1036,6 @@ nni_sock_setopt( 0) { return (rv); } - -#if !defined(NNG_ELIDE_DEPRECATED) - // TCP options, set via socket is deprecated. - } else if ((strcmp(name, NNG_OPT_TCP_KEEPALIVE) == 0) || - (strcmp(name, NNG_OPT_TCP_NODELAY)) == 0) { - if ((rv = nni_copyin_bool(NULL, v, sz, t)) != 0) { - return (rv); - } -#endif - -#if defined(NNG_SUPP_TLS) && !defined(NNG_ELIDE_DEPRECATED) - // TLS options may not be supported if TLS is not - // compiled in. Supporting all these is deprecated. - } else if (strcmp(name, NNG_OPT_TLS_CONFIG) == 0) { - nng_tls_config *tc; - if ((rv = nni_copyin_ptr((void **) &tc, v, sz, t)) != 0) { - return (rv); - } - // place a hold on this configuration object - nng_tls_config_hold(tc); - - } else if ((strcmp(name, NNG_OPT_TLS_SERVER_NAME) == 0) || - (strcmp(name, NNG_OPT_TLS_CA_FILE) == 0) || - (strcmp(name, NNG_OPT_TLS_CERT_KEY_FILE) == 0)) { - if ((t != NNI_TYPE_OPAQUE) && (t != NNI_TYPE_STRING)) { - return (NNG_EBADTYPE); - } - if (nni_strnlen(v, sz) >= sz) { - return (NNG_EINVAL); - } - } else if ((strcmp(name, NNG_OPT_TLS_AUTH_MODE) == 0)) { - // 0, 1, or 2 (none, optional, required) - if ((rv = nni_copyin_int(NULL, v, sz, 0, 2, t)) != 0) { - return (rv); - } -#endif - -#if defined(NNG_PLATFORM_POSIX) && !defined(NNG_ELIDE_DEPRECATED) - } else if (strcmp(name, NNG_OPT_IPC_PERMISSIONS) == 0) { - // UNIX mode bits are 0777, but allow set id and sticky bits - if ((rv = nni_copyin_int(NULL, v, sz, 0, 07777, t)) != 0) { - return (rv); - } -#endif - -#if defined(NNG_PLATFORM_WINDOWS) && !defined(NNG_ELIDE_DEPRECATED) - } else if (strcmp(name, NNG_OPT_IPC_SECURITY_DESCRIPTOR) == 0) { - if ((rv = nni_copyin_ptr(NULL, v, sz, t)) == 0) { - return (rv); - } -#endif } // Prepare a copy of the socket option. @@ -1122,38 +1071,6 @@ nni_sock_setopt( } } -#ifndef NNG_ELIDE_DEPRECATED - nni_dialer *d; - nni_listener *l; - - // Apply the options. Failure to set any option on any - // transport (other than ENOTSUP) stops the operation - // altogether. Its important that transport wide checks - // properly pre-validate. - NNI_LIST_FOREACH (&s->s_listeners, l) { - int x; - x = nni_listener_setopt(l, optv->name, optv->data, sz, t); - if (x != NNG_ENOTSUP) { - if ((rv = x) != 0) { - nni_mtx_unlock(&s->s_mx); - nni_free_opt(optv); - return (rv); - } - } - } - NNI_LIST_FOREACH (&s->s_dialers, d) { - int x; - x = nni_dialer_setopt(d, optv->name, optv->data, sz, t); - if (x != NNG_ENOTSUP) { - if ((rv = x) != 0) { - nni_mtx_unlock(&s->s_mx); - nni_free_opt(optv); - return (rv); - } - } - } -#endif - if (rv == 0) { // Remove and toss the old value; we are using a new one. if (oldv != NULL) { -- cgit v1.2.3-70-g09d2