# ChangeLog for net-analyzer/snort
# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-analyzer/snort/ChangeLog,v 1.109 2006/11/23 19:54:19 vivo Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/snort/ChangeLog,v 1.110 2006/11/25 16:39:42 cedk Exp $
+
+*snort-2.6.1.1 (25 Nov 2006)
+
+ 25 Nov 2006; Cedric Krier <cedk@gentoo.org>
+ +files/snort-2.6.1.1-libnet.patch, +files/snort.rc8,
+ +snort-2.6.1.1.ebuild:
+ Version bump thanks to Jason Wallace
23 Nov 2006; Francesco Riosa <vivo@gentoo.org> snort-2.4.5.ebuild,
snort-2.6.0.ebuild:
+AUX snort-2.6.1.1-libnet.patch 8062 RMD160 fb42546b2efce968160afb0a0e0e96c8f0ad1471 SHA1 bcac8005327e016d8ffc1cf4b74aeb80228a2839 SHA256 ff36205cdd4554ff23c845383a82c9fdef6682a399072f3306f6aa3b74378b86
+MD5 24315885b9f04323523e4fec8906888d files/snort-2.6.1.1-libnet.patch 8062
+RMD160 fb42546b2efce968160afb0a0e0e96c8f0ad1471 files/snort-2.6.1.1-libnet.patch 8062
+SHA256 ff36205cdd4554ff23c845383a82c9fdef6682a399072f3306f6aa3b74378b86 files/snort-2.6.1.1-libnet.patch 8062
AUX snort.confd 423 RMD160 8312bad7b271cc20a9eeb8f08f0cba5cd330eb2f SHA1 149a377477a43ff78c7b3c73c159773e41adf892 SHA256 d504cb31ffcce9acc8fc7b68123a31a53b491444c52730339ea9a4e986521f71
MD5 446f8d2b3435b8a6be738da978670605 files/snort.confd 423
RMD160 8312bad7b271cc20a9eeb8f08f0cba5cd330eb2f files/snort.confd 423
MD5 cbbb4b70707fd563ba56143897b3d371 files/snort.rc7 739
RMD160 360f4288acafbed3d5ed3601ff073fb218d3e2a3 files/snort.rc7 739
SHA256 9123a58ab32548355ac6a557cf46baa08c3696725a9a3a4b2f467413006830e4 files/snort.rc7 739
+AUX snort.rc8 670 RMD160 a53d2d52cec12c952df71f13b2081bf06aa7188e SHA1 4f88d3821f6c1ac88dd98154dfb73a5350dd39a8 SHA256 f167fae9d07bc33aeb3a9d9cb2319b0ad5207a26b013f2acc066d89762597770
+MD5 cb18133235110ab47086f763e20eaf6c files/snort.rc8 670
+RMD160 a53d2d52cec12c952df71f13b2081bf06aa7188e files/snort.rc8 670
+SHA256 f167fae9d07bc33aeb3a9d9cb2319b0ad5207a26b013f2acc066d89762597770 files/snort.rc8 670
+DIST Community-Rules-2.4.tar.gz 110044 RMD160 ecfb4444cb0152545d823692eb6e5e2347151b54 SHA1 cbb5e5e8183608145642b3a47eb0be7fc06423f6 SHA256 4c82f90c960626aae5804c2375540f2d7241524c31ae3c7ab69df6c46e295c4c
DIST Community-Rules.tar.gz 11678 RMD160 a65b656e4dbf29f1c807622e865e945f509fe0c5 SHA1 de02fd44c58529795e0ab59b65aa08a608cffd95 SHA256 fd37a897455dcb4bace1f7f0af11747b5360e0e3896cd0b9649e5d19281bb2cf
DIST snort-2.4.0-genpatches.tar.bz2 6475 RMD160 9ea99c71892a2cbf409ead3514ae792210bdf3d0 SHA1 23d7ac5fb3e3fca5340a4f45ff6d64c4a4214e42 SHA256 8bf51a47b2a0db9ccad83a27105994befd9be381b41aeb02561882308f4c6dff
DIST snort-2.4.5.tar.gz 2817837 RMD160 1b697ccd84e1c10406ac20ccc0c46f79ea661e11 SHA1 3ba7dae8058aecf4e4eb1c7a816a7c8a4fb7c550 SHA256 84eb84da542d23e9f1c29b8eb319614c509fb19a745f1fa2a88d07c740645184
DIST snort-2.6.0.tar.gz 3322826 RMD160 862cfd20b866b58dcc5a27cb3f4fcad90c1b7550 SHA1 502b68163ab378ea55e88d588f8a4784a589377d SHA256 0acbfedf728df3d63ed075a56259b81ab5e26099051ceb5808e0c87329fe588d
+DIST snort-2.6.1.1.tar.gz 3509132 RMD160 f49ac2f339303ccc48f343c21f0873e9ca49de2e SHA1 ce17e85725ba68b483d93c544872e6e8c6380a36 SHA256 01e21432ec5a60a3965ce3e3ebf9cdb4125c9dd5d218da22688857a6357e2a94
DIST snortrules-pr-2.4.tar.gz 789097 RMD160 dd2179b3ce8a55699d2e1b857426e5489191a121 SHA1 b8b59754ccb59b1dcf324d2faa399326117a60e9 SHA256 19d2545a2a150dff8b4dbcbd0def389b6865c4c70f5084172d08a7b151e1a504
DIST snortsam-20050110.tar.gz 29395 RMD160 ec80ce024ed7a013da35444ef1098ba3faa6cfc3 SHA1 46a274abeeea4e808849c65b9d510a5b5a221ba6 SHA256 dc428458f3c47684aabb89036ca7e601a6aa92864dbf23b31f33732b76c2a01e
EBUILD snort-2.4.5.ebuild 4374 RMD160 5cd0eb82c17ed022e552adbeeabb3aaff8d36f00 SHA1 d7d83dee97572ada2825a769a9a53f701faac511 SHA256 2829a4883caa406017ea5e793b50bd170e04dca45ccd2d3725a2ce9aaeba2f91
MD5 b584eb93be73ead6107524cee48f2c97 snort-2.6.0.ebuild 5582
RMD160 c7fbda8bf032ff999b2e25416bedb9b577f2a16c snort-2.6.0.ebuild 5582
SHA256 8484ad4280601dcd6fad7b7af830d5084b8aaed97ba6611d8c7f59917d7a6031 snort-2.6.0.ebuild 5582
-MISC ChangeLog 20092 RMD160 8051b8c64b5149cd5ffb41e929540be58370b964 SHA1 a7112731fc809d2cd45efef417a7f1d422eacc5d SHA256 4a424d68be4a085fd0c11f11308b31ccdf1c01c574798d96b9d0e5facd05d79a
-MD5 9eff672af9e5d06d28d3ba07a16f771c ChangeLog 20092
-RMD160 8051b8c64b5149cd5ffb41e929540be58370b964 ChangeLog 20092
-SHA256 4a424d68be4a085fd0c11f11308b31ccdf1c01c574798d96b9d0e5facd05d79a ChangeLog 20092
+EBUILD snort-2.6.1.1.ebuild 5511 RMD160 f930e23af3111f59345edf3ff9abc415ff5c6217 SHA1 acb295d23c8c36e9c18f3d2a5d68bd91e282bceb SHA256 e4ccee48d4eff9d9cd0ed1f577f180a51546330330f57876212b29208837a18d
+MD5 1c4b5c2fe2d4327b15aa113a79f2046e snort-2.6.1.1.ebuild 5511
+RMD160 f930e23af3111f59345edf3ff9abc415ff5c6217 snort-2.6.1.1.ebuild 5511
+SHA256 e4ccee48d4eff9d9cd0ed1f577f180a51546330330f57876212b29208837a18d snort-2.6.1.1.ebuild 5511
+MISC ChangeLog 20288 RMD160 a46807e07b633d5e5040e22ce698eaeb36427978 SHA1 7563503da5a44a2b3b19d4198bf36f10f1dd9a50 SHA256 902450fe3b111095e863cf4b772ac5ad9e40ee3667c81afac99f704cc0b7a31e
+MD5 ced02098223737af5a0017bcd89e9f25 ChangeLog 20288
+RMD160 a46807e07b633d5e5040e22ce698eaeb36427978 ChangeLog 20288
+SHA256 902450fe3b111095e863cf4b772ac5ad9e40ee3667c81afac99f704cc0b7a31e ChangeLog 20288
MISC metadata.xml 246 RMD160 427cf3e9767d777650d905a7b4fcad57259908bb SHA1 470a19ab011412f7f219d654304b7a43876082ae SHA256 843ac8d26d6f2f01b254d963268d1b4dc7ec515e5ce16daf47f7c68f2c47584e
MD5 53edc4328d9adeaf087c65ea94b1594b metadata.xml 246
RMD160 427cf3e9767d777650d905a7b4fcad57259908bb metadata.xml 246
MD5 2f9a1287ed8f1232c7b5eb58142e97f1 files/digest-snort-2.6.0 985
RMD160 1ffee6de223e8608f77c9cb592cb93c80f31680b files/digest-snort-2.6.0 985
SHA256 eaf927c4c17b7e2ecf529a6cc28ad697600962f607caaf6e7b755003f9fd7cb7 files/digest-snort-2.6.0 985
+MD5 2e5c4d33b57f408c8ff2d95cc66316b0 files/digest-snort-2.6.1.1 1006
+RMD160 31dde0e210e56d041c915b821a964097f222d0bf files/digest-snort-2.6.1.1 1006
+SHA256 40c3978f7683528e809ce58a9ec64543e828cd42be3f701a5a003a2c6de86d92 files/digest-snort-2.6.1.1 1006
--- /dev/null
+MD5 52c0c6bc60d7123cb048e562d25bc34a Community-Rules-2.4.tar.gz 110044
+RMD160 ecfb4444cb0152545d823692eb6e5e2347151b54 Community-Rules-2.4.tar.gz 110044
+SHA256 4c82f90c960626aae5804c2375540f2d7241524c31ae3c7ab69df6c46e295c4c Community-Rules-2.4.tar.gz 110044
+MD5 a7313ff4346317c301af361e211a7cd4 snort-2.6.1.1.tar.gz 3509132
+RMD160 f49ac2f339303ccc48f343c21f0873e9ca49de2e snort-2.6.1.1.tar.gz 3509132
+SHA256 01e21432ec5a60a3965ce3e3ebf9cdb4125c9dd5d218da22688857a6357e2a94 snort-2.6.1.1.tar.gz 3509132
+MD5 35d9a2486f8c0280bb493aa03c011927 snortrules-pr-2.4.tar.gz 789097
+RMD160 dd2179b3ce8a55699d2e1b857426e5489191a121 snortrules-pr-2.4.tar.gz 789097
+SHA256 19d2545a2a150dff8b4dbcbd0def389b6865c4c70f5084172d08a7b151e1a504 snortrules-pr-2.4.tar.gz 789097
+MD5 2eeef1a7a040d67c3afaf9d749905e47 snortsam-20050110.tar.gz 29395
+RMD160 ec80ce024ed7a013da35444ef1098ba3faa6cfc3 snortsam-20050110.tar.gz 29395
+SHA256 dc428458f3c47684aabb89036ca7e601a6aa92864dbf23b31f33732b76c2a01e snortsam-20050110.tar.gz 29395
--- /dev/null
+diff -ru snort-2.6.1.1~/configure.in snort-2.6.1.1/configure.in
+--- snort-2.6.1.1~/configure.in 2006-11-25 12:36:50.000000000 +0100
++++ snort-2.6.1.1/configure.in 2006-11-25 13:26:11.000000000 +0100
+@@ -799,19 +799,19 @@
+ else
+ libnet_dir="/usr/include /usr/local/include /sw/include"
+ fi
+- AC_MSG_CHECKING("for libnet.h version 1.0.x")
++ AC_MSG_CHECKING("for libnet-1.0.h version 1.0.x")
+ for i in $libnet_dir; do
+- if test -r $i/libnet.h; then
++ if test -r $i/libnet-1.0.h; then
+ LIBNET_INC_DIR=$i
+ fi
+ done
+
+ if test "$LIBNET_INC_DIR" != ""; then
+- if eval "grep LIBNET_VERSION $LIBNET_INC_DIR/libnet.h | grep -v 1.0 >/dev/null"; then
+- FAIL_MESSAGE("libnet 1.0.x (libnet.h)", $LIBNET_INC_DIR)
++ if eval "grep LIBNET_VERSION $LIBNET_INC_DIR/libnet-1.0.h | grep -v 1.0 >/dev/null"; then
++ FAIL_MESSAGE("libnet 1.0.x (libnet-1.0.h)", $LIBNET_INC_DIR)
+ fi
+- CFLAGS="${CFLAGS} `libnet-config --defines` `libnet-config --cflags`"
+- LIBS="${LIBS} `libnet-config --libs`"
++ CFLAGS="${CFLAGS} `libnet-1.0-config --defines` `libnet-1.0-config --cflags`"
++ LIBS="${LIBS} `libnet-1.0-config --libs`"
+ CPPFLAGS="${CPPFLAGS} -I${LIBNET_INC_DIR}"
+ AC_MSG_RESULT($i)
+ else
+@@ -828,7 +828,7 @@
+
+ AC_ARG_ENABLE(flexresp,
+ [ --enable-flexresp Flexible Responses on hostile connection attempts],
+-[ CPPFLAGS="${CPPFLAGS} -DENABLE_RESPONSE `libnet-config --defines --cflags`" LDFLAGS="${LDFLAGS} `libnet-config --libs`"],)
++[ CPPFLAGS="${CPPFLAGS} -DENABLE_RESPONSE `libnet-1.0-config --defines --cflags`" LDFLAGS="${LDFLAGS} `libnet-1.0-config --libs`"],)
+
+
+ if test "$enable_flexresp" != "no" -a "$enable_flexresp" = "yes"; then
+@@ -838,21 +838,21 @@
+ exit
+ fi
+
+- if test `libnet-config --cflags | wc -c` = "1"; then
++ if test `libnet-1.0-config --cflags | wc -c` = "1"; then
+ CPPFLAGS="${CPPFLAGS} -I/usr/local/include -I/sw/include"
+ LIBNET_CONFIG_BROKEN_CFLAGS=yes
+ fi
+
+- if test `libnet-config --libs | wc -c` = "1"; then
+- AC_MSG_WARN(libnet-config --libs is broken on your system. If you)
++ if test `libnet-1.0-config --libs | wc -c` = "1"; then
++ AC_MSG_WARN(libnet-1.0-config --libs is broken on your system. If you)
+ AC_MSG_WARN(are using a precompiled package please notify the)
+ AC_MSG_WARN(maintainer.)
+ LDFLAGS="${LDFLAGS} -L/usr/local/lib -L/sw/lib"
+- LIBS="${LIBS} -lnet"
++ LIBS="${LIBS} -lnet-1.0"
+ fi
+
+ LNET=""
+- AC_CHECK_HEADERS(libnet.h,, LNET="no")
++ AC_CHECK_HEADERS(libnet-1.0.h,, LNET="no")
+ if test "$LNET" = "no"; then
+ echo
+ echo " ERROR! Libnet header not found, go get it from"
+@@ -870,33 +870,33 @@
+ libnet_dir="/usr/include /usr/local/include /sw/include"
+ fi
+ else
+- libnet_dir=`libnet-config --cflags | cut -dI -f2`
++ libnet_dir=`libnet-1.0-config --cflags | cut -dI -f2`
+ fi
+
+ LIBNET_INC_DIR=""
+ for i in $libnet_dir; do
+- if test -r $i/libnet.h; then
++ if test -r $i/libnet-1.0.h; then
+ LIBNET_INC_DIR=$i
+ fi
+ done
+
+ if test "$LIBNET_INC_DIR" != ""; then
+- if eval "grep LIBNET_VERSION $LIBNET_INC_DIR/libnet.h | grep -v 1.0.2a >/dev/null"; then
++ if eval "grep LIBNET_VERSION $LIBNET_INC_DIR/libnet-1.0.h | grep -v 1.0.2a >/dev/null"; then
+ AC_MSG_RESULT(no)
+ echo
+ echo " ERROR! Snort with --enable-flexresp will *only* work with"
+ echo " libnet version 1.0.2a, go get it from"
+ echo " http://www.packetfactory.net/projects/libnet/"
+- FAIL_MESSAGE("libnet 1.0.2a (libnet.h)", $LIBNET_INC_DIR)
++ FAIL_MESSAGE("libnet 1.0.2a (libnet-1.0.h)", $LIBNET_INC_DIR)
+ fi
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+- FAIL_MESSAGE("libnet 1.0.2a (libnet.h)", $libnet_dir)
++ FAIL_MESSAGE("libnet 1.0.2a (libnet-1.0.h)", $libnet_dir)
+ fi
+
+ LNET=""
+- AC_CHECK_LIB(net, libnet_build_ip,, LNET="no")
++ AC_CHECK_LIB(net-1.0, libnet_build_ip,, LNET="no")
+ if test "$LNET" = "no"; then
+ echo
+ echo " ERROR! Libnet library not found, go get it from"
+@@ -942,7 +942,7 @@
+
+ AC_ARG_ENABLE(react,
+ [ --enable-react Intercept and terminate offending HTTP accesses],
+-[ CPPFLAGS="${CPPFLAGS} -DENABLE_REACT `libnet-config --defines --cflags`" LDFLAGS="${LDFLAGS} `libnet-config --libs`"],)
++[ CPPFLAGS="${CPPFLAGS} -DENABLE_REACT `libnet-1.0-config --defines --cflags`" LDFLAGS="${LDFLAGS} `libnet-1.0-config --libs`"],)
+
+
+ if test "$enable_react" != "no" -a "$enable_react" = "yes"; then
+@@ -953,13 +953,13 @@
+ exit
+ fi
+
+- if test `libnet-config --cflags | wc -c` = "1"; then
++ if test `libnet-1.0-config --cflags | wc -c` = "1"; then
+ CPPFLAGS="${CPPFLAGS} -I/usr/local/include -I/sw/include"
+ LIBNET_CONFIG_BROKEN_CFLAGS=yes
+ fi
+
+- if test `libnet-config --libs | wc -c` = "1"; then
+- AC_MSG_WARN(libnet-config --libs is broken on your system. If you)
++ if test `libnet-1.0-config --libs | wc -c` = "1"; then
++ AC_MSG_WARN(libnet-1.0-config --libs is broken on your system. If you)
+ AC_MSG_WARN(are using a precompiled package please notify the)
+ AC_MSG_WARN(maintainer.)
+ LDFLAGS="${LDFLAGS} -L/usr/local/lib -L/sw/lib"
+@@ -967,7 +967,7 @@
+ fi
+
+ LNET=""
+- AC_CHECK_HEADERS(libnet.h,, LNET="no")
++ AC_CHECK_HEADERS(libnet-1.0.h,, LNET="no")
+ if test "$LNET" = "no"; then
+ echo
+ echo " ERROR! Libnet header not found, go get it from"
+@@ -985,29 +985,29 @@
+ libnet_dir="/usr/include /usr/local/include /sw/include"
+ fi
+ else
+- libnet_dir=`libnet-config --cflags | cut -dI -f2`
++ libnet_dir=`libnet-1.0-config --cflags | cut -dI -f2`
+ fi
+
+ LIBNET_INC_DIR=""
+ for i in $libnet_dir; do
+- if test -r $i/libnet.h; then
++ if test -r $i/libnet-1.0.h; then
+ LIBNET_INC_DIR=$i
+ fi
+ done
+
+ if test "$LIBNET_INC_DIR" != ""; then
+- if eval "grep LIBNET_VERSION $LIBNET_INC_DIR/libnet.h | grep -v 1.0.2a >/dev/null"; then
++ if eval "grep LIBNET_VERSION $LIBNET_INC_DIR/libnet-1.0.h | grep -v 1.0.2a >/dev/null"; then
+ AC_MSG_RESULT(no)
+ echo
+ echo " ERROR! Snort with --enable-react will *only* work with"
+ echo " libnet version 1.0.2a, go get it from"
+ echo " http://www.packetfactory.net/projects/libnet/"
+- FAIL_MESSAGE("libnet 1.0.2a (libnet.h)", $LIBNET_INC_DIR)
++ FAIL_MESSAGE("libnet 1.0.2a (libnet-1.0.h)", $LIBNET_INC_DIR)
+ fi
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+- FAIL_MESSAGE("libnet 1.0.2a (libnet.h)", $libnet_dir)
++ FAIL_MESSAGE("libnet 1.0.2a (libnet-1.0.h)", $libnet_dir)
+ fi
+
+ LNET=""
+diff -ru snort-2.6.1.1~/src/detection-plugins/sp_react.c snort-2.6.1.1/src/detection-plugins/sp_react.c
+--- snort-2.6.1.1~/src/detection-plugins/sp_react.c 2006-11-25 12:36:50.000000000 +0100
++++ snort-2.6.1.1/src/detection-plugins/sp_react.c 2006-11-25 13:07:47.000000000 +0100
+@@ -57,7 +57,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <ctype.h>
+-#include <libnet.h>
++#include <libnet-1.0.h>
+
+ #include "rules.h"
+ #include "decode.h"
+diff -ru snort-2.6.1.1~/src/detection-plugins/sp_respond.c snort-2.6.1.1/src/detection-plugins/sp_respond.c
+--- snort-2.6.1.1~/src/detection-plugins/sp_respond.c 2006-11-25 12:36:50.000000000 +0100
++++ snort-2.6.1.1/src/detection-plugins/sp_respond.c 2006-11-25 13:07:29.000000000 +0100
+@@ -34,7 +34,7 @@
+
+
+ #if defined(ENABLE_RESPONSE) && !defined(ENABLE_RESPONSE2)
+-#include <libnet.h>
++#include <libnet-1.0.h>
+
+ #include "decode.h"
+ #include "rules.h"
+diff -ru snort-2.6.1.1~/src/inline.c snort-2.6.1.1/src/inline.c
+--- snort-2.6.1.1~/src/inline.c 2006-11-25 12:36:50.000000000 +0100
++++ snort-2.6.1.1/src/inline.c 2006-11-25 13:07:07.000000000 +0100
+@@ -20,7 +20,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <pcap.h>
+-#include <libnet.h>
++#include <libnet-1.0.h>
+
+ #include "decode.h"
+ #include "inline.h"
--- /dev/null
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/snort/files/snort.rc8,v 1.1 2006/11/25 16:39:42 cedk Exp $
+
+depend() {
+ need net
+ after mysql
+ after postgresql
+}
+
+checkconfig() {
+ if [ ! -e $CONF ] ; then
+ eerror "You need a configuration file to run snort"
+ eerror "There is an example config in /etc/snort/snort.conf.distrib"
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting snort"
+ start-stop-daemon --start --quiet --exec /usr/bin/snort \
+ --pidfile ${PIDFILE} \
+ -- ${SNORT_OPTS} >/dev/null 2>&1
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping snort"
+ start-stop-daemon --stop --quiet --pidfile ${PIDFILE}
+ eend $?
+}
--- /dev/null
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-analyzer/snort/snort-2.6.1.1.ebuild,v 1.1 2006/11/25 16:39:42 cedk Exp $
+
+WANT_AUTOCONF="latest"
+WANT_AUTOMAKE="latest"
+inherit eutils autotools
+
+DESCRIPTION="Libpcap-based packet sniffer/logger/lightweight IDS"
+HOMEPAGE="http://www.snort.org/"
+SRC_URI="http://www.snort.org/dl/current/${P}.tar.gz
+ http://www.snort.org/pub-bin/downloads.cgi/Download/comm_rules/Community-Rules-2.4.tar.gz
+ http://www.snort.org/pub-bin/downloads.cgi/Download/vrt_pr/snortrules-pr-2.4.tar.gz
+ snortsam? ( mirror://gentoo/snortsam-20050110.tar.gz )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 -sparc ~x86"
+IUSE="postgres mysql flexresp selinux snortsam odbc prelude inline dynamicplugin
+timestats perfprofiling linux-smp-stats flexresp2 react sguil"
+
+DEPEND="virtual/libc
+ >=dev-libs/libpcre-4.2-r1
+ virtual/libpcap
+ flexresp? ( ~net-libs/libnet-1.0.2a )
+ flexresp2? ( dev-libs/libdnet )
+ react? ( ~net-libs/libnet-1.0.2a )
+ postgres? ( || ( dev-db/postgresql dev-db/libpq ) )
+ mysql? ( virtual/mysql )
+ prelude? ( >=dev-libs/libprelude-0.9.0 )
+ odbc? ( dev-db/unixODBC )
+ >=sys-devel/libtool-1.4
+ inline? (
+ ~net-libs/libnet-1.0.2a
+ net-firewall/iptables
+ )"
+
+RDEPEND="${DEPEND}
+ dev-lang/perl
+ selinux? ( sec-policy/selinux-snort )
+ snortsam? ( net-analyzer/snortsam )"
+
+pkg_setup() {
+ enewgroup snort
+ enewuser snort -1 -1 /dev/null snort
+
+ if use flexresp && use flexresp2 ; then
+ ewarn
+ ewarn "You have both the 'flexresp' and 'flexresp2' USE"
+ ewarn "flags set. You can use 'flexresp' or 'flexresp2'"
+ ewarn "but not both."
+ ewarn
+ ewarn "Defaulting to flexresp2..."
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}/${P}-libnet.patch"
+
+ sed -i "s:var RULE_PATH ../rules:var RULE_PATH /etc/snort/rules:" \
+ etc/snort.conf
+
+ if use prelude ; then
+ sed -i -e "s:AC_PROG_RANLIB:AC_PROG_LIBTOOL:" configure.in
+ fi
+
+ if use snortsam ; then
+ cd ..
+ einfo "Applying snortsam patch"
+ sed -i "s/PLUGIN_FWSAM/PLUGIN_FWSAM,/" snortpatch9 || die "sed failed"
+ ./patchsnort.sh "${S}" || die "snortsam patch failed"
+ cd "${S}"
+ fi
+
+ einfo "Regenerating autoconf/automake files"
+ AT_M4DIR=m4 eautoreconf
+}
+
+src_compile() {
+ local myconf
+
+ if use flexresp2; then
+ myconf="${myconf} --enable-flexresp2"
+ elif use flexresp; then
+ myconf="${myconf} --enable-flexresp"
+ fi
+
+ if use react && ! use flexresp; then
+ myconf="${myconf} --enable-react"
+ fi
+
+ myconf="${myconf} --with-libipq-includes=/usr/include/libipq"
+
+ econf \
+ --without-oracle \
+ $(use_with postgres postgresql) \
+ $(use_with mysql) \
+ $(use_with odbc) \
+ $(use_enable prelude) \
+ $(use_enable inline) \
+ $(use_enable dynamicplugin) \
+ $(use_enable timestats) \
+ $(use_enable perfprofiling) \
+ $(use_enable linux-smp-stats) \
+ ${myconf} || die "econf failed"
+
+ # limit to single as reported by jforman on irc
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "make install failed"
+
+ keepdir /var/log/snort/
+
+ dodoc doc/*
+ dodoc ./RELEASE.NOTES
+ docinto schemas ; dodoc schemas/*
+
+ insinto /etc/snort
+ doins etc/reference.config etc/classification.config \
+ etc/*.map etc/threshold.conf
+ newins etc/snort.conf snort.conf
+
+ newinitd "${FILESDIR}/snort.rc8" snort
+ newconfd "${FILESDIR}/snort.confd" snort
+
+ fowners snort:snort /var/log/snort
+ fperms 0770 /var/log/snort
+
+ # install rules
+ insinto /etc/snort/rules
+ doins -r "${WORKDIR}"/rules/*
+}
+
+pkg_postinst() {
+ ewarn
+ ewarn "Users upgrading from snort 2.4.x should take care when updating"
+ ewarn "their snort.conf. A number of significant changes have been"
+ ewarn "have been added to snort 2.6 including the addition of"
+ ewarn "dynamically loadable preprocessors, detection engine and rules."
+ ewarn "Snort 2.6 also includes the addition of performance profiling"
+ ewarn "for rules & preprocessors and uses a new default pattern matcher"
+ ewarn "which provides faster matching at the expense of being very"
+ ewarn "memory intensive."
+ ewarn
+ ewarn "If you find that snort is using too much memory, your system"
+ ewarn "freezes, or snort crashes after a few minutes try adding the"
+ ewarn "following to your snort.conf..."
+ ewarn
+ ewarn "'config detection: search-method ac-sparsebands'"
+ ewarn
+ ewarn "This will provide high pattern matching performance at a much"
+ ewarn "lower cost to memory. For more information on the new features"
+ ewarn "in snort 2.6, please take a look at the release notes located in..."
+ ewarn
+ ewarn " /usr/share/doc/${PF}/RELEASE.NOTES.gz"
+ ewarn
+ einfo "To use a database as a backend for snort you will have to"
+ einfo "import the correct tables to the database."
+ einfo "You will have to setup a database called snort before doing the"
+ einfo "following..."
+ einfo
+ einfo " MySQL: zcat /usr/share/doc/${PF}/schemas/create_mysql.gz | mysql -p snort"
+ einfo
+ einfo " PostgreSQL: import /usr/share/doc/${PF}/schemas/create_postgresql.gz"
+ einfo
+ einfo " ODBC: look at /usr/share/doc/${PF}/schemas/"
+ einfo
+ einfo "Users using the unified output plugin and barnyard do not need to"
+ einfo "compile database support into snort, but still need to set up their"
+ einfo "database as shown above."
+ einfo
+ ewarn "Only a basic set of rules was installed."
+ ewarn "Please add your other sets of rules to /etc/snort/rules."
+ ewarn "For more information on rules, visit ${HOMEPAGE}."
+ if use sguil ; then
+ elog "SGUIL needs to catch up with snort 2.6.x. If you plan on using SGUIL"
+ elog "you should unmerge ${P} and emerge snort-2.4.x"
+ fi
+}