Bug#1112380: trixie-pu: package nfdump/1.7.5-2+deb13u1
Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: nfdump@packages.debian.org
Control: affects -1 + src:nfdump
User: release.debian.org@packages.debian.org
Usertags: pu
[ Reason ]
There is a regression in upstream version 1.7.5 that ignores option
-S num Adds an additional directory sub hierarchy to store the
data files. The default is 0, no sub hierarchy, which means
all files go directly into flowdir. The flowdir is con‐
catenated with the specified sub hierarchy format to create
the final data directory. The following hierarchies are
defined:
0 default no hierarchy levels
1 %Y/%m/%d year/month/day
2 %Y/%m/%d/%H year/month/day/hour
3 %Y/%W/%u year/week_of_year/day_of_week
4 %Y/%W/%u/%H year/week_of_year/day_of_week/hour
5 %Y/%j year/day-of-year
6 %Y/%j/%H year/day-of-year/hour
7 %Y-%m-%d year-month-day
8 %Y-%m-%d/%H year-month-day/hour
when used together with
-M flowdir
Set the flow directory for dynamic allocated exporters. New
exporters are dynamically added when sending data. All ex‐
porters send netflow data to the same port and IP. For each
dynamically added source, a new sub directory is created
under flowdir with the name of the IP address of the ex‐
porter. All '.' and ':" in IP addresses are replaced be
'-'.
This has been fixed by upstream in 1.7.6, this pu chery-picks the upstream fix.
[ Impact ]
dump files are not located where they are supped to be
[ Tests ]
A testsuite is run during build, the bug reporter confirmed that the new
package fixes the issue.
[ Risks ]
Code is pretty trivial and released upstream
[ Checklist ]
[X] *all* changes are documented in the d/changelog
[X] I reviewed all changes and I approve them
[X] attach debdiff against the package in (old)stable
[X] the issue is verified as fixed in unstable
[ Changes ]
Cherry-fix plus changing the gbp/salsa-ci to the debian/trixie branch
diffstat for nfdump-1.7.5 nfdump-1.7.5
changelog | 9 ++
gbp.conf | 2
gitlab-ci.yml | 2
patches/fix-subdir-with-dynamic-flowsource.patch | 75 +++++++++++++++++++++++
patches/series | 1
5 files changed, 87 insertions(+), 2 deletions(-)
diff -Nru nfdump-1.7.5/debian/changelog nfdump-1.7.5/debian/changelog
--- nfdump-1.7.5/debian/changelog 2024-11-09 22:37:35.000000000 +0100
+++ nfdump-1.7.5/debian/changelog 2025-08-29 11:58:09.000000000 +0200
@@ -1,3 +1,12 @@
+nfdump (1.7.5-2+deb13u1) trixie; urgency=medium
+
+ * [3d717345] Cherry-Pick upstream fix for -S (subdir) together with -M (multiple sources)
+ (Closes: #1112376)
+ * [018d04be] Salsa CI: Adjust for trixie
+ * [5cb8e85c] d/gbp.conf: Adjust for trixie
+
+ -- Bernhard Schmidt <berni@debian.org> Fri, 29 Aug 2025 11:58:09 +0200
+
nfdump (1.7.5-2) unstable; urgency=medium
* [bb2752db] Cherry-pick upstream patch to fix testsuite on i386
diff -Nru nfdump-1.7.5/debian/gbp.conf nfdump-1.7.5/debian/gbp.conf
--- nfdump-1.7.5/debian/gbp.conf 2024-11-09 22:37:35.000000000 +0100
+++ nfdump-1.7.5/debian/gbp.conf 2025-08-29 11:58:09.000000000 +0200
@@ -2,7 +2,7 @@
[DEFAULT]
# the default branch for the debian patch:
-debian-branch = unstable
+debian-branch = debian/trixie
# use pristine-tar:
pristine-tar = True
diff -Nru nfdump-1.7.5/debian/gitlab-ci.yml nfdump-1.7.5/debian/gitlab-ci.yml
--- nfdump-1.7.5/debian/gitlab-ci.yml 2024-11-09 22:37:35.000000000 +0100
+++ nfdump-1.7.5/debian/gitlab-ci.yml 2025-08-29 11:58:09.000000000 +0200
@@ -3,5 +3,5 @@
- https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
variables:
- RELEASE: 'unstable'
+ RELEASE: 'trixie'
SALSA_CI_DISABLE_BUILD_PACKAGE_TWICE: 0
diff -Nru nfdump-1.7.5/debian/patches/fix-subdir-with-dynamic-flowsource.patch nfdump-1.7.5/debian/patches/fix-subdir-with-dynamic-flowsource.patch
--- nfdump-1.7.5/debian/patches/fix-subdir-with-dynamic-flowsource.patch 1970-01-01 01:00:00.000000000 +0100
+++ nfdump-1.7.5/debian/patches/fix-subdir-with-dynamic-flowsource.patch 2025-08-29 11:58:09.000000000 +0200
@@ -0,0 +1,75 @@
+From 70ece2e36b39c84096cec7de0c9bd7bce0bd426e Mon Sep 17 00:00:00 2001
+From: Peter Haag <peter@people.ops-trust.net>
+Date: Tue, 15 Apr 2025 14:47:07 +0200
+Subject: [PATCH] Add Subdir -S to dynamic FlowSource -M. Replaces pull request
+ #615
+
+---
+ src/libnffile/flist.c | 6 +++++-
+ src/libnffile/flist.h | 4 +++-
+ src/nfcapd/nfcapd.c | 1 +
+ 3 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/src/libnffile/flist.c b/src/libnffile/flist.c
+index ebb85b7b..b69b242c 100755
+--- a/src/libnffile/flist.c
++++ b/src/libnffile/flist.c
+@@ -192,7 +192,8 @@ static const char *subdir_def[] = {"", // default index 0 - no subdir hierarchy
+ #define AcceptedFormatChar "YymdjHMsUWwuF"
+
+ static mode_t mode, dir_mode;
+-static const char *subdir_format;
++static const char *subdir_format = NULL;
++static int subdir_index = 0;
+
+ static struct entry_filter_s {
+ char *first_entry;
+@@ -1030,6 +1031,7 @@ int InitHierPath(int num) {
+ }
+
+ subdir_format = subdir_def[i];
++ subdir_index = i;
+
+ /*
+ * The default file mode is a=rwx (0777) with selected permissions
+@@ -1115,6 +1117,8 @@ char *GetSubDir(struct tm *now) {
+
+ } // End of GetSubDir
+
++int GetSubDirIndex(void) { return subdir_index; }
++
+ int SetupSubDir(char *dir, char *subdir, char *error, size_t errlen) {
+ char *p, path[MAXPATHLEN];
+ struct stat stat_buf;
+diff --git a/src/libnffile/flist.h b/src/libnffile/flist.h
+index bd550f2e..3ff9e39b 100755
+--- a/src/libnffile/flist.h
++++ b/src/libnffile/flist.h
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (c) 2009-2024, Peter Haag
++ * Copyright (c) 2009-2025, Peter Haag
+ * Copyright (c) 2004-2008, SWITCH - Teleinformatikdienste fuer Lehre und Forschung
+ * All rights reserved.
+ *
+@@ -48,6 +48,8 @@ int InitHierPath(int num);
+
+ char *GetSubDir(struct tm *now);
+
++int GetSubDirIndex(void);
++
+ int SetupSubDir(char *dir, char *subdir, char *error, size_t errlen);
+
+ queue_t *SetupInputFileSequence(flist_t *flist);
+diff --git a/src/nfcapd/nfcapd.c b/src/nfcapd/nfcapd.c
+index 6f64592a..fb8326db 100644
+--- a/src/nfcapd/nfcapd.c
++++ b/src/nfcapd/nfcapd.c
+@@ -412,6 +412,7 @@ static void run(packet_function_t receive_packet, int socket, int pfd, int rfd,
+ // fatal error
+ return;
+ }
++ fs->subdir = GetSubDirIndex();
+ fs->nffile = OpenNewFile(fs->current, NULL, CREATOR_NFCAPD, compress, NOT_ENCRYPTED);
+ if (!fs->nffile) {
+ LogError("Failed to open new collector file");
diff -Nru nfdump-1.7.5/debian/patches/series nfdump-1.7.5/debian/patches/series
--- nfdump-1.7.5/debian/patches/series 2024-11-09 22:37:35.000000000 +0100
+++ nfdump-1.7.5/debian/patches/series 2025-08-29 11:58:09.000000000 +0200
@@ -1,2 +1,3 @@
fix-testsuite-on-i386.patch
fix-testsuite-timezone.patch
+fix-subdir-with-dynamic-flowsource.patch
Reply to: