diff --git a/rpm/barnyard2 b/rpm/barnyard2 index dcbe1e7..2dc240a 100644 --- a/rpm/barnyard2 +++ b/rpm/barnyard2 @@ -36,7 +36,10 @@ start() { PIDFILE="/var/lock/subsys/barnyard2-$INT.pid" ARCHIVEDIR="$SNORTDIR/$INT/archive" WALDO_FILE="$SNORTDIR/$INT/barnyard2.waldo" - BARNYARD_OPTS="-D -c $CONF -d $SNORTDIR/${INT} -w $WALDO_FILE -l $SNORTDIR/${INT} -a $ARCHIVEDIR -f $LOG_FILE -X $PIDFILE $EXTRA_ARGS" + if [ ! -d /var/run/barnyard2-${INT} ]; then + mkdir -p /var/run/barnyard2-${INT} + fi + BARNYARD_OPTS="-D -c $CONF -d $SNORTDIR/${INT} -w $WALDO_FILE -l $SNORTDIR/${INT} -a $ARCHIVEDIR -f $LOG_FILE -X $PIDFILE $EXTRA_ARGS --pid-path=/var/run/barnyard2-${INT}" daemon $prog $BARNYARD_OPTS done RETVAL=$? diff --git a/rpm/barnyard2-start.sh b/rpm/barnyard2-start.sh new file mode 100644 index 0000000..d2ce46a --- /dev/null +++ b/rpm/barnyard2-start.sh @@ -0,0 +1,19 @@ +#!/bin/sh + +if [ -f /etc/sysconfig/barnyard2 ]; then + . /etc/sysconfig/barnyard2 +fi + +for INT in $INTERFACES; do + ARCHIVEDIR="$SNORTDIR/$INT/archive" + WALDO_FILE="$SNORTDIR/$INT/barnyard2.waldo" + if [ ! -d /var/run/barnyard2-${INT} ]; then + mkdir -p /var/run/barnyard2-${INT} + fi + BARNYARD_OPTS="-D -c $CONF -d $SNORTDIR/${INT} -w $WALDO_FILE -l $SNORTDIR/${INT} -a $ARCHIVEDIR -f $LOG_FILE -X /var/run/barnyard2-${INT}/barnyard.pid $EXTRA_ARGS --pid-path=/var/run/barnyard2-${INT}" + /usr/bin/barnyard2 $BARNYARD_OPTS & + RETVAL=$? +done + +exit $RETVAL + diff --git a/rpm/barnyard2.service b/rpm/barnyard2.service new file mode 100644 index 0000000..ec2dd44 --- /dev/null +++ b/rpm/barnyard2.service @@ -0,0 +1,17 @@ +[Unit] +Description=Barnyard2 is an output processor for snort +After=network.target + +[Service] +Type=forking +User=root +KillSignal=3 +WorkingDirectory=/usr/bin/ +ExecStart=/usr/bin/barnyard2-start.sh +Restart=on-failure +PermissionsStartOnly=True +ExecStop=/usr/bin/kill -9 `pidof barnyard2` + +[Install] +WantedBy=multi-user.target + diff --git a/rpm/barnyard2.spec b/rpm/barnyard2.spec index c8ff8c3..d4cbc39 100644 --- a/rpm/barnyard2.spec +++ b/rpm/barnyard2.spec @@ -45,10 +45,10 @@ Summary: Snort Log Backend Name: barnyard2 Version: 1.14 Source0: https://github.com/firnsy/barnyard2/archive/barnyard2-%{version}.tar.gz -Release: 1%{?dist} +Release: 4%{?dist} License: GPL Group: Applications/Internet -Url: http://www.github.com/firnsy/barnyard2 +Url: http://www.github.com/redsand/barnyard2 BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildRequires: libtool @@ -105,7 +105,7 @@ EXPERIMENTAL!! I don't have a way to test this, so let me know if it works! ORACLE_HOME=%{OracleHome} %prep -%setup -q +%setup -q -n %{name} %build @@ -134,7 +134,16 @@ make %{__install} -d -p $RPM_BUILD_ROOT%{_sysconfdir}/{sysconfig,rc.d/init.d,snort} %{__install} -d -p $RPM_BUILD_ROOT%{_datadir}/snort %{__install} -m 644 rpm/barnyard2.config $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/barnyard2 -%{__install} -m 755 rpm/barnyard2 $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/barnyard2 +%if %{rhel} <= 6 + %{__install} -m 755 rpm/barnyard2 $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/barnyard2 +%else + if [ ! -d $RPM_BUILD_ROOT/usr/bin ]; then + mkdir -p $RPM_BUILD_ROOT/usr/bin + fi + %{__install} -m 755 rpm/barnyard2-start.sh $RPM_BUILD_ROOT/usr/bin/barnyard2-start.sh + mkdir -p $RPM_BUILD_ROOT/etc/systemd/system/ + %{__install} -m 755 rpm/barnyard2.service $RPM_BUILD_ROOT/etc/systemd/system/barnyard2.service +%endif %{__mv} $RPM_BUILD_ROOT%{_sysconfdir}/barnyard2.conf $RPM_BUILD_ROOT%{_sysconfdir}/snort/ if [ %{mysql} = 1 ]; then %{__install} -m 755 schemas/create_mysql $RPM_BUILD_ROOT%{_datadir}/snort/create_mysql @@ -156,7 +165,12 @@ fi %doc LICENSE doc/INSTALL doc/README.* %attr(755,root,root) %{_bindir}/barnyard2 %attr(640,root,root) %config(noreplace) %{_sysconfdir}/snort/barnyard2.conf +%if %{rhel} <= 6 %attr(755,root,root) %config(noreplace) %{_sysconfdir}/rc.d/init.d/barnyard2 +%else +/etc/systemd/system/barnyard2.service +/usr/bin/barnyard2-start.sh +%endif %attr(644,root,root) %config(noreplace) %{_sysconfdir}/sysconfig/barnyard2 %if %{mysql} diff --git a/src/output-plugins/spo_alert_fwsam.c b/src/output-plugins/spo_alert_fwsam.c index a900722..8b315dc 100644 --- a/src/output-plugins/spo_alert_fwsam.c +++ b/src/output-plugins/spo_alert_fwsam.c @@ -115,7 +115,9 @@ #include #endif +#ifndef SOCKET typedef int SOCKET; +#endif #ifndef INVALID_SOCKET #define INVALID_SOCKET -1