diff options
| author | Gleb Smirnoff <glebius@FreeBSD.org> | 2026-07-07 16:28:48 +0000 |
|---|---|---|
| committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2026-07-07 16:28:48 +0000 |
| commit | 1ea204b91909fe6c2060b1fa522b31bb5b8c7dd1 (patch) | |
| tree | 9b7c7a74014656d7696a93206f05d29aaad51721 | |
| parent | 3fdb1b6f10b33f9ac62a80d75898a89c153445fc (diff) | |
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
| -rw-r--r-- | sys/netinet/in_pcb.c | 48 | ||||
| -rw-r--r-- | 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) |
