Page MenuHomeFreeBSD

D33236.id99364.diff
No OneTemporary

D33236.id99364.diff

Index: sys/net/if_pflog.h
===================================================================
--- sys/net/if_pflog.h
+++ sys/net/if_pflog.h
@@ -31,6 +31,8 @@
#ifndef _NET_IF_PFLOG_H_
#define _NET_IF_PFLOG_H_
+#include <net/bpf.h>
+
#define PFLOGIFS_MAX 16
#define PFLOG_RULESET_NAME_SIZE 16
@@ -51,11 +53,13 @@
u_int8_t dir;
u_int8_t pad[3];
u_int32_t ridentifier;
+ u_int8_t reserve; /* Appease broken software like Wireshark. */
+ u_int8_t pad2[3];
};
-#define PFLOG_HDRLEN sizeof(struct pfloghdr)
+#define PFLOG_HDRLEN BPF_WORDALIGN(offsetof(struct pfloghdr, pad2))
/* minus pad, also used as a signature */
-#define PFLOG_REAL_HDRLEN offsetof(struct pfloghdr, pad)
+#define PFLOG_REAL_HDRLEN offsetof(struct pfloghdr, pad2)
#ifdef _KERNEL
struct pf_rule;
Index: sys/netpfil/pf/if_pflog.c
===================================================================
--- sys/netpfil/pf/if_pflog.c
+++ sys/netpfil/pf/if_pflog.c
@@ -215,7 +215,7 @@
return (0);
bzero(&hdr, sizeof(hdr));
- hdr.length = PFLOG_HDRLEN;
+ hdr.length = PFLOG_REAL_HDRLEN;
hdr.af = af;
hdr.action = rm->action;
hdr.reason = reason;

File Metadata

Mime Type
text/plain
Expires
Fri, Jan 24, 8:09 PM (13 h, 25 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16101394
Default Alt Text
D33236.id99364.diff (1 KB)

Event Timeline