The branch main has been updated by kp:

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

commit 4cdcdf0e5f1833e2ca7ce3bbf099b32c67064523
Author:     Kristof Provost <k...@freebsd.org>
AuthorDate: 2025-03-04 08:44:41 +0000
Commit:     Kristof Provost <k...@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 <m...@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;

Reply via email to