aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-11-21 22:26:22 -0800
committerGarrett D'Amore <garrett@damore.org>2024-11-21 22:26:22 -0800
commit7ea8abadec355eb7ea9f71fc2e2bdd73c1c77c62 (patch)
tree342050510f6a8770c164042e692a2d8f975f92c0 /src
parent8abf99028c3c3d26f0eba76fa4b3437c082a8874 (diff)
downloadnng-7ea8abadec355eb7ea9f71fc2e2bdd73c1c77c62.tar.gz
nng-7ea8abadec355eb7ea9f71fc2e2bdd73c1c77c62.tar.bz2
nng-7ea8abadec355eb7ea9f71fc2e2bdd73c1c77c62.zip
Use 32-bit port numbers.
While TCP and UDP port numbers are 16-bits, ZT uses a larger (24-bit) port number.
Diffstat (limited to 'src')
-rw-r--r--src/core/platform.h2
-rw-r--r--src/core/url.c2
-rw-r--r--src/core/url.h2
-rw-r--r--src/platform/posix/posix_resolv_gai.c2
-rw-r--r--src/platform/resolver_test.c2
-rw-r--r--src/platform/windows/win_resolv.c2
-rw-r--r--src/supplemental/http/http_server.c6
7 files changed, 10 insertions, 8 deletions
diff --git a/src/core/platform.h b/src/core/platform.h
index 783cc9fc..0249e2a0 100644
--- a/src/core/platform.h
+++ b/src/core/platform.h
@@ -353,7 +353,7 @@ extern int nni_parse_ip_port(const char *, nng_sockaddr *);
// nni_get_port_by_name resolves a name (which may be an ASCII representation
// of a number) to a port number (the value returned is in native byte order.)
-extern int nni_get_port_by_name(const char *, uint16_t *);
+extern int nni_get_port_by_name(const char *, uint32_t *);
//
// IPC (UNIX Domain Sockets & Named Pipes) Support.
diff --git a/src/core/url.c b/src/core/url.c
index 7af6a822..e436b0e1 100644
--- a/src/core/url.c
+++ b/src/core/url.c
@@ -697,7 +697,7 @@ nng_url_scheme(const nng_url *url)
return (url->u_scheme);
}
-uint16_t
+uint32_t
nng_url_port(const nng_url *url)
{
return (url->u_port);
diff --git a/src/core/url.h b/src/core/url.h
index 0f5f33c9..5aa53dfd 100644
--- a/src/core/url.h
+++ b/src/core/url.h
@@ -18,7 +18,7 @@ struct nng_url {
const char *u_scheme; // never NULL
const char *u_userinfo; // will be NULL if not specified
char *u_hostname; // name only, will be "" if not specified
- uint16_t u_port; // port, may be zero for schemes that do not use
+ uint32_t u_port; // port, may be zero for schemes that do not use
char *u_path; // path, will be "" if not specified
char *u_query; // without '?', will be NULL if not specified
char *u_fragment; // without '#', will be NULL if not specified
diff --git a/src/platform/posix/posix_resolv_gai.c b/src/platform/posix/posix_resolv_gai.c
index c26657e9..66d7b35b 100644
--- a/src/platform/posix/posix_resolv_gai.c
+++ b/src/platform/posix/posix_resolv_gai.c
@@ -460,7 +460,7 @@ nni_parse_ip_port(const char *addr, nni_sockaddr *sa)
}
int
-nni_get_port_by_name(const char *name, uint16_t *portp)
+nni_get_port_by_name(const char *name, uint32_t *portp)
{
struct servent *se;
long port;
diff --git a/src/platform/resolver_test.c b/src/platform/resolver_test.c
index 9c7db2c0..005affe3 100644
--- a/src/platform/resolver_test.c
+++ b/src/platform/resolver_test.c
@@ -111,7 +111,7 @@ test_service_names(void)
{
nng_aio *aio;
nng_sockaddr sa;
- uint16_t port;
+ uint32_t port;
NUTS_PASS(nng_aio_alloc(&aio, NULL, NULL));
nni_resolv_ip("8.8.4.4", 80, NNG_AF_INET, true, &sa, aio);
diff --git a/src/platform/windows/win_resolv.c b/src/platform/windows/win_resolv.c
index f9e5e1f6..46695b7e 100644
--- a/src/platform/windows/win_resolv.c
+++ b/src/platform/windows/win_resolv.c
@@ -412,7 +412,7 @@ nni_parse_ip_port(const char *addr, nni_sockaddr *sa)
}
int
-nni_get_port_by_name(const char *name, uint16_t *portp)
+nni_get_port_by_name(const char *name, uint32_t *portp)
{
struct servent *se;
long port;
diff --git a/src/supplemental/http/http_server.c b/src/supplemental/http/http_server.c
index 0f0d2d80..72e7fa72 100644
--- a/src/supplemental/http/http_server.c
+++ b/src/supplemental/http/http_server.c
@@ -77,7 +77,7 @@ struct nng_http_server {
bool fini; // if nni_http_server_fini was called
nni_aio *accaio;
nng_stream_listener *listener;
- int port; // native order
+ uint32_t port; // native order
char *hostname;
nni_list errors;
nni_mtx errors_mtx;
@@ -1014,8 +1014,10 @@ http_server_start(nni_http_server *s)
return (rv);
}
if (s->port == 0) {
+ int port;
nng_stream_listener_get_int(
- s->listener, NNG_OPT_TCP_BOUND_PORT, &s->port);
+ s->listener, NNG_OPT_TCP_BOUND_PORT, &port);
+ s->port = (uint32_t) port;
}
nng_stream_listener_accept(s->listener, s->accaio);
return (0);