summaryrefslogtreecommitdiffstats
path: root/contrib/ipfilter
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2008-07-23 16:34:53 +0000
committerdes <des@FreeBSD.org>2008-07-23 16:34:53 +0000
commit4cb5c186306c78d07df0b8ee48509ec2e346f3ef (patch)
treeb202a4dfe6bc440e1b0fc2629fae39afd60d4c7f /contrib/ipfilter
parent8f8e4f1bbb2510f24536ec8cf617c14fe25ba146 (diff)
downloadFreeBSD-src-4cb5c186306c78d07df0b8ee48509ec2e346f3ef.zip
FreeBSD-src-4cb5c186306c78d07df0b8ee48509ec2e346f3ef.tar.gz
For unfathomable reasons, ipfilter abuses kernel data structures for its
own purposes. To pull this off, it defines _KERNEL before including the headers where these structures are defined. This leads to no end of trouble when some of these headers, or other headers that they include, change, as demonstrated by r180755. The quick fix in this particular case is to define _WANT_FILE instead of _KERNEL, conditional on __FreeBSD__. A better long-term fix is left as an exercise to the reader.
Diffstat (limited to 'contrib/ipfilter')
-rw-r--r--contrib/ipfilter/ipsend/sock.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/contrib/ipfilter/ipsend/sock.c b/contrib/ipfilter/ipsend/sock.c
index 9a2cfc3..7d0157c 100644
--- a/contrib/ipfilter/ipsend/sock.c
+++ b/contrib/ipfilter/ipsend/sock.c
@@ -33,15 +33,23 @@ typedef int boolean_t;
# ifdef __NetBSD__
# include <machine/lock.h>
# endif
-# define _KERNEL
-# define KERNEL
+# ifdef __FreeBSD__
+# define _WANT_FILE
+# else
+# define _KERNEL
+# define KERNEL
+# endif
# ifdef ultrix
# undef LOCORE
# include <sys/smp_lock.h>
# endif
# include <sys/file.h>
-# undef _KERNEL
-# undef KERNEL
+# ifdef __FreeBSD__
+# undef _WANT_FILE
+# else
+# undef _KERNEL
+# undef KERNEL
+# endif
#endif
#include <nlist.h>
#include <sys/user.h>
OpenPOWER on IntegriCloud