2011-06-28 11:57:25 +00:00
|
|
|
/* $OpenBSD: if_pflog.h,v 1.13 2006/10/23 12:46:09 henning Exp $ */
|
2017-11-27 15:23:17 +00:00
|
|
|
/*-
|
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
|
|
*
|
2004-02-26 02:04:28 +00:00
|
|
|
* Copyright 2001 Niels Provos <provos@citi.umich.edu>
|
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
* Redistribution and use in source and binary forms, with or without
|
|
|
|
* modification, are permitted provided that the following conditions
|
|
|
|
* are met:
|
|
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
|
|
* notice, this list of conditions and the following disclaimer.
|
|
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
|
|
* documentation and/or other materials provided with the distribution.
|
|
|
|
*
|
|
|
|
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
|
|
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
|
|
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
|
|
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
|
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
|
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
|
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
|
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
|
|
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
2017-11-27 15:23:17 +00:00
|
|
|
*
|
|
|
|
* $FreeBSD$
|
2004-02-26 02:04:28 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _NET_IF_PFLOG_H_
|
2011-06-28 11:57:25 +00:00
|
|
|
#define _NET_IF_PFLOG_H_
|
2004-02-26 02:04:28 +00:00
|
|
|
|
2021-12-15 19:54:19 +00:00
|
|
|
#include <sys/types.h>
|
|
|
|
|
|
|
|
#include <net/if.h>
|
2021-12-02 07:22:34 +00:00
|
|
|
|
2007-07-03 12:16:07 +00:00
|
|
|
#define PFLOGIFS_MAX 16
|
|
|
|
|
2011-06-28 11:57:25 +00:00
|
|
|
#define PFLOG_RULESET_NAME_SIZE 16
|
2004-02-26 02:04:28 +00:00
|
|
|
|
|
|
|
struct pfloghdr {
|
|
|
|
u_int8_t length;
|
|
|
|
sa_family_t af;
|
|
|
|
u_int8_t action;
|
|
|
|
u_int8_t reason;
|
|
|
|
char ifname[IFNAMSIZ];
|
2005-05-03 16:43:32 +00:00
|
|
|
char ruleset[PFLOG_RULESET_NAME_SIZE];
|
2004-02-26 02:04:28 +00:00
|
|
|
u_int32_t rulenr;
|
|
|
|
u_int32_t subrulenr;
|
2007-07-03 12:16:07 +00:00
|
|
|
uid_t uid;
|
|
|
|
pid_t pid;
|
|
|
|
uid_t rule_uid;
|
|
|
|
pid_t rule_pid;
|
2004-02-26 02:04:28 +00:00
|
|
|
u_int8_t dir;
|
|
|
|
u_int8_t pad[3];
|
2021-10-29 15:40:53 +00:00
|
|
|
u_int32_t ridentifier;
|
2021-12-02 07:22:34 +00:00
|
|
|
u_int8_t reserve; /* Appease broken software like Wireshark. */
|
|
|
|
u_int8_t pad2[3];
|
2004-02-26 02:04:28 +00:00
|
|
|
};
|
|
|
|
|
2022-02-01 07:56:49 +00:00
|
|
|
#define PFLOG_ALIGNMENT sizeof(uint32_t)
|
|
|
|
#define PFLOG_ALIGN(x) (((x) + PFLOG_ALIGNMENT - 1) & ~(PFLOG_ALIGNMENT - 1))
|
|
|
|
#define PFLOG_HDRLEN PFLOG_ALIGN(offsetof(struct pfloghdr, pad2))
|
2004-02-26 02:04:28 +00:00
|
|
|
/* minus pad, also used as a signature */
|
2021-12-02 07:22:34 +00:00
|
|
|
#define PFLOG_REAL_HDRLEN offsetof(struct pfloghdr, pad2)
|
2004-02-26 02:04:28 +00:00
|
|
|
|
|
|
|
#ifdef _KERNEL
|
2006-03-09 15:54:01 +00:00
|
|
|
struct pf_rule;
|
|
|
|
struct pf_ruleset;
|
|
|
|
struct pfi_kif;
|
2007-07-03 12:16:07 +00:00
|
|
|
struct pf_pdesc;
|
2006-02-05 17:17:32 +00:00
|
|
|
|
Merge the projects/pf/head branch, that was worked on for last six months,
into head. The most significant achievements in the new code:
o Fine grained locking, thus much better performance.
o Fixes to many problems in pf, that were specific to FreeBSD port.
New code doesn't have that many ifdefs and much less OpenBSDisms, thus
is more attractive to our developers.
Those interested in details, can browse through SVN log of the
projects/pf/head branch. And for reference, here is exact list of
revisions merged:
r232043, r232044, r232062, r232148, r232149, r232150, r232298, r232330,
r232332, r232340, r232386, r232390, r232391, r232605, r232655, r232656,
r232661, r232662, r232663, r232664, r232673, r232691, r233309, r233782,
r233829, r233830, r233834, r233835, r233836, r233865, r233866, r233868,
r233873, r234056, r234096, r234100, r234108, r234175, r234187, r234223,
r234271, r234272, r234282, r234307, r234309, r234382, r234384, r234456,
r234486, r234606, r234640, r234641, r234642, r234644, r234651, r235505,
r235506, r235535, r235605, r235606, r235826, r235991, r235993, r236168,
r236173, r236179, r236180, r236181, r236186, r236223, r236227, r236230,
r236252, r236254, r236298, r236299, r236300, r236301, r236397, r236398,
r236399, r236499, r236512, r236513, r236525, r236526, r236545, r236548,
r236553, r236554, r236556, r236557, r236561, r236570, r236630, r236672,
r236673, r236679, r236706, r236710, r236718, r237154, r237155, r237169,
r237314, r237363, r237364, r237368, r237369, r237376, r237440, r237442,
r237751, r237783, r237784, r237785, r237788, r237791, r238421, r238522,
r238523, r238524, r238525, r239173, r239186, r239644, r239652, r239661,
r239773, r240125, r240130, r240131, r240136, r240186, r240196, r240212.
I'd like to thank people who participated in early testing:
Tested by: Florian Smeets <flo freebsd.org>
Tested by: Chekaluk Vitaly <artemrts ukr.net>
Tested by: Ben Wilber <ben desync.com>
Tested by: Ian FREISLICH <ianf cloudseed.co.za>
2012-09-08 06:41:54 +00:00
|
|
|
#define PFLOG_PACKET(i,a,b,c,d,e,f,g,h,di) do { \
|
2011-06-28 11:57:25 +00:00
|
|
|
if (pflog_packet_ptr != NULL) \
|
Merge the projects/pf/head branch, that was worked on for last six months,
into head. The most significant achievements in the new code:
o Fine grained locking, thus much better performance.
o Fixes to many problems in pf, that were specific to FreeBSD port.
New code doesn't have that many ifdefs and much less OpenBSDisms, thus
is more attractive to our developers.
Those interested in details, can browse through SVN log of the
projects/pf/head branch. And for reference, here is exact list of
revisions merged:
r232043, r232044, r232062, r232148, r232149, r232150, r232298, r232330,
r232332, r232340, r232386, r232390, r232391, r232605, r232655, r232656,
r232661, r232662, r232663, r232664, r232673, r232691, r233309, r233782,
r233829, r233830, r233834, r233835, r233836, r233865, r233866, r233868,
r233873, r234056, r234096, r234100, r234108, r234175, r234187, r234223,
r234271, r234272, r234282, r234307, r234309, r234382, r234384, r234456,
r234486, r234606, r234640, r234641, r234642, r234644, r234651, r235505,
r235506, r235535, r235605, r235606, r235826, r235991, r235993, r236168,
r236173, r236179, r236180, r236181, r236186, r236223, r236227, r236230,
r236252, r236254, r236298, r236299, r236300, r236301, r236397, r236398,
r236399, r236499, r236512, r236513, r236525, r236526, r236545, r236548,
r236553, r236554, r236556, r236557, r236561, r236570, r236630, r236672,
r236673, r236679, r236706, r236710, r236718, r237154, r237155, r237169,
r237314, r237363, r237364, r237368, r237369, r237376, r237440, r237442,
r237751, r237783, r237784, r237785, r237788, r237791, r238421, r238522,
r238523, r238524, r238525, r239173, r239186, r239644, r239652, r239661,
r239773, r240125, r240130, r240131, r240136, r240186, r240196, r240212.
I'd like to thank people who participated in early testing:
Tested by: Florian Smeets <flo freebsd.org>
Tested by: Chekaluk Vitaly <artemrts ukr.net>
Tested by: Ben Wilber <ben desync.com>
Tested by: Ian FREISLICH <ianf cloudseed.co.za>
2012-09-08 06:41:54 +00:00
|
|
|
pflog_packet_ptr(i,a,b,c,d,e,f,g,h,di); \
|
2006-02-05 17:17:32 +00:00
|
|
|
} while (0)
|
2004-02-26 02:04:28 +00:00
|
|
|
#endif /* _KERNEL */
|
|
|
|
#endif /* _NET_IF_PFLOG_H_ */
|