git: 4cdcdf0e5f18 - main - pf: Expand ancient NTOHL/NTOHS/HTONS/HTONL macros.

From: Kristof Provost <kp_at_FreeBSD.org>
Date: Fri, 21 Mar 2025 01:39:27 UTC
The branch main has been updated by kp:

URL: https://cgit.FreeBSD.org/src/commit/?id=4cdcdf0e5f1833e2ca7ce3bbf099b32c67064523

commit 4cdcdf0e5f1833e2ca7ce3bbf099b32c67064523
Author:     Kristof Provost <kp@FreeBSD.org>
AuthorDate: 2025-03-04 08:44:41 +0000
Commit:     Kristof Provost <kp@FreeBSD.org>
CommitDate: 2025-03-21 01:29:04 +0000

    pf: Expand ancient NTOHL/NTOHS/HTONS/HTONL macros.
    
    ok guenther@, henning@
    
    Obtained from:  OpenBSD, mpi <mpi@openbsd.org>, faf7e06f4d
    Sponsored by:   Rubicon Communications, LLC ("Netgate")
---
 sys/netpfil/pf/pf.c      | 15 ++++++---------
 sys/netpfil/pf/pf_lb.c   |  8 ++++----
 sys/netpfil/pf/pf_osfp.c |  4 ++--
 3 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c
index bfff339a66f5..2c06c0253d4b 100644
--- a/sys/netpfil/pf/pf.c
+++ b/sys/netpfil/pf/pf.c
@@ -2266,7 +2266,7 @@ pf_icmp_mapping(struct pf_pdesc *pd, u_int8_t type,
 			*icmp_dir = PF_IN;
 			*virtual_type = type;
 			*virtual_id = 0;
-			HTONS(*virtual_type);
+			*virtual_type = htons(*virtual_type);
 			return (1);  /* These types match to another state */
 
 		/*
@@ -2333,7 +2333,7 @@ pf_icmp_mapping(struct pf_pdesc *pd, u_int8_t type,
 			*icmp_dir = PF_IN;
 			*virtual_type = type;
 			*virtual_id = 0;
-			HTONS(*virtual_type);
+			*virtual_type = htons(*virtual_type);
 			return (1);  /* These types match to another state */
 		/*
 		 * All remaining ICMP6 types get their own states,
@@ -2350,7 +2350,7 @@ pf_icmp_mapping(struct pf_pdesc *pd, u_int8_t type,
 	default:
 		unhandled_af(pd->af);
 	}
-	HTONS(*virtual_type);
+	*virtual_type = htons(*virtual_type);
 	return (0);  /* These types match to their own state */
 }
 
@@ -4101,7 +4101,7 @@ pf_build_tcp(const struct pf_krule *r, sa_family_t af,
 		opt = (char *)(th + 1);
 		opt[0] = TCPOPT_MAXSEG;
 		opt[1] = 4;
-		HTONS(mss);
+		mss = htons(mss);
 		memcpy((opt + 2), &mss, 2);
 	}
 
@@ -4527,10 +4527,7 @@ pf_match(u_int8_t op, u_int32_t a1, u_int32_t a2, u_int32_t p)
 int
 pf_match_port(u_int8_t op, u_int16_t a1, u_int16_t a2, u_int16_t p)
 {
-	NTOHS(a1);
-	NTOHS(a2);
-	NTOHS(p);
-	return (pf_match(op, a1, a2, p));
+	return (pf_match(op, ntohs(a1), ntohs(a2), ntohs(p)));
 }
 
 static int
@@ -5034,7 +5031,7 @@ pf_get_mss(struct pf_pdesc *pd)
 			break;
 		case TCPOPT_MAXSEG:
 			memcpy(&mss, (opt + 2), 2);
-			NTOHS(mss);
+			mss = ntohs(mss);
 			/* FALLTHROUGH */
 		default:
 			optlen = opt[1];
diff --git a/sys/netpfil/pf/pf_lb.c b/sys/netpfil/pf/pf_lb.c
index ea9fbc46af63..f0cad4bb43c2 100644
--- a/sys/netpfil/pf/pf_lb.c
+++ b/sys/netpfil/pf/pf_lb.c
@@ -1065,19 +1065,19 @@ pf_get_transaddr_af(struct pf_krule *r, struct pf_pdesc *pd)
 	}
 
 	if (pd->proto == IPPROTO_ICMPV6 && pd->naf == AF_INET) {
-		NTOHS(pd->ndport);
+		pd->ndport = ntohs(pd->ndport);
 		if (pd->ndport == ICMP6_ECHO_REQUEST)
 			pd->ndport = ICMP_ECHO;
 		else if (pd->ndport == ICMP6_ECHO_REPLY)
 			pd->ndport = ICMP_ECHOREPLY;
-		HTONS(pd->ndport);
+		pd->ndport = htons(pd->ndport);
 	} else if (pd->proto == IPPROTO_ICMP && pd->naf == AF_INET6) {
-		NTOHS(pd->ndport);
+		pd->nsport = ntohs(pd->nsport);
 		if (pd->ndport == ICMP_ECHO)
 			pd->ndport = ICMP6_ECHO_REQUEST;
 		else if (pd->ndport == ICMP_ECHOREPLY)
 			pd->ndport = ICMP6_ECHO_REPLY;
-		HTONS(pd->ndport);
+		pd->nsport = htons(pd->nsport);
 	}
 
 	/* get the destination address and port */
diff --git a/sys/netpfil/pf/pf_osfp.c b/sys/netpfil/pf/pf_osfp.c
index de60619bdc18..3e00cc7c80a2 100644
--- a/sys/netpfil/pf/pf_osfp.c
+++ b/sys/netpfil/pf/pf_osfp.c
@@ -157,13 +157,13 @@ pf_osfp_fingerprint_hdr(const struct ip *ip, const struct ip6_hdr *ip6, const st
 					    sizeof(fp.fp_mss));
 				fp.fp_tcpopts = (fp.fp_tcpopts <<
 				    PF_OSFP_TCPOPT_BITS) | PF_OSFP_TCPOPT_MSS;
-				NTOHS(fp.fp_mss);
+				fp.fp_mss = ntohs(fp.fp_mss);
 				break;
 			case TCPOPT_WINDOW:
 				if (optlen >= TCPOLEN_WINDOW)
 					memcpy(&fp.fp_wscale, &optp[2],
 					    sizeof(fp.fp_wscale));
-				NTOHS(fp.fp_wscale);
+				fp.fp_wscale = ntohs(fp.fp_wscale);
 				fp.fp_tcpopts = (fp.fp_tcpopts <<
 				    PF_OSFP_TCPOPT_BITS) |
 				    PF_OSFP_TCPOPT_WSCALE;