Package: nfdump Version: 1.7.1-2 Severity: normal Tags: patch X-Debbugs-Cc: si...@botik.ru
Dear Maintainer, -R option is broken in nfdump-1.7.1-2. It used to work in infdump-1.6.22-2. How to reproduce: # /usr/bin/nfcapd -D -P /var/run/nfcapd/default.pid -w /var/cache/nfdump -S1 -b 120.0.1 -p 2055 -R 127.0.0.2 2055 Segmentation fault The patch (trivial) is attached. A minor change in /etc/init.d/nfdump conffile (added return 0) fixes false "failed!" message from "/etc/init.d/nfdump start" which appears on systems using sysvinit-core rather than systemd. Thank you! -- System Information: Debian Release: 12.0 APT prefers stable-security APT policy: (500, 'stable-security'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 6.1.0-9-amd64 (SMP w/4 CPU threads; PREEMPT) Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=C.UTF-8, LC_CTYPE=ru_RU.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: sysvinit (via /sbin/init) LSM: AppArmor: enabled Versions of packages nfdump depends on: ii init-system-helpers 1.65.2 ii libbz2-1.0 1.0.8-5+b1 ii libc6 2.36-9 ii libpcap0.8 1.10.3-1 ii librrd8 1.7.2-4+b8 ii lsb-base 11.6 ii sysvinit-utils [lsb-base] 3.06-4 nfdump recommends no packages. nfdump suggests no packages. -- Configuration Files: /etc/init.d/nfdump changed: PATH=/sbin:/usr/sbin:/bin:/usr/bin NAME=nfcapd DESC='Netflow capture daemon' NFCAPD='/usr/bin/nfcapd' PIDDIR="/var/run/$NAME/" [ -x "$NFCAPD" ] || exit 0 mkdir -p "$PIDDIR" . /lib/init/vars.sh . /lib/lsb/init-functions do_start () { local INSTANCE="$1" local CONFIG="$2" sh -n "$CONFIG" 2>/dev/null || return 2 cache_dir= user= group= options= . "$CONFIG" [ "$options" ] || return 2 if [ "$cache_dir" ] ; then mkdir -p "$cache_dir" if [ "$user" ] && [ "$group" ] ; then chown "$user:$group" "$cache_dir" elif [ "$user" ] ; then chown "$user" "$cache_dir" fi fi local PIDFILE="$PIDDIR$INSTANCE.pid" start-stop-daemon --start --quiet \ --pidfile "$PIDFILE" --exec "$NFCAPD" --test > /dev/null \ || return 1 start-stop-daemon --start --quiet \ --pidfile "$PIDFILE" \ --exec "$NFCAPD" -- \ -D -P "$PIDFILE" \ $options \ || return 2 sleep 1 start-stop-daemon --start --quiet \ --pidfile "$PIDFILE" --exec "$NFCAPD" --test > /dev/null \ && return 2 return 0 # 20230617, sizif: shut up "failed!" complaint } do_stop () { local INSTANCE="$1" local PIDFILE="$PIDDIR/$INSTANCE.pid" start-stop-daemon --stop --quiet \ --retry=TERM/30/KILL/5 --pidfile "$PIDFILE" --name "$NAME" RETVAL="$?" [ "$RETVAL" = 2 ] && return 2 # Many daemons don't delete their pidfiles when they exit. rm -f "$PIDFILE" return "$RETVAL" } EXIT=0 do_action () { local CONFIG="$1" INSTANCE="$(basename "${CONFIG%%.conf}")" case "$ACTION" in start) [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$INSTANCE" do_start "$INSTANCE" "$CONFIG" case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 EXIT=1 ;; esac ;; stop) [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$INSTANCE" do_stop "$INSTANCE" case "$?" in 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 2) [ "$VERBOSE" != no ] && log_end_msg 1 EXIT=1 ;; esac ;; status) status_of_proc -p "$PIDDIR/$INSTANCE.pid" "$NFCAPD" "nfcapd $INSTANCE instance" || EXIT=$? ;; restart|force-reload) log_daemon_msg "Restarting $DESC" "$INSTANCE" do_stop "$INSTANCE" case "$?" in 0|1) do_start "$INSTANCE" "$CONFIG" case "$?" in 0) log_end_msg 0 ;; *) # Old process is still running or # failed to start log_end_msg 1 ;; esac ;; *) # Failed to stop log_end_msg 1 ;; esac ;; *) echo "Usage: /etc/init.d/nfdump {start|stop|status|restart|force-reload} [<instance> ...]" >&2 exit 3 ;; esac } ACTION="$1" shift if [ "$1" ] ; then while [ "$1" ] ; do CONFIG="/etc/nfdump/$1.conf" if [ -f "$CONFIG" ] ; then do_action "$CONFIG" fi shift done else for CONFIG in /etc/nfdump/*.conf ; do if [ -f "$CONFIG" ] ; then do_action "$CONFIG" fi done fi exit $EXIT /etc/nfdump/default.conf changed: options='-w /var/cache/nfdump -S1 -z -D -b 127.0.0.1 -p 2055 -R 127.0.0.2/2055' -- no debconf information