aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/ref/api/stream.md6
-rw-r--r--docs/ref/migrate/nng1.md14
-rw-r--r--docs/ref/xref.md4
-rw-r--r--include/nng/nng.h5
-rw-r--r--src/core/stream.c7
-rw-r--r--src/nng.c6
-rw-r--r--src/platform/posix/posix_tcpdial.c15
-rw-r--r--src/platform/tcp_stream_test.c6
-rw-r--r--src/platform/windows/win_tcpdial.c15
-rw-r--r--src/sp/transport/dtls/dtls.c21
-rw-r--r--src/sp/transport/inproc/inproc.c15
-rw-r--r--src/sp/transport/ipc/ipc_test.c3
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));
diff --git a/src/nng.c b/src/nng.c
index 82b1eb91..0b1c2f56 100644
--- a/src/nng.c
+++ b/src/nng.c
@@ -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));