]> 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>
Thu, 8 Sep 2022 11:27:51 +0000 (13:27 +0200)
src/source-ipfw.c

index 4e768d3cccaabfd924df612d7a8b72f8e8ae2477..366895da250fbf60352940802e50ec881b64f46f 100644 (file)
@@ -335,7 +335,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);
     }