git: 1ea204b91909 - main - inpcb: make net.inet.ip.portrange port number limiting sysctls unsigned
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 07 Jul 2026 16:29:15 UTC
The branch main has been updated by glebius:
URL: https://cgit.FreeBSD.org/src/commit/?id=1ea204b91909fe6c2060b1fa522b31bb5b8c7dd1
commit 1ea204b91909fe6c2060b1fa522b31bb5b8c7dd1
Author: Gleb Smirnoff <glebius@FreeBSD.org>
AuthorDate: 2026-07-07 16:28:48 +0000
Commit: Gleb Smirnoff <glebius@FreeBSD.org>
CommitDate: 2026-07-07 16:28:48 +0000
inpcb: make net.inet.ip.portrange port number limiting sysctls unsigned
And make net.inet.ip.portrange.randomized boolean.
Reviewed by: pouria, tuexen, markj
Differential Revision: https://reviews.freebsd.org/D57291
---
sys/netinet/in_pcb.c | 48 ++++++++++++++++++++++++------------------------
sys/netinet/in_pcb.h | 18 +++++++++---------
2 files changed, 33 insertions(+), 33 deletions(-)
diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c
index 84b175b42eec..7a9e327893ca 100644
--- a/sys/netinet/in_pcb.c
+++ b/sys/netinet/in_pcb.c
@@ -115,23 +115,23 @@
* These configure the range of local port addresses assigned to
* "unspecified" outgoing connections/packets/whatever.
*/
-VNET_DEFINE(int, ipport_lowfirstauto) = IPPORT_RESERVED - 1; /* 1023 */
-VNET_DEFINE(int, ipport_lowlastauto) = IPPORT_RESERVEDSTART; /* 600 */
-VNET_DEFINE(int, ipport_firstauto) = IPPORT_EPHEMERALFIRST; /* 10000 */
-VNET_DEFINE(int, ipport_lastauto) = IPPORT_EPHEMERALLAST; /* 65535 */
-VNET_DEFINE(int, ipport_hifirstauto) = IPPORT_HIFIRSTAUTO; /* 49152 */
-VNET_DEFINE(int, ipport_hilastauto) = IPPORT_HILASTAUTO; /* 65535 */
+VNET_DEFINE(u_int, ipport_lowfirstauto) = IPPORT_RESERVED - 1; /* 1023 */
+VNET_DEFINE(u_int, ipport_lowlastauto) = IPPORT_RESERVEDSTART; /* 600 */
+VNET_DEFINE(u_int, ipport_firstauto) = IPPORT_EPHEMERALFIRST; /* 10000 */
+VNET_DEFINE(u_int, ipport_lastauto) = IPPORT_EPHEMERALLAST; /* 65535 */
+VNET_DEFINE(u_int, ipport_hifirstauto) = IPPORT_HIFIRSTAUTO; /* 49152 */
+VNET_DEFINE(u_int, ipport_hilastauto) = IPPORT_HILASTAUTO; /* 65535 */
/*
* Reserved ports accessible only to root. There are significant
* security considerations that must be accounted for when changing these,
* but the security benefits can be great. Please be careful.
*/
-VNET_DEFINE(int, ipport_reservedhigh) = IPPORT_RESERVED - 1; /* 1023 */
-VNET_DEFINE(int, ipport_reservedlow);
+VNET_DEFINE(u_int, ipport_reservedhigh) = IPPORT_RESERVED - 1; /* 1023 */
+VNET_DEFINE(u_int, ipport_reservedlow);
/* Enable random ephemeral port allocation by default. */
-VNET_DEFINE(int, ipport_randomized) = 1;
+VNET_DEFINE(bool, ipport_randomized) = true;
#ifdef INET
static struct inpcb *in_pcblookup_internal(struct inpcbinfo *pcbinfo,
@@ -166,35 +166,35 @@ static SYSCTL_NODE(_net_inet_ip, IPPROTO_IP, portrange,
"IP Ports");
SYSCTL_PROC(_net_inet_ip_portrange, OID_AUTO, lowfirst,
- CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
- &VNET_NAME(ipport_lowfirstauto), 0, &sysctl_net_ipport_check, "I",
+ CTLFLAG_VNET | CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
+ &VNET_NAME(ipport_lowfirstauto), 0, &sysctl_net_ipport_check, "IU",
"");
SYSCTL_PROC(_net_inet_ip_portrange, OID_AUTO, lowlast,
- CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
- &VNET_NAME(ipport_lowlastauto), 0, &sysctl_net_ipport_check, "I",
+ CTLFLAG_VNET | CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
+ &VNET_NAME(ipport_lowlastauto), 0, &sysctl_net_ipport_check, "IU",
"");
SYSCTL_PROC(_net_inet_ip_portrange, OID_AUTO, first,
- CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
- &VNET_NAME(ipport_firstauto), 0, &sysctl_net_ipport_check, "I",
+ CTLFLAG_VNET | CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
+ &VNET_NAME(ipport_firstauto), 0, &sysctl_net_ipport_check, "IU",
"");
SYSCTL_PROC(_net_inet_ip_portrange, OID_AUTO, last,
- CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
- &VNET_NAME(ipport_lastauto), 0, &sysctl_net_ipport_check, "I",
+ CTLFLAG_VNET | CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
+ &VNET_NAME(ipport_lastauto), 0, &sysctl_net_ipport_check, "IU",
"");
SYSCTL_PROC(_net_inet_ip_portrange, OID_AUTO, hifirst,
- CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
- &VNET_NAME(ipport_hifirstauto), 0, &sysctl_net_ipport_check, "I",
+ CTLFLAG_VNET | CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
+ &VNET_NAME(ipport_hifirstauto), 0, &sysctl_net_ipport_check, "IU",
"");
SYSCTL_PROC(_net_inet_ip_portrange, OID_AUTO, hilast,
- CTLFLAG_VNET | CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
- &VNET_NAME(ipport_hilastauto), 0, &sysctl_net_ipport_check, "I",
+ CTLFLAG_VNET | CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_NEEDGIANT,
+ &VNET_NAME(ipport_hilastauto), 0, &sysctl_net_ipport_check, "IU",
"");
-SYSCTL_INT(_net_inet_ip_portrange, OID_AUTO, reservedhigh,
+SYSCTL_UINT(_net_inet_ip_portrange, OID_AUTO, reservedhigh,
CTLFLAG_VNET | CTLFLAG_RW | CTLFLAG_SECURE,
&VNET_NAME(ipport_reservedhigh), 0, "");
-SYSCTL_INT(_net_inet_ip_portrange, OID_AUTO, reservedlow,
+SYSCTL_UINT(_net_inet_ip_portrange, OID_AUTO, reservedlow,
CTLFLAG_RW|CTLFLAG_SECURE, &VNET_NAME(ipport_reservedlow), 0, "");
-SYSCTL_INT(_net_inet_ip_portrange, OID_AUTO, randomized,
+SYSCTL_BOOL(_net_inet_ip_portrange, OID_AUTO, randomized,
CTLFLAG_VNET | CTLFLAG_RW,
&VNET_NAME(ipport_randomized), 0, "Enable random port allocation");
diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h
index ea93780730de..933a4c42808e 100644
--- a/sys/netinet/in_pcb.h
+++ b/sys/netinet/in_pcb.h
@@ -624,15 +624,15 @@ typedef enum {
#define INP_CHECK_SOCKAF(so, af) (INP_SOCKAF(so) == af)
-VNET_DECLARE(int, ipport_reservedhigh);
-VNET_DECLARE(int, ipport_reservedlow);
-VNET_DECLARE(int, ipport_lowfirstauto);
-VNET_DECLARE(int, ipport_lowlastauto);
-VNET_DECLARE(int, ipport_firstauto);
-VNET_DECLARE(int, ipport_lastauto);
-VNET_DECLARE(int, ipport_hifirstauto);
-VNET_DECLARE(int, ipport_hilastauto);
-VNET_DECLARE(int, ipport_randomized);
+VNET_DECLARE(u_int, ipport_reservedhigh);
+VNET_DECLARE(u_int, ipport_reservedlow);
+VNET_DECLARE(u_int, ipport_lowfirstauto);
+VNET_DECLARE(u_int, ipport_lowlastauto);
+VNET_DECLARE(u_int, ipport_firstauto);
+VNET_DECLARE(u_int, ipport_lastauto);
+VNET_DECLARE(u_int, ipport_hifirstauto);
+VNET_DECLARE(u_int, ipport_hilastauto);
+VNET_DECLARE(bool, ipport_randomized);
#define V_ipport_reservedhigh VNET(ipport_reservedhigh)
#define V_ipport_reservedlow VNET(ipport_reservedlow)