#!/bin/sh /etc/rc.common
# velmo-flussi: i flussi dei televisori da conntrack (velmo-flows di main), in
# $VELMO_DATI/flows/flows.log, con il tetto di velmo-ruota. velmod li legge.

START=61
STOP=39
USE_PROCD=1

start_service() {
	. /etc/velmo/router.conf
	. /var/run/velmo/dati 2>/dev/null
	mkdir -p "$VELMO_DATI/flows"
	# Niente interpolazione libera in sh -c: $VELMO_RETE e $VELMO_DATI
	# escono da router.conf, e un valore con spazi o «;» diventava iniezione
	# di shell al prossimo avvio (audit 24 settembre 2026). Prima si
	# validano, poi si interpolano: la forma resta una sola riga per procd.
	case "$VELMO_RETE" in
	''|*[!0-9./]*) echo "velmo-flussi: VELMO_RETE non e' una rete: $VELMO_RETE" >&2; return 1 ;;
	esac
	case "$VELMO_DATI" in
	''|*[!A-Za-z0-9./_-]*) echo "velmo-flussi: VELMO_DATI non e' un percorso: $VELMO_DATI" >&2; return 1 ;;
	esac
	procd_open_instance
	procd_set_param command /bin/sh -c "exec /usr/sbin/conntrack -E -o timestamp -e NEW,DESTROY -s $VELMO_RETE >> $VELMO_DATI/flows/flows.log"
	procd_set_param respawn 3600 5 0
	procd_set_param stderr 1
	procd_close_instance
}
