]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
ipfw: use PF_DIVERT on modern FreeBSD
authorGleb Smirnoff <glebius@FreeBSD.org>
Wed, 31 Aug 2022 03:15:31 +0000 (20:15 -0700)
committerVictor Julien <vjulien@oisf.net>
Fri, 9 Sep 2022 08:23:30 +0000 (10:23 +0200)
(cherry picked from commit 5dbbc52b066b2047c4bc30be7fd29dbb3febaf96)

src/source-ipfw.c

index 0d39cf90926bac681a27bd914be38f6b5fde35a1..5b677c2bdb4a5b21c419685611580ff610a53b54 100644 (file)
@@ -334,7 +334,11 @@ TmEcode ReceiveIPFWThreadInit(ThreadVars *tv, const void *initdata, void **data)
 
     IPFWMutexInit(nq);
     /* We need a divert socket to play with */
+#ifdef PF_DIVERT
+    if ((nq->fd = socket(PF_DIVERT, SOCK_RAW, 0)) == -1) {
+#else
     if ((nq->fd = socket(PF_INET, SOCK_RAW, IPPROTO_DIVERT)) == -1) {
+#endif
         SCLogError(SC_ERR_IPFW_SOCK,"Can't create divert socket: %s", strerror(errno));
         SCReturnInt(TM_ECODE_FAILED);
     }