1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/snort/snort-update.sh Tue Aug 28 18:31:50 2012 +0200 1.3 @@ -0,0 +1,43 @@ 1.4 +#!/bin/sh 1.5 +## 1.6 +## snort-update.sh -- Snort Rule Updating Utility 1.7 +## Copyright (c) 2005-2007 Ralf S. Engelschall <rse@engelschall.com> 1.8 +## 1.9 + 1.10 +# command line parameters 1.11 +url="$1" 1.12 +if [ ".$url" = . ]; then 1.13 + echo "USAGE: $0 <url>" 1>&2 1.14 + exit 1 1.15 +fi 1.16 + 1.17 +# configuration 1.18 +rulesdir="@l_prefix@/var/snort/rules" 1.19 +tmpdir="@l_prefix@/var/snort/tmp" 1.20 +oinkmaster="@l_prefix@/sbin/oinkmaster" 1.21 +logfile="@l_prefix@/var/snort/oinkmaster.log" 1.22 +statsfile="@l_prefix@/var/snort/snort.stats" 1.23 + 1.24 +# parameter post-processing 1.25 +url=`echo "$url" |\ 1.26 + sed -e 's;^oinkcode:\(.*\)$;http://www.snort.org/pub-bin/oinkmaster.cgi/\1/snortrules-snapshot-@V_rules@.tar.gz;' \ 1.27 + -e 's;^\(/.*\)$;file://\1;'` 1.28 + 1.29 +# ruleset updating 1.30 +( echo "++ SNORT-UPDATE START (`date`)" 1.31 + echo "++ Update URL: \"$url\"" 1.32 + $oinkmaster -q -o $rulesdir -u $url 1.33 + if [ ! -f $rulesdir/local.rules ]; then 1.34 + touch $rulesdir/local.rules 1.35 + fi 1.36 + @l_prefix@/lib/openpkg/shtool subst \ 1.37 + -e 's;\(var HOME_NET\) any;\1 $(HOME_NET:-any);' \ 1.38 + -e 's;\(var EXTERNAL_NET\) any;\1 $(EXTERNAL_NET:-any);' \ 1.39 + -e 's; \([^ /]*\.map\); $(RULE_PATH)/\1;' \ 1.40 + -e 's; \([^ /]*\.config\); $(RULE_PATH)/\1;' \ 1.41 + -e "s;\\(var RULE_PATH\\).*;\\1 \$(RULE_PATH:-$rulesdir);" \ 1.42 + -e "s;/var/snort/snort\.stats;$statsfile;" \ 1.43 + $rulesdir/snort.conf 1.44 + echo "++ SNORT-UPDATE END (`date`)" 1.45 +) >>$logfile 2>&1 1.46 +