Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Nov 2017 18:55:28 +0000 (UTC)
From:      Niclas Zeising <zeising@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r454649 - in head/security/suricata: . files
Message-ID:  <201711211855.vALItSGT022190@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: zeising
Date: Tue Nov 21 18:55:28 2017
New Revision: 454649
URL: https://svnweb.freebsd.org/changeset/ports/454649

Log:
  Fix suricata failing to start if there is a stale pid file laying around.
  This can happen if suricata is ungracefully shut down.
  
  PR:		223052, 223322
  Submitted by:	Reshad Patuck, Franco Fichtner
  Approved by:	Franco Fichtner (maintainer)
  MFH:		2017Q4

Modified:
  head/security/suricata/Makefile
  head/security/suricata/files/suricata.in

Modified: head/security/suricata/Makefile
==============================================================================
--- head/security/suricata/Makefile	Tue Nov 21 18:50:58 2017	(r454648)
+++ head/security/suricata/Makefile	Tue Nov 21 18:55:28 2017	(r454649)
@@ -3,6 +3,7 @@
 
 PORTNAME=	suricata
 PORTVERSION=	4.0.0
+PORTREVISION=	1
 CATEGORIES=	security
 MASTER_SITES=	http://www.openinfosecfoundation.org/download/
 

Modified: head/security/suricata/files/suricata.in
==============================================================================
--- head/security/suricata/files/suricata.in	Tue Nov 21 18:50:58 2017	(r454648)
+++ head/security/suricata/files/suricata.in	Tue Nov 21 18:55:28 2017	(r454649)
@@ -19,13 +19,17 @@
 #				Default: 8000
 # suricata_netmap (str):	Set to YES to enable netmap (Inline Mode)
 #				Default: NO
+# suricata_user (str):		Set the user to run suricata as
+#				Default: root
+# suricata_pidfile (str):	Pidfile to store pid of suricata process
+#				Default: /var/run/suricata.pid
 
-
 . /etc/rc.subr
 
 name="suricata"
 rcvar=suricata_enable
 
+start_precmd="suricata_prestart"
 command="%%PREFIX%%/bin/suricata"
 
 load_rc_config $name
@@ -35,6 +39,8 @@ load_rc_config $name
 [ -z "$suricata_flags" ]	&& suricata_flags="-D"
 [ -z "$suricata_divertport" ]	&& suricata_divertport="8000"
 [ -z "$suricata_netmap" ]	&& suricata_netmap="NO"
+[ -z "$suricata_user" ]		&& suricata_user="root"
+[ -z "$suricata_pidfile" ]	&& suricata_pidfile="/var/run/suricata.pid"
 
 if [ -n "$suricata_interface" ]; then
 	for interface in $suricata_interface; do
@@ -47,9 +53,16 @@ else
 	info "Inline Mode on divert port $suricata_divertport (suricata_interface not defined)"
 fi
 
-pidfile="/var/run/suricata.pid"
+pidfile=$suricata_pidfile
 suricata_flags="$suricata_flags --pidfile $pidfile"
 
 [ -n "$suricata_conf" ]	&& suricata_flags="$suricata_flags -c $suricata_conf"
+
+suricata_prestart()
+{
+	if ! run_rc_command status > /dev/null; then
+		rm -f "$pidfile"
+	fi
+}
 
 run_rc_command "$1"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201711211855.vALItSGT022190>