The branch main has been updated by kp:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=3be4d54ecd118ab6e29a3aa80329e710d8c2fee1

commit 3be4d54ecd118ab6e29a3aa80329e710d8c2fee1
Author:     Kristof Provost <k...@freebsd.org>
AuthorDate: 2025-05-27 15:02:46 +0000
Commit:     Kristof Provost <k...@freebsd.org>
CommitDate: 2025-06-06 11:15:59 +0000

    pf: use 'struct ah' for the AH extension header rather than 'struct ip6_ext'
    
    This fixes the build for NOINET6 kernels, but also more accurately reflects 
what
    we're doing. The first two fields are the same, so the only functional 
change is
    that we require slightly more data in the first fragment now.
    
    Sponsored by:   Rubicon Communications, LLC ("Netgate")
    Differential Revision:  https://reviews.freebsd.org/D50658
---
 sys/netpfil/pf/pf.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c
index 69a68d0249b2..0cfb728c3eb5 100644
--- a/sys/netpfil/pf/pf.c
+++ b/sys/netpfil/pf/pf.c
@@ -114,6 +114,8 @@
 #include <netinet/sctp_header.h>
 #include <netinet/sctp_crc32.h>
 
+#include <netipsec/ah.h>
+
 #include <machine/in_cksum.h>
 #include <security/mac/mac_framework.h>
 
@@ -9694,7 +9696,7 @@ pf_dummynet_route(struct pf_pdesc *pd, struct pf_kstate 
*s,
 static int
 pf_walk_header(struct pf_pdesc *pd, struct ip *h, u_short *reason)
 {
-       struct ip6_ext   ext;
+       struct ah        ext;
        u_int32_t        hlen, end;
 
        hlen = h->ip_hl << 2;
@@ -9720,8 +9722,8 @@ pf_walk_header(struct pf_pdesc *pd, struct ip *h, u_short 
*reason)
                                DPFPRINTF(PF_DEBUG_MISC, ("IP short exthdr"));
                                return (PF_DROP);
                        }
-                       pd->off += (ext.ip6e_len + 2) * 4;
-                       pd->proto = ext.ip6e_nxt;
+                       pd->off += (ext.ah_len + 2) * 4;
+                       pd->proto = ext.ah_nxt;
                        break;
                default:
                        return (PF_PASS);

Reply via email to