snort/snort-update.sh

changeset 549
00e5f0537340
     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 +

mercurial