git: 5fd544260929 - main - net-mgmt/yaf: update to 2.13.0

From: Robert Clausecker <fuz_at_FreeBSD.org>
Date: Fri, 24 Nov 2023 06:14:53 UTC
The branch main has been updated by fuz:

URL: https://cgit.FreeBSD.org/ports/commit/?id=5fd544260929b691bfc5804dd288b404059c631e

commit 5fd544260929b691bfc5804dd288b404059c631e
Author:     Garrett Wollman <wollman@FreeBSD.org>
AuthorDate: 2023-11-20 07:15:31 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2023-11-24 06:12:31 +0000

    net-mgmt/yaf: update to 2.13.0
    
    Changelog: https://tools.netsa.cert.org/yaf2/release-history.html#release-2.14.0
    
    PR:             271249
    Approved by:    dikshie@sfc.wide.ad.jp (maintainer timeout)
---
 net-mgmt/yaf/Makefile                              |  2 +-
 net-mgmt/yaf/distinfo                              |  6 ++--
 net-mgmt/yaf/files/patch-airframe_src_airdaemon.c  | 13 +++++++
 net-mgmt/yaf/files/patch-airframe_src_filedaemon.c | 13 +++++++
 net-mgmt/yaf/files/patch-include_yaf_decode.h      | 11 ++++++
 net-mgmt/yaf/files/patch-src_decode.c              | 15 ++++++++
 net-mgmt/yaf/files/patch-src_yaf.pod               | 21 +++++++++++
 net-mgmt/yaf/files/patch-src_yafstat.c             | 41 ++++++++++++++++++++++
 net-mgmt/yaf/pkg-plist                             | 37 +++----------------
 9 files changed, 122 insertions(+), 37 deletions(-)

diff --git a/net-mgmt/yaf/Makefile b/net-mgmt/yaf/Makefile
index 5b71b53b572e..5d9475234ed0 100644
--- a/net-mgmt/yaf/Makefile
+++ b/net-mgmt/yaf/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	yaf
-PORTVERSION=	2.11.0
+DISTVERSION=	2.13.0
 CATEGORIES=	net-mgmt
 MASTER_SITES=	http://tools.netsa.cert.org/releases/
 
diff --git a/net-mgmt/yaf/distinfo b/net-mgmt/yaf/distinfo
index 0710ce5c2715..081bda241a45 100644
--- a/net-mgmt/yaf/distinfo
+++ b/net-mgmt/yaf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1559120538
-SHA256 (yaf-2.11.0.tar.gz) = 5e2523eeeaa5ac7e08f73b38c599f321ba93f239011efec9c39cfcbc30489dca
-SIZE (yaf-2.11.0.tar.gz) = 2132776
+TIMESTAMP = 1683232182
+SHA256 (yaf-2.13.0.tar.gz) = a4c0a7cec4b3e78cde7a9bcd051e3e6bcb88c671494745ac506f1843756a61a3
+SIZE (yaf-2.13.0.tar.gz) = 2198696
diff --git a/net-mgmt/yaf/files/patch-airframe_src_airdaemon.c b/net-mgmt/yaf/files/patch-airframe_src_airdaemon.c
new file mode 100644
index 000000000000..5cdd71df099b
--- /dev/null
+++ b/net-mgmt/yaf/files/patch-airframe_src_airdaemon.c
@@ -0,0 +1,13 @@
+--- airframe/src/airdaemon.c.orig	2023-02-08 18:37:15 UTC
++++ airframe/src/airdaemon.c
+@@ -61,6 +61,10 @@
+ #include <airframe/airopt.h>
+ #include <airframe/logconfig.h>
+ 
++#ifdef G_OS_UNIX
++#include <sys/wait.h>
++#endif
++
+ static uint32_t       ad_retry_min        = 30;
+ static uint32_t       ad_retry_max        = 0;
+ static gboolean       ad_nodaemon         = FALSE;
diff --git a/net-mgmt/yaf/files/patch-airframe_src_filedaemon.c b/net-mgmt/yaf/files/patch-airframe_src_filedaemon.c
new file mode 100644
index 000000000000..edf4f35a8e24
--- /dev/null
+++ b/net-mgmt/yaf/files/patch-airframe_src_filedaemon.c
@@ -0,0 +1,13 @@
+--- airframe/src/filedaemon.c.orig	2023-02-08 18:37:15 UTC
++++ airframe/src/filedaemon.c
+@@ -17,6 +17,10 @@
+ #include <airframe/airopt.h>
+ #include <airframe/logconfig.h>
+ 
++#ifdef G_OS_UNIX
++#include <sys/wait.h>
++#endif
++
+ static char          *fd_inspec          = NULL;
+ static char          *fd_outspec         = NULL;
+ static char          *fd_nextdir         = NULL;
diff --git a/net-mgmt/yaf/files/patch-include_yaf_decode.h b/net-mgmt/yaf/files/patch-include_yaf_decode.h
new file mode 100644
index 000000000000..1aea7187cf40
--- /dev/null
+++ b/net-mgmt/yaf/files/patch-include_yaf_decode.h
@@ -0,0 +1,11 @@
+--- include/yaf/decode.h.orig	2023-02-08 18:37:15 UTC
++++ include/yaf/decode.h
+@@ -218,6 +218,8 @@ typedef struct yfDecodeCtx_st yfDecodeCtx_t;
+ #define YF_PROTO_TCP        6
+ /** IPv4 Protocol Identifier and IPv6 Next Header for UDP */
+ #define YF_PROTO_UDP        17
++/** IPv4 Protocol Identifier for tunneled IPv6 */
++#define YF_PROTO_TUNNEL_IP6 41
+ /** IPv6 Next Header for Routing Options */
+ #define YF_PROTO_IP6_ROUTE  43
+ /** IPv6 Next Header for Fragment Options */
diff --git a/net-mgmt/yaf/files/patch-src_decode.c b/net-mgmt/yaf/files/patch-src_decode.c
new file mode 100644
index 000000000000..2eacb4cd8aa8
--- /dev/null
+++ b/net-mgmt/yaf/files/patch-src_decode.c
@@ -0,0 +1,15 @@
+--- src/decode.c.orig	2023-02-08 18:37:15 UTC
++++ src/decode.c
+@@ -1653,6 +1653,12 @@ yfDecodeIP(
+             key->dp = 0;
+         }
+         break;
++      case YF_PROTO_TUNNEL_IP6:
++        if (!(pkt = yfDecodeIP(ctx, YF_TYPE_IPv6, caplen, pkt, key, iplen,
++			       fraginfo, tcpinfo))) {
++	    return NULL;
++	}
++	break;
+       default:
+         /* No layer 4 header we understand. Zero ports. */
+         key->sp = 0;
diff --git a/net-mgmt/yaf/files/patch-src_yaf.pod b/net-mgmt/yaf/files/patch-src_yaf.pod
new file mode 100644
index 000000000000..41fd91554503
--- /dev/null
+++ b/net-mgmt/yaf/files/patch-src_yaf.pod
@@ -0,0 +1,21 @@
+--- src/yaf.pod.orig	2023-02-08 19:01:48 UTC
++++ src/yaf.pod
+@@ -1633,7 +1633,8 @@ The UNIX timestamp of when the program interacted with
+ 
+ B<yaf> responds to B<SIGINT> or B<SIGTERM> by terminating input processing,
+ flushing any pending flows to the current output, and exiting. If B<--verbose>
+-is given, B<yaf> responds to B<SIGUSR1> by printing present flow and fragment table
++is given, B<yaf> responds to B<SIGUSR1> (and B<SIGINFO> where available)
++by printing present flow and fragment table
+ statistics to its log.  All other signals are handled by the C runtimes in
+ the default manner on the platform on which B<yaf> is currently operating.
+ 
+@@ -1725,7 +1726,7 @@ See B<yafzcbalance(1)> for more information.
+ 
+ When running B<yaf> with --live=pfring or --live=zc, the call to receive
+ packets is blocking so B<yaf> will not export statistics messages or
+-respond to SIGUSR1 signals unless it is receiving data.
++respond to B<SIGUSR1>/B<SIGINFO> signals unless it is receiving data.
+ 
+ Presently, the B<destinationTransportPort> information element contains
+ ICMP type and code information for ICMP or ICMP6 flows; this is nonstandard
diff --git a/net-mgmt/yaf/files/patch-src_yafstat.c b/net-mgmt/yaf/files/patch-src_yafstat.c
new file mode 100644
index 000000000000..22b0530bb040
--- /dev/null
+++ b/net-mgmt/yaf/files/patch-src_yafstat.c
@@ -0,0 +1,41 @@
+--- src/yafstat.c.orig	2023-02-08 18:37:15 UTC
++++ src/yafstat.c
+@@ -75,7 +75,7 @@
+ #include "yafdag.h"
+ #endif
+ 
+-static uint32_t     yaf_do_stat = 0;
++static volatile sig_atomic_t yaf_do_stat = 0;
+ static GTimer      *yaf_fft = NULL;
+ static yfContext_t *statctx = NULL;
+ 
+@@ -84,7 +84,7 @@ yfSigUsr1(
+     int   s)
+ {
+     (void)s;
+-    ++yaf_do_stat;
++    yaf_do_stat = 1;
+ }
+ 
+ 
+@@ -101,6 +101,11 @@ yfStatInit(
+     if (sigaction(SIGUSR1, &sa, &osa)) {
+         g_error("sigaction(SIGUSR1) failed: %s", strerror(errno));
+     }
++#ifdef SIGINFO
++    if (sigaction(SIGINFO,&sa,&osa)) {
++        g_error("sigaction(SIGINFO) failed: %s", strerror(errno));
++    }
++#endif /* SIGINFO */
+ 
+     /* stash statistics context */
+     statctx = ctx;
+@@ -147,7 +152,7 @@ yfStatDumpLoop(
+     void)
+ {
+     if (yaf_do_stat) {
+-        --yaf_do_stat;
++        yaf_do_stat = 0;
+         yfStatDump();
+     }
+ }
diff --git a/net-mgmt/yaf/pkg-plist b/net-mgmt/yaf/pkg-plist
index 784f17de7b5a..d217b6ac6938 100644
--- a/net-mgmt/yaf/pkg-plist
+++ b/net-mgmt/yaf/pkg-plist
@@ -33,133 +33,103 @@ include/yaf/yafrag.h
 include/yaf/yaftab.h
 lib/libairframe-%%PORTVERSION%%.so.4
 lib/libairframe-%%PORTVERSION%%.so.4.0.0
-lib/libairframe.a
 lib/libairframe.so
 lib/libyaf-%%PORTVERSION%%.so.4
 lib/libyaf-%%PORTVERSION%%.so.4.0.0
-lib/libyaf.a
 lib/libyaf.so
-%%APPLABEL%%lib/yaf/aolplugin.a
 %%APPLABEL%%lib/yaf/aolplugin.so
 %%APPLABEL%%lib/yaf/aolplugin.so.1
 %%APPLABEL%%lib/yaf/aolplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/bgpplugin.a
 %%APPLABEL%%lib/yaf/bgpplugin.so
 %%APPLABEL%%lib/yaf/bgpplugin.so.1
 %%APPLABEL%%lib/yaf/bgpplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/dhcp_fp_plugin.a
 %%APPLABEL%%lib/yaf/dhcp_fp_plugin.so
 %%APPLABEL%%lib/yaf/dhcp_fp_plugin.so.1
 %%APPLABEL%%lib/yaf/dhcp_fp_plugin.so.1.0.1
-%%APPLABEL%%lib/yaf/dhcpplugin.a
 %%APPLABEL%%lib/yaf/dhcpplugin.so
 %%APPLABEL%%lib/yaf/dhcpplugin.so.1
 %%APPLABEL%%lib/yaf/dhcpplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/dnp3plugin.a
 %%APPLABEL%%lib/yaf/dnp3plugin.so
 %%APPLABEL%%lib/yaf/dnp3plugin.so.1
 %%APPLABEL%%lib/yaf/dnp3plugin.so.1.0.1
-%%APPLABEL%%lib/yaf/dnsplugin.a
 %%APPLABEL%%lib/yaf/dnsplugin.so
 %%APPLABEL%%lib/yaf/dnsplugin.so.1
 %%APPLABEL%%lib/yaf/dnsplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/dpacketplugin.a
 %%APPLABEL%%lib/yaf/dpacketplugin.so
 %%APPLABEL%%lib/yaf/dpacketplugin.so.1
 %%APPLABEL%%lib/yaf/dpacketplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/dumpplugin.a
 %%APPLABEL%%lib/yaf/dumpplugin.so
 %%APPLABEL%%lib/yaf/dumpplugin.so.1
 %%APPLABEL%%lib/yaf/dumpplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/ethipplugin.a
 %%APPLABEL%%lib/yaf/ethipplugin.so
 %%APPLABEL%%lib/yaf/ethipplugin.so.1
 %%APPLABEL%%lib/yaf/ethipplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/ircplugin.a
 %%APPLABEL%%lib/yaf/ircplugin.so
 %%APPLABEL%%lib/yaf/ircplugin.so.1
 %%APPLABEL%%lib/yaf/ircplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/ldapplugin.a
 %%APPLABEL%%lib/yaf/ldapplugin.so
 %%APPLABEL%%lib/yaf/ldapplugin.so.1
 %%APPLABEL%%lib/yaf/ldapplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/ldpplugin.a
 %%APPLABEL%%lib/yaf/ldpplugin.so
 %%APPLABEL%%lib/yaf/ldpplugin.so.1
 %%APPLABEL%%lib/yaf/ldpplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/modbusplugin.a
 %%APPLABEL%%lib/yaf/modbusplugin.so
 %%APPLABEL%%lib/yaf/modbusplugin.so.1
 %%APPLABEL%%lib/yaf/modbusplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/mysqlplugin.a
 %%APPLABEL%%lib/yaf/mysqlplugin.so
 %%APPLABEL%%lib/yaf/mysqlplugin.so.1
 %%APPLABEL%%lib/yaf/mysqlplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/nntpplugin.a
 %%APPLABEL%%lib/yaf/nntpplugin.so
 %%APPLABEL%%lib/yaf/nntpplugin.so.1
 %%APPLABEL%%lib/yaf/nntpplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/ntpplugin.a
 %%APPLABEL%%lib/yaf/ntpplugin.so
 %%APPLABEL%%lib/yaf/ntpplugin.so.1
 %%APPLABEL%%lib/yaf/ntpplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/nullplugin.a
 %%APPLABEL%%lib/yaf/nullplugin.so
 %%APPLABEL%%lib/yaf/nullplugin.so.1
 %%APPLABEL%%lib/yaf/nullplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/palplugin.a
 %%APPLABEL%%lib/yaf/palplugin.so
 %%APPLABEL%%lib/yaf/palplugin.so.1
 %%APPLABEL%%lib/yaf/palplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/piplugin.a
 %%APPLABEL%%lib/yaf/piplugin.so
 %%APPLABEL%%lib/yaf/piplugin.so.1
 %%APPLABEL%%lib/yaf/piplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/pop3plugin.a
 %%APPLABEL%%lib/yaf/pop3plugin.so
 %%APPLABEL%%lib/yaf/pop3plugin.so.1
 %%APPLABEL%%lib/yaf/pop3plugin.so.1.0.1
-%%APPLABEL%%lib/yaf/pptpplugin.a
 %%APPLABEL%%lib/yaf/pptpplugin.so
 %%APPLABEL%%lib/yaf/pptpplugin.so.1
 %%APPLABEL%%lib/yaf/pptpplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/proxyplugin.a
 %%APPLABEL%%lib/yaf/proxyplugin.so
 %%APPLABEL%%lib/yaf/proxyplugin.so.1
 %%APPLABEL%%lib/yaf/proxyplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/rtpplugin.a
 %%APPLABEL%%lib/yaf/rtpplugin.so
 %%APPLABEL%%lib/yaf/rtpplugin.so.1
 %%APPLABEL%%lib/yaf/rtpplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/slpplugin.a
 %%APPLABEL%%lib/yaf/slpplugin.so
 %%APPLABEL%%lib/yaf/slpplugin.so.1
 %%APPLABEL%%lib/yaf/slpplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/snmpplugin.a
+%%APPLABEL%%lib/yaf/smtpplugin.so
+%%APPLABEL%%lib/yaf/smtpplugin.so.1
+%%APPLABEL%%lib/yaf/smtpplugin.so.1.0.1
 %%APPLABEL%%lib/yaf/snmpplugin.so
 %%APPLABEL%%lib/yaf/snmpplugin.so.1
 %%APPLABEL%%lib/yaf/snmpplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/socksplugin.a
 %%APPLABEL%%lib/yaf/socksplugin.so
 %%APPLABEL%%lib/yaf/socksplugin.so.1
 %%APPLABEL%%lib/yaf/socksplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/teredoplugin.a
 %%APPLABEL%%lib/yaf/teredoplugin.so
 %%APPLABEL%%lib/yaf/teredoplugin.so.1
 %%APPLABEL%%lib/yaf/teredoplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/tftpplugin.a
 %%APPLABEL%%lib/yaf/tftpplugin.so
 %%APPLABEL%%lib/yaf/tftpplugin.so.1
 %%APPLABEL%%lib/yaf/tftpplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/tlsplugin.a
 %%APPLABEL%%lib/yaf/tlsplugin.so
 %%APPLABEL%%lib/yaf/tlsplugin.so.1
 %%APPLABEL%%lib/yaf/tlsplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/gh0stplugin.a
 %%APPLABEL%%lib/yaf/gh0stplugin.so
 %%APPLABEL%%lib/yaf/gh0stplugin.so.1
 %%APPLABEL%%lib/yaf/gh0stplugin.so.1.0.1
-%%APPLABEL%%lib/yaf/netdgmplugin.a
 %%APPLABEL%%lib/yaf/netdgmplugin.so
 %%APPLABEL%%lib/yaf/netdgmplugin.so.1
 %%APPLABEL%%lib/yaf/netdgmplugin.so.1.0.1
@@ -167,6 +137,7 @@ lib/libyaf.so
 @sample %%ETCDIR%%/yafApplabelRules.conf.sample
 @sample %%ETCDIR%%/yafDPIRules.conf.sample
 @sample %%ETCDIR%%/yaf.conf.sample
+%%DATADIR%%/yaf.init
 libdata/pkgconfig/libairframe.pc
 libdata/pkgconfig/libyaf.pc
 man/man1/airdaemon.1.gz