diff options
| -rw-r--r-- | docs/ref/api/stream.md | 6 | ||||
| -rw-r--r-- | docs/ref/migrate/nng1.md | 14 | ||||
| -rw-r--r-- | docs/ref/xref.md | 4 | ||||
| -rw-r--r-- | include/nng/nng.h | 5 | ||||
| -rw-r--r-- | src/core/stream.c | 7 | ||||
| -rw-r--r-- | src/nng.c | 6 | ||||
| -rw-r--r-- | src/platform/posix/posix_tcpdial.c | 15 | ||||
| -rw-r--r-- | src/platform/tcp_stream_test.c | 6 | ||||
| -rw-r--r-- | src/platform/windows/win_tcpdial.c | 15 | ||||
| -rw-r--r-- | src/sp/transport/dtls/dtls.c | 21 | ||||
| -rw-r--r-- | src/sp/transport/inproc/inproc.c | 15 | ||||
| -rw-r--r-- | src/sp/transport/ipc/ipc_test.c | 3 |
12 files changed, 12 insertions, 105 deletions
diff --git a/docs/ref/api/stream.md b/docs/ref/api/stream.md index 3bed7923..bce310ec 100644 --- a/docs/ref/api/stream.md +++ b/docs/ref/api/stream.md @@ -267,14 +267,12 @@ stream = nng_aio_get_output(aio, 0); ## Stream Factory Options ```c -nng_err nng_stream_dialer_get_addr(nng_stream_dialer *dialer, const char *opt, nng_sockaddr *valp); nng_err nng_stream_dialer_get_bool(nng_stream_dialer *dialer, const char *opt, bool *valp); nng_err nng_stream_dialer_get_int(nng_stream_dialer *dialer, const char *opt, int *valp); nng_err nng_stream_dialer_get_ms(nng_stream_dialer *dialer, const char *opt, nng_duration *valp); nng_err nng_stream_dialer_get_size(nng_stream_dialer *dialer, const char *opt, size_t *valp); nng_err nng_stream_dialer_get_string(nng_stream_dialer *dialer, const char *opt, const char **valp); -nng_err nng_stream_listener_get_addr(nng_stream_listener *listener, const char *opt, nng_sockaddr *valp); nng_err nng_stream_listener_get_bool(nng_stream_listener *listener, const char *opt, bool *valp); nng_err nng_stream_listener_get_int(nng_stream_listener *listener, const char *opt, int *valp); nng_err nng_stream_listener_get_ms(nng_stream_listener *listener, const char *opt, nng_duration *valp); @@ -288,7 +286,6 @@ nng_err nng_stream_dialer_set_ms(nng_stream_dialer *dialer, const char *opt, nng nng_err nng_stream_dialer_set_size(nng_stream_dialer *dialer, const char *opt, size_t val); nng_err nng_stream_dialer_set_string(nng_stream_dialer *dialer, const char *opt, const char *val); -nng_err nng_stream_listener_set_addr(nng_stream_listener *listener, const char *opt, const nng_sockaddr *val); nng_err nng_stream_listener_set_bool(nng_stream_listener *listener, const char *opt, bool val); nng_err nng_stream_listener_set_int(nng_stream_listener *listener, const char *opt, int val); nng_err nng_stream_listener_set_ms(nng_stream_listener *listener, const char *opt, nng_duration val); @@ -300,7 +297,6 @@ nng_err nng_stream_listener_set_string(nng_stream_listener *listener, const char {{hi:`nng_stream_dialer_get_int`}} {{hi:`nng_stream_dialer_get_ms`}} {{hi:`nng_stream_dialer_get_size`}} -{{hi:`nng_stream_dialer_get_addr`}} {{hi:`nng_stream_dialer_get_string`}} {{hi:`nng_stream_dialer_set_bool`}} {{hi:`nng_stream_dialer_set_int`}} @@ -333,7 +329,7 @@ the string is only valid as long as the associated object remains open. In the case of `nng_stream_dialer_set_string` and `nng_stream_listener_set_string`, the string contents are copied if necessary, so that the caller need not retain the value referenced once the function returns. -In the case of `nng_stream_dialer_set_addr` and `nng_stream_listener_set_addr`, the contents of _addr_ are copied if necessary, so that the caller +In the case of `nng_stream_dialer_set_addr`, the contents of _addr_ are copied if necessary, so that the caller need not retain the value referenced once the function returns. ### Example 4: Socket Activation<a name="socket-activation"></a> diff --git a/docs/ref/migrate/nng1.md b/docs/ref/migrate/nng1.md index 6e0a1143..1f78ee15 100644 --- a/docs/ref/migrate/nng1.md +++ b/docs/ref/migrate/nng1.md @@ -173,12 +173,13 @@ address separated by a semicolon. This was provided for legacy libnanomsg compatibility, and is no longer offered. The correct way to specify a local address is by setting `NNG_OPT_LOCADDR` on the dialer. -## Support for Remote Address Options Removed +## Support for Address Options Removed -The `NNG_OPT_REMADDR` option is removed. For streams and pipes, there are +The `NNG_OPT_REMADDR` and `NNG_OPT_LOCADDR` options are removed. For streams and pipes, there are [`nng_stream_peer_addr`] and [`nng_pipe_peer_addr`] functions. For dialers and stream dialers, the application should track the relevant information -used to configure the listener. +used to configure the listener. Functions formerly used to configure these are +removed as well. ## IPC Option Type Changes @@ -228,6 +229,7 @@ and are thus removed: - `nng_stream_listener_set_ptr` - `nng_stream_listener_get_uint64` - `nng_stream_listener_set_uint64` +- `nng_stream_listener_get_addr` - `nng_ctx_get_ptr` (not documented) - `nng_ctx_set_ptr` (not documented) @@ -379,6 +381,10 @@ They may silently truncate data. The HTTP handler objects may not be modified once in use. Previously this would fail with `NNG_EBUSY`. These checks are removed now, but debug builds will assert if an application tries to do so. +The `nng_http_server_get_addr` function is removed. Instead there is now +[`nng_http_server_get_port`] which can be used to obtain the port actually bound if the server +was configured with port 0. + ## WebSocket API The `NNG_OPT_WSS_REQUEST_HEADERS`, `NNG_OPT_WSS_RESPONSE_HEADERS` and @@ -417,7 +423,7 @@ is planned to provided coexistence between ZeroTier & the native stack's TCP/IP ## Abstract Autobinding No Longer Supported -As we have removed `NNG_OPT_LOCADDR` for listeners, it is no longer possible to meaningfully +As we have removed `NNG_OPT_LOCADDR`, it is no longer possible to meaningfully use autobinding with abstract sockets on Linux. This is trivially worked around by using a large (say 128-bit) random integer as the name. diff --git a/docs/ref/xref.md b/docs/ref/xref.md index 80a3d1b7..55f77fff 100644 --- a/docs/ref/xref.md +++ b/docs/ref/xref.md @@ -149,7 +149,6 @@ [`nng_stream_dialer_get_int`]: ../api/stream.md#stream-factory-options [`nng_stream_dialer_get_ms`]: ../api/stream.md#stream-factory-options [`nng_stream_dialer_get_size`]: ../api/stream.md#stream-factory-options -[`nng_stream_dialer_get_addr`]: ../api/stream.md#stream-factory-options [`nng_stream_dialer_get_string`]: ../api/stream.md#stream-factory-options [`nng_stream_dialer_set_bool`]: ../api/stream.md#stream-factory-options [`nng_stream_dialer_set_int`]: ../api/stream.md#stream-factory-options @@ -222,12 +221,10 @@ [`nng_listener_create`]: ../TODO.md [`nng_listener_close`]: ../TODO.md [`nng_listener_set`]: ../TODO.md -[`nng_socket_set`]: ../api/sock.md#socket-options [`nng_socket_set_bool`]: ../api/sock.md#socket-options [`nng_socket_set_int`]: ../api/sock.md#socket-options [`nng_socket_set_ms`]: ../api/sock.md#socket-options [`nng_socket_set_size`]: ../api/sock.md#socket-options -[`nng_socket_get`]: ../api/sock.md#socket-options [`nng_socket_get_bool`]: ../api/sock.md#socket-options [`nng_socket_get_int`]: ../api/sock.md#socket-options [`nng_socket_get_ms`]: ../api/sock.md#socket-options @@ -449,7 +446,6 @@ [`NNG_OPT_SENDBUF`]: ../api/sock.md#NNG_OPT_SENDBUF [`NNG_OPT_RECVBUF`]: ../api/sock.md#NNG_OPT_RECVBUF [`NNG_OPT_RECVMAXSZ`]: ../api/sock.md#NNG_OPT_RECVMAXSZ -[`NNG_OPT_LOCADDR`]: ../api/sock.md#NNG_OPT_LOCADDR [`NNG_OPT_PEER_UID`]: ../tran/ipc.md#NNG_OPT_PEER_UID [`NNG_OPT_PEER_GID`]: ../tran/ipc.md#NNG_OPT_PEER_GID [`NNG_OPT_PEER_PID`]: ../tran/ipc.md#NNG_OPT_PEER_PID diff --git a/include/nng/nng.h b/include/nng/nng.h index 66745dbe..9978915e 100644 --- a/include/nng/nng.h +++ b/include/nng/nng.h @@ -834,8 +834,7 @@ NNG_DECL nng_listener nng_pipe_listener(nng_pipe); // to be used after starting the listener in combination with a wildcard // (0) local port. This determines the actual ephemeral port that was // selected and bound. The value is provided as an int, but in practice -// port numbers are only 16-bits. This is provided in native byte order, -// which makes it more convenient than using the NNG_OPT_LOCADDR option. +// port numbers are only 16-bits. #define NNG_OPT_BOUND_PORT "bound-port" // UDP options. @@ -1177,8 +1176,6 @@ NNG_DECL nng_err nng_stream_dialer_get_uint64( nng_stream_dialer *, const char *, uint64_t *); NNG_DECL nng_err nng_stream_dialer_get_string( nng_stream_dialer *, const char *, const char **); -NNG_DECL nng_err nng_stream_dialer_get_addr( - nng_stream_dialer *, const char *, nng_sockaddr *); NNG_DECL nng_err nng_stream_dialer_set_bool( nng_stream_dialer *, const char *, bool); NNG_DECL nng_err nng_stream_dialer_set_int( diff --git a/src/core/stream.c b/src/core/stream.c index c06bb1e3..c5e719ea 100644 --- a/src/core/stream.c +++ b/src/core/stream.c @@ -441,13 +441,6 @@ nng_stream_dialer_get_ms(nng_stream_dialer *d, const char *n, nng_duration *v) } nng_err -nng_stream_dialer_get_addr( - nng_stream_dialer *d, const char *n, nng_sockaddr *v) -{ - return (nni_stream_dialer_get(d, n, v, NULL, NNI_TYPE_SOCKADDR)); -} - -nng_err nng_stream_dialer_get_tls(nng_stream_dialer *d, nng_tls_config **cfgp) { return (nni_stream_dialer_get_tls(d, cfgp)); @@ -792,12 +792,6 @@ nng_dialer_get_ms(nng_dialer id, const char *n, nng_duration *v) } int -nng_dialer_get_addr(nng_dialer id, const char *n, nng_sockaddr *v) -{ - return (dialer_get(id, n, v, NULL, NNI_TYPE_SOCKADDR)); -} - -int nng_dialer_get_tls(nng_dialer id, nng_tls_config **cfgp) { int rv; diff --git a/src/platform/posix/posix_tcpdial.c b/src/platform/posix/posix_tcpdial.c index 12fa990f..c526185f 100644 --- a/src/platform/posix/posix_tcpdial.c +++ b/src/platform/posix/posix_tcpdial.c @@ -341,20 +341,6 @@ tcp_dialer_get_keepalive(void *arg, void *buf, size_t *szp, nni_type t) } static nng_err -tcp_dialer_get_locaddr(void *arg, void *buf, size_t *szp, nni_type t) -{ - nni_tcp_dialer *d = arg; - nng_sockaddr sa; - - nni_mtx_lock(&d->mtx); - if (nni_posix_sockaddr2nn(&sa, &d->src, d->srclen) != 0) { - sa.s_family = NNG_AF_UNSPEC; - } - nni_mtx_unlock(&d->mtx); - return (nni_copyout_sockaddr(&sa, buf, szp, t)); -} - -static nng_err tcp_dialer_set_locaddr(void *arg, const void *buf, size_t sz, nni_type t) { nni_tcp_dialer *d = arg; @@ -412,7 +398,6 @@ tcp_dialer_set_locaddr(void *arg, const void *buf, size_t sz, nni_type t) static const nni_option tcp_dialer_options[] = { { .o_name = NNG_OPT_LOCADDR, - .o_get = tcp_dialer_get_locaddr, .o_set = tcp_dialer_set_locaddr, }, { diff --git a/src/platform/tcp_stream_test.c b/src/platform/tcp_stream_test.c index 3dffed82..faf5e662 100644 --- a/src/platform/tcp_stream_test.c +++ b/src/platform/tcp_stream_test.c @@ -425,12 +425,6 @@ test_tcp_dialer_loc_addr(void) nng_stream_dialer *d; nng_sockaddr sa; NUTS_PASS(nng_stream_dialer_alloc(&d, "tcp://127.0.0.1:80")); - NUTS_PASS(nng_stream_dialer_get_addr(d, NNG_OPT_LOCADDR, &sa)); - NUTS_TRUE(sa.s_family == NNG_AF_UNSPEC); - - // cannot set a local port - sa.s_in.sa_family = NNG_AF_INET; - sa.s_in.sa_port = 8080; NUTS_FAIL(nng_stream_dialer_set_addr(d, NNG_OPT_LOCADDR, &sa), NNG_EADDRINVAL); diff --git a/src/platform/windows/win_tcpdial.c b/src/platform/windows/win_tcpdial.c index a3d64869..c03d564f 100644 --- a/src/platform/windows/win_tcpdial.c +++ b/src/platform/windows/win_tcpdial.c @@ -311,20 +311,6 @@ tcp_dialer_get_keepalive(void *arg, void *buf, size_t *szp, nni_type t) } static nng_err -tcp_dialer_get_locaddr(void *arg, void *buf, size_t *szp, nni_type t) -{ - nni_tcp_dialer *d = arg; - nng_sockaddr sa; - - nni_mtx_lock(&d->mtx); - if (nni_win_sockaddr2nn(&sa, &d->src, sizeof(d->src)) != 0) { - sa.s_family = NNG_AF_UNSPEC; - } - nni_mtx_unlock(&d->mtx); - return (nni_copyout_sockaddr(&sa, buf, szp, t)); -} - -static nng_err tcp_dialer_set_locaddr(void *arg, const void *buf, size_t sz, nni_type t) { nni_tcp_dialer *d = arg; @@ -380,7 +366,6 @@ tcp_dialer_set_locaddr(void *arg, const void *buf, size_t sz, nni_type t) static const nni_option tcp_dialer_options[] = { { .o_name = NNG_OPT_LOCADDR, - .o_get = tcp_dialer_get_locaddr, .o_set = tcp_dialer_set_locaddr, }, { diff --git a/src/sp/transport/dtls/dtls.c b/src/sp/transport/dtls/dtls.c index 5ac52838..78933bcd 100644 --- a/src/sp/transport/dtls/dtls.c +++ b/src/sp/transport/dtls/dtls.c @@ -1514,23 +1514,6 @@ dtls_ep_get_port(void *arg, void *buf, size_t *szp, nni_type t) } static nng_err -dtls_ep_get_locaddr(void *arg, void *v, size_t *szp, nni_opt_type t) -{ - dtls_ep *ep = arg; - nng_sockaddr sa; - - nni_mtx_lock(&ep->mtx); - if (ep->udp != NULL) { - (void) nng_udp_sockname(ep->udp, &sa); - } else { - sa = ep->self_sa; - } - nni_mtx_unlock(&ep->mtx); - - return (nni_copyout_sockaddr(&sa, v, szp, t)); -} - -static nng_err dtls_ep_get_recvmaxsz(void *arg, void *v, size_t *szp, nni_opt_type t) { dtls_ep *ep = arg; @@ -1687,10 +1670,6 @@ static const nni_option dtls_ep_opts[] = { .o_set = dtls_ep_set_recvmaxsz, }, { - .o_name = NNG_OPT_LOCADDR, - .o_get = dtls_ep_get_locaddr, - }, - { .o_name = NNG_OPT_BOUND_PORT, .o_get = dtls_ep_get_port, }, diff --git a/src/sp/transport/inproc/inproc.c b/src/sp/transport/inproc/inproc.c index dc95e1e4..ff692681 100644 --- a/src/sp/transport/inproc/inproc.c +++ b/src/sp/transport/inproc/inproc.c @@ -547,17 +547,6 @@ inproc_ep_set_recvmaxsz(void *arg, const void *v, size_t sz, nni_opt_type t) return (rv); } -static nng_err -inproc_ep_get_addr(void *arg, void *v, size_t *szp, nni_opt_type t) -{ - inproc_ep *ep = arg; - nng_sockaddr sa; - sa.s_inproc.sa_family = NNG_AF_INPROC; - nni_strlcpy( - sa.s_inproc.sa_name, ep->addr, sizeof(sa.s_inproc.sa_name)); - return (nni_copyout_sockaddr(&sa, v, szp, t)); -} - static const nni_option inproc_pipe_options[] = { // terminate list { @@ -605,10 +594,6 @@ static const nni_option inproc_ep_options[] = { .o_get = inproc_ep_get_recvmaxsz, .o_set = inproc_ep_set_recvmaxsz, }, - { - .o_name = NNG_OPT_LOCADDR, - .o_get = inproc_ep_get_addr, - }, // terminate list { .o_name = NULL, diff --git a/src/sp/transport/ipc/ipc_test.c b/src/sp/transport/ipc/ipc_test.c index 3131e774..d550592a 100644 --- a/src/sp/transport/ipc/ipc_test.c +++ b/src/sp/transport/ipc/ipc_test.c @@ -67,9 +67,6 @@ test_ipc_dialer_properties(void) NUTS_ADDR(addr, "ipc"); NUTS_OPEN(s); NUTS_PASS(nng_dial(s, addr, &d, NNG_FLAG_NONBLOCK)); - // Dialers don't have local addresses. - NUTS_FAIL(nng_dialer_get_addr(d, NNG_OPT_LOCADDR, &sa), NNG_ENOTSUP); - NUTS_FAIL(nng_dialer_set_addr(d, NNG_OPT_LOCADDR, &sa), NNG_ENOTSUP); z = 8192; NUTS_PASS(nng_dialer_set_size(d, NNG_OPT_RECVMAXSZ, z)); |
