mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
net-analyzer/snort: drop old
Main target here is snort-2.9.4.6-r1 which OOMs m4 at src_prepare(). While at it drop EAPI=5 ebuilds and a few older revbumps. Package-Manager: Portage-2.3.56, Repoman-2.3.12 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
This commit is contained in:
@@ -1,9 +1,2 @@
|
||||
DIST snort-2.9.12.tar.gz 6456877 BLAKE2B af5584fe01caf9af2f2188e1362bd927a884354ddcb3026af514dddc1264b557691e1644d3c24e85c3b5b5f515dd9fccdd8d38ebc7c28d2f384fb822e27d8bb8 SHA512 6f759b321ca5496abf27c9e4f4fa003cd5167f8c8a160bf5f0b1aee1a93aa8d27de89b84bdf993a0bfb3a93c6315cb2bdbdc3fdb3b09b8d4d1d3c22b69c6783f
|
||||
DIST snort-2.9.4.6.tar.gz 5338762 BLAKE2B d7d663028fcfeffd2f2996a4ebf81aa723b4564a0aa38158f5fef104385866164d8ddd538d920f08e4102da0b055157c8574e42f2e306187eb82283db5ad2c78 SHA512 e35e22cab3b98bbd42ffb4b88c4c4cc9b1c11e35952a9f3f4f684c02c81ca8604b45d16f42b3d0a6c792eeab86a8e319d8ebdd7b1a5215f93ec0e70b6ef53f98
|
||||
DIST snort-2.9.7.0.tar.gz 6340553 BLAKE2B 97fc2699fd93278edd5b350db498733f60ea9a78fe8f9f755c153380be77b3b97caec3aa7cce633650dd0e5d193deab675855aa68c2efcb04dc6df04b77ccb4c SHA512 f2cbdd2cf2ad15bd4cf3f8658c2a4880ee2069589db89c11aaea637984dde270ef6242c6dd43d5e12f829ed2464388950ee791dbbfa8df796843942c415fbc2f
|
||||
DIST snort-2.9.7.2.tar.gz 6352738 BLAKE2B c2c67395d9a214886ecf033b692f841da58284d0687ee4c219f77850246b1c2e134b874aba6dfd30dcb1f3c71d54a6c4e5dc70e613eb28a59c51f31dc9498b41 SHA512 4732014d0049671b1a81857e25a5ffbc3cbccb698be2b3406f69a45603a6b9f34343469ee14fa513199cf9b890a278cc777b42493850cff6fcb3493bb9b73dce
|
||||
DIST snort-2.9.7.3.tar.gz 6300073 BLAKE2B f81611aadd282ebf01e92c7a62c28fad980dab36d86635c32b89fb4691b3723c4cdfaf123f7b703bdf1132419bed4b55533861c1665012af310bf916665b8bf2 SHA512 949213d44d08c7f70bd45bc4947c9c35bfcd2ca3a54ec8a28d0c03e3868a485d2c208ec7850398f69d706c74fbad1389af445eb1107e678ff95714b5696f27b7
|
||||
DIST snort-2.9.7.5.tar.gz 6312847 BLAKE2B a8ef86fd5fded47495fe50ee5fcc81d9f066b6ce099fd17496707ea01c77c9581526444ad3601d4025c1be8ada533bfc34e7aca7c616bf4f43c3f940742d0272 SHA512 fa1b299c72a44a8cb64361e8dab9fad5bfec36bbb05ebed2407002b2c5d97256d7d67599cb1f29406b5ee0916f2f85a173610d403cd34c57f74f7049c10eb038
|
||||
DIST snort-2.9.8.0.tar.gz 6323095 BLAKE2B f1febbc585e1921af5c599e3d0a4035f38045dd7ea6dd001a6aa9f887a7632e7ad0aecc3fe45f7ba0b44e87dfa50eceeb51df044483baf55ff60ded66cad6867 SHA512 46e5f19be5eccad2d5b4d3d55ce42fe616cd5f605b7178ed98e86cc8f2f4cf0f796fad80033d81b71bea7da2abfb6d0b340815ee158190f9b974f671045bf002
|
||||
DIST snort-2.9.8.2.tar.gz 6311793 BLAKE2B 82b4587221a43ade2d6c1d9c38889a5d329d0eb5894bdbd84fac5fa2965ddafc0b1b15f286719a82a8a4df3daf3c20847a298eeae84422867ccefb2d50a7ea71 SHA512 60f660b2093ae88211dcef9256edf35441c0ffc61ec8240b6d25e947b55b0fdb23482913246e2288a8a533dbaff4e5ea2d8f51298ab9aa67baa1ab74d1c4f7a4
|
||||
DIST snort-2.9.8.3.tar.gz 6244304 BLAKE2B cb77c80dde0b5b32ba0fe36cd07e1f6f465127e4be207ba6cd3b7c7dff75f4537c86c6a88d744a924b99d0b4ac864add2c9111c63e51dc4c7dc23f8d19a6c792 SHA512 2f3dfe46e14a5106a02ca60b2d334549f4924ff916de0804b2b7792cdd31e104fbb454b4b932855b5f25a861698db0f8988844782b12b0e5fa132d88d4a7a687
|
||||
|
||||
@@ -30,11 +30,6 @@
|
||||
<flag name="control-socket">
|
||||
Enables Snort's control socket.
|
||||
</flag>
|
||||
<flag name="dynamicplugin">
|
||||
Enable ability to dynamically load preprocessors, detection engine,
|
||||
and rules library. This is required if you want to use shared
|
||||
object (SO) snort rules.
|
||||
</flag>
|
||||
<flag name="file-inspect">
|
||||
Enables extended file inspection capabilities.
|
||||
</flag>
|
||||
@@ -57,11 +52,6 @@
|
||||
Enable accurate statistics reporting through /proc on systems with
|
||||
multipule processors.
|
||||
</flag>
|
||||
<flag name="mpls">
|
||||
Enables support for processing and inspecting Multiprotocol Label
|
||||
Switching MPLS network network traffic. Only needed if you are
|
||||
monitoring an MPLS network.
|
||||
</flag>
|
||||
<flag name="non-ether-decoders">
|
||||
Enable decoding of non-ethernet protocols such as TokenRing, FDDI,
|
||||
IPX, etc.
|
||||
@@ -95,40 +85,20 @@
|
||||
Enables Sourcefire specific build options, which include
|
||||
--enable-perfprofiling and --enable-ppm.
|
||||
</flag>
|
||||
<flag name="targetbased">
|
||||
Enables support in snort for using a host attibute XML file
|
||||
(attribute_table.dtd). This file needs to be created by the user
|
||||
and should define the IP address, operating system, and services
|
||||
for all hosts on the monitored network. This is cumbersome, but
|
||||
can improve intrusion detection accuracy.
|
||||
</flag>
|
||||
<flag name="reload-error-restart">
|
||||
Enables support for completely restarting snort if an error is
|
||||
detected durring a reload.
|
||||
</flag>
|
||||
<flag name="zlib">
|
||||
Enables HTTP inspection of compressed web traffic. Requires
|
||||
dynamicplugin be enabled.
|
||||
</flag>
|
||||
<flag name="active-response">
|
||||
Enables support for automatically sending TCP resets and ICMP
|
||||
unreachable messages to terminate connections. Used with inline
|
||||
deployments.
|
||||
</flag>
|
||||
<flag name="normalizer">
|
||||
Enables support for normalizing packets in inline deployments to
|
||||
help minimize the chances of detection evasion.
|
||||
</flag>
|
||||
<flag name="flexresp3">
|
||||
Enables support for new flexable response preprocessor for enabling
|
||||
connection tearing for inline deployments. Replaces flexresp and
|
||||
flexresp2.
|
||||
</flag>
|
||||
<flag name="paf">
|
||||
Enables support for Protocol Aware Flushing. This allows Snort to
|
||||
statefully scan a stream and reassemble a complete protocol data
|
||||
unit regardless of segmentation.
|
||||
</flag>
|
||||
<flag name="large-pcap-64bit">
|
||||
Allows Snort to read pcap files that are larger than 2 GB. ONLY
|
||||
VALID FOR 64bit SYSTEMS!
|
||||
|
||||
@@ -1,251 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
inherit autotools multilib user
|
||||
|
||||
DESCRIPTION="The de facto standard for intrusion detection/prevention"
|
||||
HOMEPAGE="https://www.snort.org"
|
||||
SRC_URI="https://www.snort.org/downloads/archive/${PN}/${P}.tar.gz"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="static +dynamicplugin +zlib +gre +mpls +targetbased
|
||||
+ppm +perfprofiling +non-ether-decoders control-socket
|
||||
shared-rep sourcefire linux-smp-stats inline-init-failopen
|
||||
+threads debug +active-response +normalizer reload-error-restart
|
||||
+react +flexresp3 +paf large-pcap-64bit selinux"
|
||||
|
||||
DEPEND=">=net-libs/libpcap-1.3.0
|
||||
>=net-libs/daq-2.0.0
|
||||
>=dev-libs/libpcre-8.33
|
||||
dev-libs/libdnet
|
||||
zlib? ( sys-libs/zlib )"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
selinux? ( sec-policy/selinux-snort )"
|
||||
|
||||
REQUIRED_USE="zlib? ( dynamicplugin )
|
||||
!kernel_linux? ( !shared-rep )"
|
||||
|
||||
pkg_setup() {
|
||||
|
||||
# pre_inst() is a better place to put this
|
||||
# but we need it here for the 'fowners' statements in src_install()
|
||||
enewgroup snort
|
||||
enewuser snort -1 -1 /dev/null snort
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
|
||||
# Multilib fix for the sf_engine
|
||||
ebegin "Applying multilib fix"
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-plugins/sf_engine/Makefile.am" \
|
||||
|| die "sed for sf_engine failed"
|
||||
|
||||
# Multilib fix for the curent set of dynamic-preprocessors
|
||||
for i in ftptelnet smtp ssh dns ssl dcerpc2 sdf imap pop rzb_saac sip reputation gtp modbus dnp3; do
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-preprocessors/$i/Makefile.am" \
|
||||
|| die "sed for $i failed."
|
||||
done
|
||||
eend
|
||||
|
||||
AT_M4DIR=m4 eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
|
||||
econf \
|
||||
$(use_enable !static shared) \
|
||||
$(use_enable static) \
|
||||
$(use_enable static so-with-static-lib) \
|
||||
$(use_enable dynamicplugin) \
|
||||
$(use_enable zlib) \
|
||||
$(use_enable gre) \
|
||||
$(use_enable mpls) \
|
||||
$(use_enable targetbased) \
|
||||
$(use_enable control-socket) \
|
||||
$(use_enable non-ether-decoders) \
|
||||
$(use_enable shared-rep) \
|
||||
$(use_enable sourcefire) \
|
||||
$(use_enable ppm) \
|
||||
$(use_enable perfprofiling) \
|
||||
$(use_enable linux-smp-stats) \
|
||||
$(use_enable inline-init-failopen) \
|
||||
$(use_enable threads pthread) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable debug debug-msgs) \
|
||||
$(use_enable debug corefiles) \
|
||||
$(use_enable !debug dlclose) \
|
||||
$(use_enable active-response) \
|
||||
$(use_enable normalizer) \
|
||||
$(use_enable reload-error-restart) \
|
||||
$(use_enable react) \
|
||||
$(use_enable flexresp3) \
|
||||
$(use_enable paf) \
|
||||
$(use_enable large-pcap-64bit large-pcap) \
|
||||
--enable-reload \
|
||||
--disable-build-dynamic-examples \
|
||||
--disable-profile \
|
||||
--disable-ppm-test \
|
||||
--disable-intel-soft-cpm \
|
||||
--disable-static-daq \
|
||||
--disable-rzb-saac
|
||||
}
|
||||
|
||||
src_install() {
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
dodir /var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort/rules \
|
||||
/etc/snort/so_rules \
|
||||
/usr/$(get_libdir)/snort_dynamicrules
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to trouble shoot build problems and bug reports so we are
|
||||
# perserving them incase the user needs upstream support.
|
||||
dodoc RELEASE.NOTES ChangeLog \
|
||||
doc/* \
|
||||
tools/u2boat/README.u2boat
|
||||
|
||||
insinto /etc/snort
|
||||
doins etc/attribute_table.dtd \
|
||||
etc/classification.config \
|
||||
etc/gen-msg.map \
|
||||
etc/reference.config \
|
||||
etc/threshold.conf \
|
||||
etc/unicode.map
|
||||
|
||||
# We use snort.conf.distrib because the config file is complicated
|
||||
# and the one shipped with snort can change drastically between versions.
|
||||
# Users should migrate setting by hand and not with etc-update.
|
||||
newins etc/snort.conf snort.conf.distrib
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to troubleshoot build problems and bug reports so we are
|
||||
# preserving them incase the user needs upstream support.
|
||||
if [ -f "${WORKDIR}/${PF}/config.log" ]; then
|
||||
dodoc "${WORKDIR}/${PF}/config.log"
|
||||
fi
|
||||
if [ -f "${T}/build.log" ]; then
|
||||
dodoc "${T}/build.log"
|
||||
fi
|
||||
|
||||
insinto /etc/snort/preproc_rules
|
||||
doins preproc_rules/decoder.rules \
|
||||
preproc_rules/preprocessor.rules \
|
||||
preproc_rules/sensitive-data.rules
|
||||
|
||||
fowners -R snort:snort \
|
||||
/var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort
|
||||
|
||||
newinitd "${FILESDIR}/snort.rc12" snort
|
||||
newconfd "${FILESDIR}/snort.confd.2" snort
|
||||
|
||||
# Sourcefire uses Makefiles to install docs causing Bug #297190.
|
||||
# This removes the unwanted doc directory and rogue Makefiles.
|
||||
rm -rf "${D}"usr/share/doc/snort || die "Failed to remove SF doc directories"
|
||||
rm "${D}"usr/share/doc/"${PF}"/Makefile* || die "Failed to remove doc make files"
|
||||
|
||||
#Remove unneeded .la files (Bug #382863)
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicengine/libsf_engine.la || die
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicpreprocessor/libsf_*_preproc.la || die "Failed to remove libsf_?_preproc.la"
|
||||
|
||||
# Set the correct lib path for dynamicengine, dynamicpreprocessor, and dynamicdetection
|
||||
sed -i -e 's|/usr/local/lib|/usr/'$(get_libdir)'|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct rule location in the config
|
||||
sed -i -e 's|RULE_PATH ../rules|RULE_PATH /etc/snort/rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct preprocessor/decoder rule location in the config
|
||||
sed -i -e 's|PREPROC_RULE_PATH ../preproc_rules|PREPROC_RULE_PATH /etc/snort/preproc_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Enable the preprocessor/decoder rules
|
||||
sed -i -e 's|^# include $PREPROC_RULE_PATH|include $PREPROC_RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^# dynamicdetection directory|dynamicdetection directory|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Just some clean up of trailing /'s in the config
|
||||
sed -i -e 's|snort_dynamicpreprocessor/$|snort_dynamicpreprocessor|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Make it clear in the config where these are...
|
||||
sed -i -e 's|^include classification.config|include /etc/snort/classification.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^include reference.config|include /etc/snort/reference.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Disable all rule files by default.
|
||||
sed -i -e 's|^include $RULE_PATH|# include $RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Disable normalizer preprocessor config if normalizer USE flag not set.
|
||||
if ! use normalizer; then
|
||||
sed -i -e 's|^preprocessor normalize|#preprocessor normalize|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
fi
|
||||
|
||||
# Set the configured DAQ to afpacket
|
||||
sed -i -e 's|^# config daq: <type>|config daq: afpacket|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the location of the DAQ modules
|
||||
sed -i -e 's|^# config daq_dir: <dir>|config daq_dir: /usr/'$(get_libdir)'/daq|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the DAQ mode to passive
|
||||
sed -i -e 's|^# config daq_mode: <mode>|config daq_mode: passive|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set snort to run as snort:snort
|
||||
sed -i -e 's|^# config set_gid:|config set_gid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
sed -i -e 's|^# config set_uid:|config set_uid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the default log dir
|
||||
sed -i -e 's|^# config logdir:|config logdir: /var/log/snort/|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct so_rule location in the config
|
||||
sed -i -e 's|SO_RULE_PATH ../so_rules|SO_RULE_PATH /etc/snort/so_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
|
||||
einfo "There have been a number of improvements and new features"
|
||||
einfo "added to ${P}. Please review the RELEASE.NOTES and"
|
||||
einfo "ChangLog located in /usr/share/doc/${PF}."
|
||||
einfo
|
||||
elog "The Sourcefire Vulnerability Research Team (VRT) recommends that"
|
||||
elog "users migrate their snort.conf customizations to the latest config"
|
||||
elog "file released by the VRT. You can find the latest version of the"
|
||||
elog "Snort config file in /etc/snort/snort.conf.distrib."
|
||||
elog
|
||||
elog "!! It is important that you migrate to this new snort.conf file !!"
|
||||
elog
|
||||
elog "This version of the ebuild includes an updated init.d file and"
|
||||
elog "conf.d file that rely on options found in the latest Snort"
|
||||
elog "config file provided by the VRT."
|
||||
|
||||
if use debug; then
|
||||
elog "You have the 'debug' USE flag enabled. If this has been done to"
|
||||
elog "troubleshoot an issue by producing a core dump or a back trace,"
|
||||
elog "then you need to also ensure the FEATURES variable in make.conf"
|
||||
elog "contains the 'nostrip' option."
|
||||
fi
|
||||
}
|
||||
@@ -1,249 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
inherit autotools multilib user
|
||||
|
||||
DESCRIPTION="The de facto standard for intrusion detection/prevention"
|
||||
HOMEPAGE="https://www.snort.org"
|
||||
SRC_URI="https://www.snort.org/downloads/archive/${PN}/${P}.tar.gz"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="static +gre +mpls +targetbased +ppm +perfprofiling
|
||||
+non-ether-decoders control-socket file-inspect high-availability
|
||||
shared-rep side-channel sourcefire linux-smp-stats inline-init-failopen
|
||||
+threads debug +active-response +normalizer reload-error-restart
|
||||
+react +flexresp3 large-pcap-64bit selinux"
|
||||
|
||||
DEPEND=">=net-libs/libpcap-1.3.0
|
||||
>=net-libs/daq-2.0.2
|
||||
>=dev-libs/libpcre-8.33
|
||||
dev-libs/libdnet
|
||||
sys-libs/zlib"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
selinux? ( sec-policy/selinux-snort )"
|
||||
|
||||
REQUIRED_USE="!kernel_linux? ( !shared-rep )"
|
||||
|
||||
pkg_setup() {
|
||||
|
||||
# pre_inst() is a better place to put this
|
||||
# but we need it here for the 'fowners' statements in src_install()
|
||||
enewgroup snort
|
||||
enewuser snort -1 -1 /dev/null snort
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
|
||||
# Multilib fix for the sf_engine
|
||||
ebegin "Applying multilib fix"
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-plugins/sf_engine/Makefile.am" \
|
||||
|| die "sed for sf_engine failed"
|
||||
|
||||
# Multilib fix for the curent set of dynamic-preprocessors
|
||||
for i in file ftptelnet smtp ssh dns ssl dcerpc2 sdf imap pop sip reputation gtp modbus dnp3; do
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-preprocessors/$i/Makefile.am" \
|
||||
|| die "sed for $i failed."
|
||||
done
|
||||
eend
|
||||
|
||||
AT_M4DIR=m4 eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
|
||||
econf \
|
||||
$(use_enable !static shared) \
|
||||
$(use_enable static) \
|
||||
$(use_enable static so-with-static-lib) \
|
||||
$(use_enable gre) \
|
||||
$(use_enable mpls) \
|
||||
$(use_enable targetbased) \
|
||||
$(use_enable control-socket) \
|
||||
$(use_enable file-inspect) \
|
||||
$(use_enable high-availability ha) \
|
||||
$(use_enable non-ether-decoders) \
|
||||
$(use_enable shared-rep) \
|
||||
$(use_enable side-channel) \
|
||||
$(use_enable sourcefire) \
|
||||
$(use_enable ppm) \
|
||||
$(use_enable perfprofiling) \
|
||||
$(use_enable linux-smp-stats) \
|
||||
$(use_enable inline-init-failopen) \
|
||||
$(use_enable threads pthread) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable debug debug-msgs) \
|
||||
$(use_enable debug corefiles) \
|
||||
$(use_enable !debug dlclose) \
|
||||
$(use_enable active-response) \
|
||||
$(use_enable normalizer) \
|
||||
$(use_enable reload-error-restart) \
|
||||
$(use_enable react) \
|
||||
$(use_enable flexresp3) \
|
||||
$(use_enable large-pcap-64bit large-pcap) \
|
||||
--enable-reload \
|
||||
--disable-build-dynamic-examples \
|
||||
--disable-profile \
|
||||
--disable-ppm-test \
|
||||
--disable-intel-soft-cpm \
|
||||
--disable-static-daq
|
||||
}
|
||||
|
||||
src_install() {
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
dodir /var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort/rules \
|
||||
/etc/snort/so_rules \
|
||||
/usr/$(get_libdir)/snort_dynamicrules
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to trouble shoot build problems and bug reports so we are
|
||||
# perserving them incase the user needs upstream support.
|
||||
dodoc RELEASE.NOTES ChangeLog \
|
||||
doc/* \
|
||||
tools/u2boat/README.u2boat
|
||||
|
||||
insinto /etc/snort
|
||||
doins etc/attribute_table.dtd \
|
||||
etc/classification.config \
|
||||
etc/gen-msg.map \
|
||||
etc/reference.config \
|
||||
etc/threshold.conf \
|
||||
etc/unicode.map
|
||||
|
||||
# We use snort.conf.distrib because the config file is complicated
|
||||
# and the one shipped with snort can change drastically between versions.
|
||||
# Users should migrate setting by hand and not with etc-update.
|
||||
newins etc/snort.conf snort.conf.distrib
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to troubleshoot build problems and bug reports so we are
|
||||
# preserving them incase the user needs upstream support.
|
||||
if [ -f "${WORKDIR}/${PF}/config.log" ]; then
|
||||
dodoc "${WORKDIR}/${PF}/config.log"
|
||||
fi
|
||||
if [ -f "${T}/build.log" ]; then
|
||||
dodoc "${T}/build.log"
|
||||
fi
|
||||
|
||||
insinto /etc/snort/preproc_rules
|
||||
doins preproc_rules/decoder.rules \
|
||||
preproc_rules/preprocessor.rules \
|
||||
preproc_rules/sensitive-data.rules
|
||||
|
||||
fowners -R snort:snort \
|
||||
/var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort
|
||||
|
||||
newinitd "${FILESDIR}/snort.rc12" snort
|
||||
newconfd "${FILESDIR}/snort.confd.2" snort
|
||||
|
||||
# Sourcefire uses Makefiles to install docs causing Bug #297190.
|
||||
# This removes the unwanted doc directory and rogue Makefiles.
|
||||
rm -rf "${D}"usr/share/doc/snort || die "Failed to remove SF doc directories"
|
||||
rm "${D}"usr/share/doc/"${PF}"/Makefile* || die "Failed to remove doc make files"
|
||||
|
||||
# Remove unneeded .la files (Bug #382863)
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicengine/libsf_engine.la || die
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicpreprocessor/libsf_*_preproc.la || die "Failed to remove libsf_?_preproc.la"
|
||||
|
||||
# Set the correct lib path for dynamicengine, dynamicpreprocessor, and dynamicdetection
|
||||
sed -i -e 's|/usr/local/lib|/usr/'$(get_libdir)'|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct rule location in the config
|
||||
sed -i -e 's|RULE_PATH ../rules|RULE_PATH /etc/snort/rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct preprocessor/decoder rule location in the config
|
||||
sed -i -e 's|PREPROC_RULE_PATH ../preproc_rules|PREPROC_RULE_PATH /etc/snort/preproc_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Enable the preprocessor/decoder rules
|
||||
sed -i -e 's|^# include $PREPROC_RULE_PATH|include $PREPROC_RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^# dynamicdetection directory|dynamicdetection directory|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Just some clean up of trailing /'s in the config
|
||||
sed -i -e 's|snort_dynamicpreprocessor/$|snort_dynamicpreprocessor|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Make it clear in the config where these are...
|
||||
sed -i -e 's|^include classification.config|include /etc/snort/classification.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^include reference.config|include /etc/snort/reference.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Disable all rule files by default.
|
||||
sed -i -e 's|^include $RULE_PATH|# include $RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Disable normalizer preprocessor config if normalizer USE flag not set.
|
||||
if ! use normalizer; then
|
||||
sed -i -e 's|^preprocessor normalize|#preprocessor normalize|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
fi
|
||||
|
||||
# Set the configured DAQ to afpacket
|
||||
sed -i -e 's|^# config daq: <type>|config daq: afpacket|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the location of the DAQ modules
|
||||
sed -i -e 's|^# config daq_dir: <dir>|config daq_dir: /usr/'$(get_libdir)'/daq|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the DAQ mode to passive
|
||||
sed -i -e 's|^# config daq_mode: <mode>|config daq_mode: passive|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set snort to run as snort:snort
|
||||
sed -i -e 's|^# config set_gid:|config set_gid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
sed -i -e 's|^# config set_uid:|config set_uid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the default log dir
|
||||
sed -i -e 's|^# config logdir:|config logdir: /var/log/snort/|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct so_rule location in the config
|
||||
sed -i -e 's|SO_RULE_PATH ../so_rules|SO_RULE_PATH /etc/snort/so_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
|
||||
einfo "There have been a number of improvements and new features"
|
||||
einfo "added to ${P}. Please review the RELEASE.NOTES and"
|
||||
einfo "ChangLog located in /usr/share/doc/${PF}."
|
||||
einfo
|
||||
elog "The Sourcefire Vulnerability Research Team (VRT) recommends that"
|
||||
elog "users migrate their snort.conf customizations to the latest config"
|
||||
elog "file released by the VRT. You can find the latest version of the"
|
||||
elog "Snort config file in /etc/snort/snort.conf.distrib."
|
||||
elog
|
||||
elog "!! It is important that you migrate to this new snort.conf file !!"
|
||||
elog
|
||||
elog "This version of the ebuild includes an updated init.d file and"
|
||||
elog "conf.d file that rely on options found in the latest Snort"
|
||||
elog "config file provided by the VRT."
|
||||
|
||||
if use debug; then
|
||||
elog "You have the 'debug' USE flag enabled. If this has been done to"
|
||||
elog "troubleshoot an issue by producing a core dump or a back trace,"
|
||||
elog "then you need to also ensure the FEATURES variable in make.conf"
|
||||
elog "contains the 'nostrip' option."
|
||||
fi
|
||||
}
|
||||
@@ -1,249 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
inherit autotools multilib user
|
||||
|
||||
DESCRIPTION="The de facto standard for intrusion detection/prevention"
|
||||
HOMEPAGE="https://www.snort.org"
|
||||
SRC_URI="https://www.snort.org/downloads/archive/${PN}/${P}.tar.gz"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="static +gre +mpls +targetbased +ppm +perfprofiling
|
||||
+non-ether-decoders control-socket file-inspect high-availability
|
||||
shared-rep side-channel sourcefire linux-smp-stats inline-init-failopen
|
||||
+threads debug +active-response +normalizer reload-error-restart
|
||||
+react +flexresp3 large-pcap-64bit selinux"
|
||||
|
||||
DEPEND=">=net-libs/libpcap-1.3.0
|
||||
>=net-libs/daq-2.0.2
|
||||
>=dev-libs/libpcre-8.33
|
||||
dev-libs/libdnet
|
||||
sys-libs/zlib"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
selinux? ( sec-policy/selinux-snort )"
|
||||
|
||||
REQUIRED_USE="!kernel_linux? ( !shared-rep )"
|
||||
|
||||
pkg_setup() {
|
||||
|
||||
# pre_inst() is a better place to put this
|
||||
# but we need it here for the 'fowners' statements in src_install()
|
||||
enewgroup snort
|
||||
enewuser snort -1 -1 /dev/null snort
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
|
||||
# Multilib fix for the sf_engine
|
||||
ebegin "Applying multilib fix"
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-plugins/sf_engine/Makefile.am" \
|
||||
|| die "sed for sf_engine failed"
|
||||
|
||||
# Multilib fix for the curent set of dynamic-preprocessors
|
||||
for i in file ftptelnet smtp ssh dns ssl dcerpc2 sdf imap pop sip reputation gtp modbus dnp3; do
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-preprocessors/$i/Makefile.am" \
|
||||
|| die "sed for $i failed."
|
||||
done
|
||||
eend
|
||||
|
||||
AT_M4DIR=m4 eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
|
||||
econf \
|
||||
$(use_enable !static shared) \
|
||||
$(use_enable static) \
|
||||
$(use_enable static so-with-static-lib) \
|
||||
$(use_enable gre) \
|
||||
$(use_enable mpls) \
|
||||
$(use_enable targetbased) \
|
||||
$(use_enable control-socket) \
|
||||
$(use_enable file-inspect) \
|
||||
$(use_enable high-availability ha) \
|
||||
$(use_enable non-ether-decoders) \
|
||||
$(use_enable shared-rep) \
|
||||
$(use_enable side-channel) \
|
||||
$(use_enable sourcefire) \
|
||||
$(use_enable ppm) \
|
||||
$(use_enable perfprofiling) \
|
||||
$(use_enable linux-smp-stats) \
|
||||
$(use_enable inline-init-failopen) \
|
||||
$(use_enable threads pthread) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable debug debug-msgs) \
|
||||
$(use_enable debug corefiles) \
|
||||
$(use_enable !debug dlclose) \
|
||||
$(use_enable active-response) \
|
||||
$(use_enable normalizer) \
|
||||
$(use_enable reload-error-restart) \
|
||||
$(use_enable react) \
|
||||
$(use_enable flexresp3) \
|
||||
$(use_enable large-pcap-64bit large-pcap) \
|
||||
--enable-reload \
|
||||
--disable-build-dynamic-examples \
|
||||
--disable-profile \
|
||||
--disable-ppm-test \
|
||||
--disable-intel-soft-cpm \
|
||||
--disable-static-daq
|
||||
}
|
||||
|
||||
src_install() {
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
dodir /var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort/rules \
|
||||
/etc/snort/so_rules \
|
||||
/usr/$(get_libdir)/snort_dynamicrules
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to trouble shoot build problems and bug reports so we are
|
||||
# perserving them incase the user needs upstream support.
|
||||
dodoc RELEASE.NOTES ChangeLog \
|
||||
doc/* \
|
||||
tools/u2boat/README.u2boat
|
||||
|
||||
insinto /etc/snort
|
||||
doins etc/attribute_table.dtd \
|
||||
etc/classification.config \
|
||||
etc/gen-msg.map \
|
||||
etc/reference.config \
|
||||
etc/threshold.conf \
|
||||
etc/unicode.map
|
||||
|
||||
# We use snort.conf.distrib because the config file is complicated
|
||||
# and the one shipped with snort can change drastically between versions.
|
||||
# Users should migrate setting by hand and not with etc-update.
|
||||
newins etc/snort.conf snort.conf.distrib
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to troubleshoot build problems and bug reports so we are
|
||||
# preserving them incase the user needs upstream support.
|
||||
if [ -f "${WORKDIR}/${PF}/config.log" ]; then
|
||||
dodoc "${WORKDIR}/${PF}/config.log"
|
||||
fi
|
||||
if [ -f "${T}/build.log" ]; then
|
||||
dodoc "${T}/build.log"
|
||||
fi
|
||||
|
||||
insinto /etc/snort/preproc_rules
|
||||
doins preproc_rules/decoder.rules \
|
||||
preproc_rules/preprocessor.rules \
|
||||
preproc_rules/sensitive-data.rules
|
||||
|
||||
fowners -R snort:snort \
|
||||
/var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort
|
||||
|
||||
newinitd "${FILESDIR}/snort.rc12" snort
|
||||
newconfd "${FILESDIR}/snort.confd.2" snort
|
||||
|
||||
# Sourcefire uses Makefiles to install docs causing Bug #297190.
|
||||
# This removes the unwanted doc directory and rogue Makefiles.
|
||||
rm -rf "${D}"usr/share/doc/snort || die "Failed to remove SF doc directories"
|
||||
rm "${D}"usr/share/doc/"${PF}"/Makefile* || die "Failed to remove doc make files"
|
||||
|
||||
# Remove unneeded .la files (Bug #382863)
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicengine/libsf_engine.la || die
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicpreprocessor/libsf_*_preproc.la || die "Failed to remove libsf_?_preproc.la"
|
||||
|
||||
# Set the correct lib path for dynamicengine, dynamicpreprocessor, and dynamicdetection
|
||||
sed -i -e 's|/usr/local/lib|/usr/'$(get_libdir)'|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct rule location in the config
|
||||
sed -i -e 's|RULE_PATH ../rules|RULE_PATH /etc/snort/rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct preprocessor/decoder rule location in the config
|
||||
sed -i -e 's|PREPROC_RULE_PATH ../preproc_rules|PREPROC_RULE_PATH /etc/snort/preproc_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Enable the preprocessor/decoder rules
|
||||
sed -i -e 's|^# include $PREPROC_RULE_PATH|include $PREPROC_RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^# dynamicdetection directory|dynamicdetection directory|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Just some clean up of trailing /'s in the config
|
||||
sed -i -e 's|snort_dynamicpreprocessor/$|snort_dynamicpreprocessor|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Make it clear in the config where these are...
|
||||
sed -i -e 's|^include classification.config|include /etc/snort/classification.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^include reference.config|include /etc/snort/reference.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Disable all rule files by default.
|
||||
sed -i -e 's|^include $RULE_PATH|# include $RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Disable normalizer preprocessor config if normalizer USE flag not set.
|
||||
if ! use normalizer; then
|
||||
sed -i -e 's|^preprocessor normalize|#preprocessor normalize|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
fi
|
||||
|
||||
# Set the configured DAQ to afpacket
|
||||
sed -i -e 's|^# config daq: <type>|config daq: afpacket|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the location of the DAQ modules
|
||||
sed -i -e 's|^# config daq_dir: <dir>|config daq_dir: /usr/'$(get_libdir)'/daq|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the DAQ mode to passive
|
||||
sed -i -e 's|^# config daq_mode: <mode>|config daq_mode: passive|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set snort to run as snort:snort
|
||||
sed -i -e 's|^# config set_gid:|config set_gid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
sed -i -e 's|^# config set_uid:|config set_uid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the default log dir
|
||||
sed -i -e 's|^# config logdir:|config logdir: /var/log/snort/|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct so_rule location in the config
|
||||
sed -i -e 's|SO_RULE_PATH ../so_rules|SO_RULE_PATH /etc/snort/so_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
|
||||
einfo "There have been a number of improvements and new features"
|
||||
einfo "added to ${P}. Please review the RELEASE.NOTES and"
|
||||
einfo "ChangLog located in /usr/share/doc/${PF}."
|
||||
einfo
|
||||
elog "The Sourcefire Vulnerability Research Team (VRT) recommends that"
|
||||
elog "users migrate their snort.conf customizations to the latest config"
|
||||
elog "file released by the VRT. You can find the latest version of the"
|
||||
elog "Snort config file in /etc/snort/snort.conf.distrib."
|
||||
elog
|
||||
elog "!! It is important that you migrate to this new snort.conf file !!"
|
||||
elog
|
||||
elog "This version of the ebuild includes an updated init.d file and"
|
||||
elog "conf.d file that rely on options found in the latest Snort"
|
||||
elog "config file provided by the VRT."
|
||||
|
||||
if use debug; then
|
||||
elog "You have the 'debug' USE flag enabled. If this has been done to"
|
||||
elog "troubleshoot an issue by producing a core dump or a back trace,"
|
||||
elog "then you need to also ensure the FEATURES variable in make.conf"
|
||||
elog "contains the 'nostrip' option."
|
||||
fi
|
||||
}
|
||||
@@ -1,249 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
inherit autotools multilib user
|
||||
|
||||
DESCRIPTION="The de facto standard for intrusion detection/prevention"
|
||||
HOMEPAGE="https://www.snort.org"
|
||||
SRC_URI="https://www.snort.org/downloads/archive/${PN}/${P}.tar.gz"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="static +gre +mpls +targetbased +ppm +perfprofiling
|
||||
+non-ether-decoders control-socket file-inspect high-availability
|
||||
shared-rep side-channel sourcefire linux-smp-stats inline-init-failopen
|
||||
+threads debug +active-response +normalizer reload-error-restart
|
||||
+react +flexresp3 large-pcap-64bit selinux"
|
||||
|
||||
DEPEND=">=net-libs/libpcap-1.3.0
|
||||
>=net-libs/daq-2.0.2
|
||||
>=dev-libs/libpcre-8.33
|
||||
dev-libs/libdnet
|
||||
sys-libs/zlib"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
selinux? ( sec-policy/selinux-snort )"
|
||||
|
||||
REQUIRED_USE="!kernel_linux? ( !shared-rep )"
|
||||
|
||||
pkg_setup() {
|
||||
|
||||
# pre_inst() is a better place to put this
|
||||
# but we need it here for the 'fowners' statements in src_install()
|
||||
enewgroup snort
|
||||
enewuser snort -1 -1 /dev/null snort
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
|
||||
# Multilib fix for the sf_engine
|
||||
ebegin "Applying multilib fix"
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-plugins/sf_engine/Makefile.am" \
|
||||
|| die "sed for sf_engine failed"
|
||||
|
||||
# Multilib fix for the curent set of dynamic-preprocessors
|
||||
for i in file ftptelnet smtp ssh dns ssl dcerpc2 sdf imap pop sip reputation gtp modbus dnp3; do
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-preprocessors/$i/Makefile.am" \
|
||||
|| die "sed for $i failed."
|
||||
done
|
||||
eend
|
||||
|
||||
AT_M4DIR=m4 eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
|
||||
econf \
|
||||
$(use_enable !static shared) \
|
||||
$(use_enable static) \
|
||||
$(use_enable static so-with-static-lib) \
|
||||
$(use_enable gre) \
|
||||
$(use_enable mpls) \
|
||||
$(use_enable targetbased) \
|
||||
$(use_enable control-socket) \
|
||||
$(use_enable file-inspect) \
|
||||
$(use_enable high-availability ha) \
|
||||
$(use_enable non-ether-decoders) \
|
||||
$(use_enable shared-rep) \
|
||||
$(use_enable side-channel) \
|
||||
$(use_enable sourcefire) \
|
||||
$(use_enable ppm) \
|
||||
$(use_enable perfprofiling) \
|
||||
$(use_enable linux-smp-stats) \
|
||||
$(use_enable inline-init-failopen) \
|
||||
$(use_enable threads pthread) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable debug debug-msgs) \
|
||||
$(use_enable debug corefiles) \
|
||||
$(use_enable !debug dlclose) \
|
||||
$(use_enable active-response) \
|
||||
$(use_enable normalizer) \
|
||||
$(use_enable reload-error-restart) \
|
||||
$(use_enable react) \
|
||||
$(use_enable flexresp3) \
|
||||
$(use_enable large-pcap-64bit large-pcap) \
|
||||
--enable-reload \
|
||||
--disable-build-dynamic-examples \
|
||||
--disable-profile \
|
||||
--disable-ppm-test \
|
||||
--disable-intel-soft-cpm \
|
||||
--disable-static-daq
|
||||
}
|
||||
|
||||
src_install() {
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
dodir /var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort/rules \
|
||||
/etc/snort/so_rules \
|
||||
/usr/$(get_libdir)/snort_dynamicrules
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to trouble shoot build problems and bug reports so we are
|
||||
# perserving them incase the user needs upstream support.
|
||||
dodoc RELEASE.NOTES ChangeLog \
|
||||
doc/* \
|
||||
tools/u2boat/README.u2boat
|
||||
|
||||
insinto /etc/snort
|
||||
doins etc/attribute_table.dtd \
|
||||
etc/classification.config \
|
||||
etc/gen-msg.map \
|
||||
etc/reference.config \
|
||||
etc/threshold.conf \
|
||||
etc/unicode.map
|
||||
|
||||
# We use snort.conf.distrib because the config file is complicated
|
||||
# and the one shipped with snort can change drastically between versions.
|
||||
# Users should migrate setting by hand and not with etc-update.
|
||||
newins etc/snort.conf snort.conf.distrib
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to troubleshoot build problems and bug reports so we are
|
||||
# preserving them incase the user needs upstream support.
|
||||
if [ -f "${WORKDIR}/${PF}/config.log" ]; then
|
||||
dodoc "${WORKDIR}/${PF}/config.log"
|
||||
fi
|
||||
if [ -f "${T}/build.log" ]; then
|
||||
dodoc "${T}/build.log"
|
||||
fi
|
||||
|
||||
insinto /etc/snort/preproc_rules
|
||||
doins preproc_rules/decoder.rules \
|
||||
preproc_rules/preprocessor.rules \
|
||||
preproc_rules/sensitive-data.rules
|
||||
|
||||
fowners -R snort:snort \
|
||||
/var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort
|
||||
|
||||
newinitd "${FILESDIR}/snort.rc12" snort
|
||||
newconfd "${FILESDIR}/snort.confd.2" snort
|
||||
|
||||
# Sourcefire uses Makefiles to install docs causing Bug #297190.
|
||||
# This removes the unwanted doc directory and rogue Makefiles.
|
||||
rm -rf "${D}"usr/share/doc/snort || die "Failed to remove SF doc directories"
|
||||
rm "${D}"usr/share/doc/"${PF}"/Makefile* || die "Failed to remove doc make files"
|
||||
|
||||
# Remove unneeded .la files (Bug #382863)
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicengine/libsf_engine.la || die
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicpreprocessor/libsf_*_preproc.la || die "Failed to remove libsf_?_preproc.la"
|
||||
|
||||
# Set the correct lib path for dynamicengine, dynamicpreprocessor, and dynamicdetection
|
||||
sed -i -e 's|/usr/local/lib|/usr/'$(get_libdir)'|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct rule location in the config
|
||||
sed -i -e 's|RULE_PATH ../rules|RULE_PATH /etc/snort/rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct preprocessor/decoder rule location in the config
|
||||
sed -i -e 's|PREPROC_RULE_PATH ../preproc_rules|PREPROC_RULE_PATH /etc/snort/preproc_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Enable the preprocessor/decoder rules
|
||||
sed -i -e 's|^# include $PREPROC_RULE_PATH|include $PREPROC_RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^# dynamicdetection directory|dynamicdetection directory|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Just some clean up of trailing /'s in the config
|
||||
sed -i -e 's|snort_dynamicpreprocessor/$|snort_dynamicpreprocessor|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Make it clear in the config where these are...
|
||||
sed -i -e 's|^include classification.config|include /etc/snort/classification.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^include reference.config|include /etc/snort/reference.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Disable all rule files by default.
|
||||
sed -i -e 's|^include $RULE_PATH|# include $RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Disable normalizer preprocessor config if normalizer USE flag not set.
|
||||
if ! use normalizer; then
|
||||
sed -i -e 's|^preprocessor normalize|#preprocessor normalize|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
fi
|
||||
|
||||
# Set the configured DAQ to afpacket
|
||||
sed -i -e 's|^# config daq: <type>|config daq: afpacket|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the location of the DAQ modules
|
||||
sed -i -e 's|^# config daq_dir: <dir>|config daq_dir: /usr/'$(get_libdir)'/daq|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the DAQ mode to passive
|
||||
sed -i -e 's|^# config daq_mode: <mode>|config daq_mode: passive|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set snort to run as snort:snort
|
||||
sed -i -e 's|^# config set_gid:|config set_gid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
sed -i -e 's|^# config set_uid:|config set_uid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the default log dir
|
||||
sed -i -e 's|^# config logdir:|config logdir: /var/log/snort/|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct so_rule location in the config
|
||||
sed -i -e 's|SO_RULE_PATH ../so_rules|SO_RULE_PATH /etc/snort/so_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
|
||||
einfo "There have been a number of improvements and new features"
|
||||
einfo "added to ${P}. Please review the RELEASE.NOTES and"
|
||||
einfo "ChangLog located in /usr/share/doc/${PF}."
|
||||
einfo
|
||||
elog "The Sourcefire Vulnerability Research Team (VRT) recommends that"
|
||||
elog "users migrate their snort.conf customizations to the latest config"
|
||||
elog "file released by the VRT. You can find the latest version of the"
|
||||
elog "Snort config file in /etc/snort/snort.conf.distrib."
|
||||
elog
|
||||
elog "!! It is important that you migrate to this new snort.conf file !!"
|
||||
elog
|
||||
elog "This version of the ebuild includes an updated init.d file and"
|
||||
elog "conf.d file that rely on options found in the latest Snort"
|
||||
elog "config file provided by the VRT."
|
||||
|
||||
if use debug; then
|
||||
elog "You have the 'debug' USE flag enabled. If this has been done to"
|
||||
elog "troubleshoot an issue by producing a core dump or a back trace,"
|
||||
elog "then you need to also ensure the FEATURES variable in make.conf"
|
||||
elog "contains the 'nostrip' option."
|
||||
fi
|
||||
}
|
||||
@@ -1,249 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
inherit autotools multilib user
|
||||
|
||||
DESCRIPTION="The de facto standard for intrusion detection/prevention"
|
||||
HOMEPAGE="https://www.snort.org"
|
||||
SRC_URI="https://www.snort.org/downloads/archive/${PN}/${P}.tar.gz"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="static +gre +mpls +targetbased +ppm +perfprofiling
|
||||
+non-ether-decoders control-socket file-inspect high-availability
|
||||
shared-rep side-channel sourcefire linux-smp-stats inline-init-failopen
|
||||
+threads debug +active-response +normalizer reload-error-restart
|
||||
+react +flexresp3 large-pcap-64bit selinux"
|
||||
|
||||
DEPEND=">=net-libs/libpcap-1.3.0
|
||||
>=net-libs/daq-2.0.2
|
||||
>=dev-libs/libpcre-8.33
|
||||
dev-libs/libdnet
|
||||
sys-libs/zlib"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
selinux? ( sec-policy/selinux-snort )"
|
||||
|
||||
REQUIRED_USE="!kernel_linux? ( !shared-rep )"
|
||||
|
||||
pkg_setup() {
|
||||
|
||||
# pre_inst() is a better place to put this
|
||||
# but we need it here for the 'fowners' statements in src_install()
|
||||
enewgroup snort
|
||||
enewuser snort -1 -1 /dev/null snort
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
|
||||
# Multilib fix for the sf_engine
|
||||
ebegin "Applying multilib fix"
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-plugins/sf_engine/Makefile.am" \
|
||||
|| die "sed for sf_engine failed"
|
||||
|
||||
# Multilib fix for the curent set of dynamic-preprocessors
|
||||
for i in file ftptelnet smtp ssh dns ssl dcerpc2 sdf imap pop sip reputation gtp modbus dnp3; do
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-preprocessors/$i/Makefile.am" \
|
||||
|| die "sed for $i failed."
|
||||
done
|
||||
eend
|
||||
|
||||
AT_M4DIR=m4 eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
|
||||
econf \
|
||||
$(use_enable !static shared) \
|
||||
$(use_enable static) \
|
||||
$(use_enable static so-with-static-lib) \
|
||||
$(use_enable gre) \
|
||||
$(use_enable mpls) \
|
||||
$(use_enable targetbased) \
|
||||
$(use_enable control-socket) \
|
||||
$(use_enable file-inspect) \
|
||||
$(use_enable high-availability ha) \
|
||||
$(use_enable non-ether-decoders) \
|
||||
$(use_enable shared-rep) \
|
||||
$(use_enable side-channel) \
|
||||
$(use_enable sourcefire) \
|
||||
$(use_enable ppm) \
|
||||
$(use_enable perfprofiling) \
|
||||
$(use_enable linux-smp-stats) \
|
||||
$(use_enable inline-init-failopen) \
|
||||
$(use_enable threads pthread) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable debug debug-msgs) \
|
||||
$(use_enable debug corefiles) \
|
||||
$(use_enable !debug dlclose) \
|
||||
$(use_enable active-response) \
|
||||
$(use_enable normalizer) \
|
||||
$(use_enable reload-error-restart) \
|
||||
$(use_enable react) \
|
||||
$(use_enable flexresp3) \
|
||||
$(use_enable large-pcap-64bit large-pcap) \
|
||||
--enable-reload \
|
||||
--disable-build-dynamic-examples \
|
||||
--disable-profile \
|
||||
--disable-ppm-test \
|
||||
--disable-intel-soft-cpm \
|
||||
--disable-static-daq
|
||||
}
|
||||
|
||||
src_install() {
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
dodir /var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort/rules \
|
||||
/etc/snort/so_rules \
|
||||
/usr/$(get_libdir)/snort_dynamicrules
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to trouble shoot build problems and bug reports so we are
|
||||
# perserving them incase the user needs upstream support.
|
||||
dodoc RELEASE.NOTES ChangeLog \
|
||||
doc/* \
|
||||
tools/u2boat/README.u2boat
|
||||
|
||||
insinto /etc/snort
|
||||
doins etc/attribute_table.dtd \
|
||||
etc/classification.config \
|
||||
etc/gen-msg.map \
|
||||
etc/reference.config \
|
||||
etc/threshold.conf \
|
||||
etc/unicode.map
|
||||
|
||||
# We use snort.conf.distrib because the config file is complicated
|
||||
# and the one shipped with snort can change drastically between versions.
|
||||
# Users should migrate setting by hand and not with etc-update.
|
||||
newins etc/snort.conf snort.conf.distrib
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to troubleshoot build problems and bug reports so we are
|
||||
# preserving them incase the user needs upstream support.
|
||||
if [ -f "${WORKDIR}/${PF}/config.log" ]; then
|
||||
dodoc "${WORKDIR}/${PF}/config.log"
|
||||
fi
|
||||
if [ -f "${T}/build.log" ]; then
|
||||
dodoc "${T}/build.log"
|
||||
fi
|
||||
|
||||
insinto /etc/snort/preproc_rules
|
||||
doins preproc_rules/decoder.rules \
|
||||
preproc_rules/preprocessor.rules \
|
||||
preproc_rules/sensitive-data.rules
|
||||
|
||||
fowners -R snort:snort \
|
||||
/var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort
|
||||
|
||||
newinitd "${FILESDIR}/snort.rc12" snort
|
||||
newconfd "${FILESDIR}/snort.confd.2" snort
|
||||
|
||||
# Sourcefire uses Makefiles to install docs causing Bug #297190.
|
||||
# This removes the unwanted doc directory and rogue Makefiles.
|
||||
rm -rf "${D}"usr/share/doc/snort || die "Failed to remove SF doc directories"
|
||||
rm "${D}"usr/share/doc/"${PF}"/Makefile* || die "Failed to remove doc make files"
|
||||
|
||||
# Remove unneeded .la files (Bug #382863)
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicengine/libsf_engine.la || die
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicpreprocessor/libsf_*_preproc.la || die "Failed to remove libsf_?_preproc.la"
|
||||
|
||||
# Set the correct lib path for dynamicengine, dynamicpreprocessor, and dynamicdetection
|
||||
sed -i -e 's|/usr/local/lib|/usr/'$(get_libdir)'|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct rule location in the config
|
||||
sed -i -e 's|RULE_PATH ../rules|RULE_PATH /etc/snort/rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct preprocessor/decoder rule location in the config
|
||||
sed -i -e 's|PREPROC_RULE_PATH ../preproc_rules|PREPROC_RULE_PATH /etc/snort/preproc_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Enable the preprocessor/decoder rules
|
||||
sed -i -e 's|^# include $PREPROC_RULE_PATH|include $PREPROC_RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^# dynamicdetection directory|dynamicdetection directory|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Just some clean up of trailing /'s in the config
|
||||
sed -i -e 's|snort_dynamicpreprocessor/$|snort_dynamicpreprocessor|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Make it clear in the config where these are...
|
||||
sed -i -e 's|^include classification.config|include /etc/snort/classification.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^include reference.config|include /etc/snort/reference.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Disable all rule files by default.
|
||||
sed -i -e 's|^include $RULE_PATH|# include $RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Disable normalizer preprocessor config if normalizer USE flag not set.
|
||||
if ! use normalizer; then
|
||||
sed -i -e 's|^preprocessor normalize|#preprocessor normalize|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
fi
|
||||
|
||||
# Set the configured DAQ to afpacket
|
||||
sed -i -e 's|^# config daq: <type>|config daq: afpacket|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the location of the DAQ modules
|
||||
sed -i -e 's|^# config daq_dir: <dir>|config daq_dir: /usr/'$(get_libdir)'/daq|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the DAQ mode to passive
|
||||
sed -i -e 's|^# config daq_mode: <mode>|config daq_mode: passive|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set snort to run as snort:snort
|
||||
sed -i -e 's|^# config set_gid:|config set_gid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
sed -i -e 's|^# config set_uid:|config set_uid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the default log dir
|
||||
sed -i -e 's|^# config logdir:|config logdir: /var/log/snort/|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct so_rule location in the config
|
||||
sed -i -e 's|SO_RULE_PATH ../so_rules|SO_RULE_PATH /etc/snort/so_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
|
||||
einfo "There have been a number of improvements and new features"
|
||||
einfo "added to ${P}. Please review the RELEASE.NOTES and"
|
||||
einfo "ChangLog located in /usr/share/doc/${PF}."
|
||||
einfo
|
||||
elog "The Sourcefire Vulnerability Research Team (VRT) recommends that"
|
||||
elog "users migrate their snort.conf customizations to the latest config"
|
||||
elog "file released by the VRT. You can find the latest version of the"
|
||||
elog "Snort config file in /etc/snort/snort.conf.distrib."
|
||||
elog
|
||||
elog "!! It is important that you migrate to this new snort.conf file !!"
|
||||
elog
|
||||
elog "This version of the ebuild includes an updated init.d file and"
|
||||
elog "conf.d file that rely on options found in the latest Snort"
|
||||
elog "config file provided by the VRT."
|
||||
|
||||
if use debug; then
|
||||
elog "You have the 'debug' USE flag enabled. If this has been done to"
|
||||
elog "troubleshoot an issue by producing a core dump or a back trace,"
|
||||
elog "then you need to also ensure the FEATURES variable in make.conf"
|
||||
elog "contains the 'nostrip' option."
|
||||
fi
|
||||
}
|
||||
@@ -1,249 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
inherit autotools multilib user
|
||||
|
||||
DESCRIPTION="The de facto standard for intrusion detection/prevention"
|
||||
HOMEPAGE="https://www.snort.org"
|
||||
SRC_URI="https://www.snort.org/downloads/archive/${PN}/${P}.tar.gz"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="static +gre +mpls +targetbased +ppm +perfprofiling
|
||||
+non-ether-decoders control-socket file-inspect high-availability
|
||||
shared-rep side-channel sourcefire linux-smp-stats inline-init-failopen
|
||||
+threads debug +active-response +normalizer reload-error-restart
|
||||
+react +flexresp3 large-pcap-64bit selinux"
|
||||
|
||||
DEPEND=">=net-libs/libpcap-1.3.0
|
||||
>=net-libs/daq-2.0.2
|
||||
>=dev-libs/libpcre-8.33
|
||||
dev-libs/libdnet
|
||||
sys-libs/zlib"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
selinux? ( sec-policy/selinux-snort )"
|
||||
|
||||
REQUIRED_USE="!kernel_linux? ( !shared-rep )"
|
||||
|
||||
pkg_setup() {
|
||||
|
||||
# pre_inst() is a better place to put this
|
||||
# but we need it here for the 'fowners' statements in src_install()
|
||||
enewgroup snort
|
||||
enewuser snort -1 -1 /dev/null snort
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
|
||||
# Multilib fix for the sf_engine
|
||||
ebegin "Applying multilib fix"
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-plugins/sf_engine/Makefile.am" \
|
||||
|| die "sed for sf_engine failed"
|
||||
|
||||
# Multilib fix for the curent set of dynamic-preprocessors
|
||||
for i in file ftptelnet smtp ssh dns ssl dcerpc2 sdf imap pop sip reputation gtp modbus dnp3; do
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-preprocessors/$i/Makefile.am" \
|
||||
|| die "sed for $i failed."
|
||||
done
|
||||
eend
|
||||
|
||||
AT_M4DIR=m4 eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
|
||||
econf \
|
||||
$(use_enable !static shared) \
|
||||
$(use_enable static) \
|
||||
$(use_enable static so-with-static-lib) \
|
||||
$(use_enable gre) \
|
||||
$(use_enable mpls) \
|
||||
$(use_enable targetbased) \
|
||||
$(use_enable control-socket) \
|
||||
$(use_enable file-inspect) \
|
||||
$(use_enable high-availability ha) \
|
||||
$(use_enable non-ether-decoders) \
|
||||
$(use_enable shared-rep) \
|
||||
$(use_enable side-channel) \
|
||||
$(use_enable sourcefire) \
|
||||
$(use_enable ppm) \
|
||||
$(use_enable perfprofiling) \
|
||||
$(use_enable linux-smp-stats) \
|
||||
$(use_enable inline-init-failopen) \
|
||||
$(use_enable threads pthread) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable debug debug-msgs) \
|
||||
$(use_enable debug corefiles) \
|
||||
$(use_enable !debug dlclose) \
|
||||
$(use_enable active-response) \
|
||||
$(use_enable normalizer) \
|
||||
$(use_enable reload-error-restart) \
|
||||
$(use_enable react) \
|
||||
$(use_enable flexresp3) \
|
||||
$(use_enable large-pcap-64bit large-pcap) \
|
||||
--enable-reload \
|
||||
--disable-build-dynamic-examples \
|
||||
--disable-profile \
|
||||
--disable-ppm-test \
|
||||
--disable-intel-soft-cpm \
|
||||
--disable-static-daq
|
||||
}
|
||||
|
||||
src_install() {
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
dodir /var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort/rules \
|
||||
/etc/snort/so_rules \
|
||||
/usr/$(get_libdir)/snort_dynamicrules
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to trouble shoot build problems and bug reports so we are
|
||||
# perserving them incase the user needs upstream support.
|
||||
dodoc RELEASE.NOTES ChangeLog \
|
||||
doc/* \
|
||||
tools/u2boat/README.u2boat
|
||||
|
||||
insinto /etc/snort
|
||||
doins etc/attribute_table.dtd \
|
||||
etc/classification.config \
|
||||
etc/gen-msg.map \
|
||||
etc/reference.config \
|
||||
etc/threshold.conf \
|
||||
etc/unicode.map
|
||||
|
||||
# We use snort.conf.distrib because the config file is complicated
|
||||
# and the one shipped with snort can change drastically between versions.
|
||||
# Users should migrate setting by hand and not with etc-update.
|
||||
newins etc/snort.conf snort.conf.distrib
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to troubleshoot build problems and bug reports so we are
|
||||
# preserving them incase the user needs upstream support.
|
||||
if [ -f "${WORKDIR}/${PF}/config.log" ]; then
|
||||
dodoc "${WORKDIR}/${PF}/config.log"
|
||||
fi
|
||||
if [ -f "${T}/build.log" ]; then
|
||||
dodoc "${T}/build.log"
|
||||
fi
|
||||
|
||||
insinto /etc/snort/preproc_rules
|
||||
doins preproc_rules/decoder.rules \
|
||||
preproc_rules/preprocessor.rules \
|
||||
preproc_rules/sensitive-data.rules
|
||||
|
||||
fowners -R snort:snort \
|
||||
/var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort
|
||||
|
||||
newinitd "${FILESDIR}/snort.rc12" snort
|
||||
newconfd "${FILESDIR}/snort.confd.2" snort
|
||||
|
||||
# Sourcefire uses Makefiles to install docs causing Bug #297190.
|
||||
# This removes the unwanted doc directory and rogue Makefiles.
|
||||
rm -rf "${D}"usr/share/doc/snort || die "Failed to remove SF doc directories"
|
||||
rm "${D}"usr/share/doc/"${PF}"/Makefile* || die "Failed to remove doc make files"
|
||||
|
||||
# Remove unneeded .la files (Bug #382863)
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicengine/libsf_engine.la || die
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicpreprocessor/libsf_*_preproc.la || die "Failed to remove libsf_?_preproc.la"
|
||||
|
||||
# Set the correct lib path for dynamicengine, dynamicpreprocessor, and dynamicdetection
|
||||
sed -i -e 's|/usr/local/lib|/usr/'$(get_libdir)'|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct rule location in the config
|
||||
sed -i -e 's|RULE_PATH ../rules|RULE_PATH /etc/snort/rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct preprocessor/decoder rule location in the config
|
||||
sed -i -e 's|PREPROC_RULE_PATH ../preproc_rules|PREPROC_RULE_PATH /etc/snort/preproc_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Enable the preprocessor/decoder rules
|
||||
sed -i -e 's|^# include $PREPROC_RULE_PATH|include $PREPROC_RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^# dynamicdetection directory|dynamicdetection directory|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Just some clean up of trailing /'s in the config
|
||||
sed -i -e 's|snort_dynamicpreprocessor/$|snort_dynamicpreprocessor|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Make it clear in the config where these are...
|
||||
sed -i -e 's|^include classification.config|include /etc/snort/classification.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^include reference.config|include /etc/snort/reference.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Disable all rule files by default.
|
||||
sed -i -e 's|^include $RULE_PATH|# include $RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Disable normalizer preprocessor config if normalizer USE flag not set.
|
||||
if ! use normalizer; then
|
||||
sed -i -e 's|^preprocessor normalize|#preprocessor normalize|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
fi
|
||||
|
||||
# Set the configured DAQ to afpacket
|
||||
sed -i -e 's|^# config daq: <type>|config daq: afpacket|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the location of the DAQ modules
|
||||
sed -i -e 's|^# config daq_dir: <dir>|config daq_dir: /usr/'$(get_libdir)'/daq|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the DAQ mode to passive
|
||||
sed -i -e 's|^# config daq_mode: <mode>|config daq_mode: passive|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set snort to run as snort:snort
|
||||
sed -i -e 's|^# config set_gid:|config set_gid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
sed -i -e 's|^# config set_uid:|config set_uid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the default log dir
|
||||
sed -i -e 's|^# config logdir:|config logdir: /var/log/snort/|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct so_rule location in the config
|
||||
sed -i -e 's|SO_RULE_PATH ../so_rules|SO_RULE_PATH /etc/snort/so_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
|
||||
einfo "There have been a number of improvements and new features"
|
||||
einfo "added to ${P}. Please review the RELEASE.NOTES and"
|
||||
einfo "ChangLog located in /usr/share/doc/${PF}."
|
||||
einfo
|
||||
elog "The Sourcefire Vulnerability Research Team (VRT) recommends that"
|
||||
elog "users migrate their snort.conf customizations to the latest config"
|
||||
elog "file released by the VRT. You can find the latest version of the"
|
||||
elog "Snort config file in /etc/snort/snort.conf.distrib."
|
||||
elog
|
||||
elog "!! It is important that you migrate to this new snort.conf file !!"
|
||||
elog
|
||||
elog "This version of the ebuild includes an updated init.d file and"
|
||||
elog "conf.d file that rely on options found in the latest Snort"
|
||||
elog "config file provided by the VRT."
|
||||
|
||||
if use debug; then
|
||||
elog "You have the 'debug' USE flag enabled. If this has been done to"
|
||||
elog "troubleshoot an issue by producing a core dump or a back trace,"
|
||||
elog "then you need to also ensure the FEATURES variable in make.conf"
|
||||
elog "contains the 'nostrip' option."
|
||||
fi
|
||||
}
|
||||
@@ -1,249 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
inherit autotools multilib user
|
||||
|
||||
DESCRIPTION="The de facto standard for intrusion detection/prevention"
|
||||
HOMEPAGE="https://www.snort.org"
|
||||
SRC_URI="https://www.snort.org/downloads/archive/${PN}/${P}.tar.gz"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="static +gre +mpls +targetbased +ppm +perfprofiling
|
||||
+non-ether-decoders control-socket file-inspect high-availability
|
||||
shared-rep side-channel sourcefire linux-smp-stats inline-init-failopen
|
||||
+threads debug +active-response +normalizer reload-error-restart
|
||||
+react +flexresp3 large-pcap-64bit selinux"
|
||||
|
||||
DEPEND=">=net-libs/libpcap-1.3.0
|
||||
>=net-libs/daq-2.0.2
|
||||
>=dev-libs/libpcre-8.33
|
||||
dev-libs/libdnet
|
||||
sys-libs/zlib"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
selinux? ( sec-policy/selinux-snort )"
|
||||
|
||||
REQUIRED_USE="!kernel_linux? ( !shared-rep )"
|
||||
|
||||
pkg_setup() {
|
||||
|
||||
# pre_inst() is a better place to put this
|
||||
# but we need it here for the 'fowners' statements in src_install()
|
||||
enewgroup snort
|
||||
enewuser snort -1 -1 /dev/null snort
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
|
||||
# Multilib fix for the sf_engine
|
||||
ebegin "Applying multilib fix"
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-plugins/sf_engine/Makefile.am" \
|
||||
|| die "sed for sf_engine failed"
|
||||
|
||||
# Multilib fix for the curent set of dynamic-preprocessors
|
||||
for i in file ftptelnet smtp ssh dns ssl dcerpc2 sdf imap pop sip reputation gtp modbus dnp3; do
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-preprocessors/$i/Makefile.am" \
|
||||
|| die "sed for $i failed."
|
||||
done
|
||||
eend
|
||||
|
||||
AT_M4DIR=m4 eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
|
||||
econf \
|
||||
$(use_enable !static shared) \
|
||||
$(use_enable static) \
|
||||
$(use_enable static so-with-static-lib) \
|
||||
$(use_enable gre) \
|
||||
$(use_enable mpls) \
|
||||
$(use_enable targetbased) \
|
||||
$(use_enable control-socket) \
|
||||
$(use_enable file-inspect) \
|
||||
$(use_enable high-availability ha) \
|
||||
$(use_enable non-ether-decoders) \
|
||||
$(use_enable shared-rep) \
|
||||
$(use_enable side-channel) \
|
||||
$(use_enable sourcefire) \
|
||||
$(use_enable ppm) \
|
||||
$(use_enable perfprofiling) \
|
||||
$(use_enable linux-smp-stats) \
|
||||
$(use_enable inline-init-failopen) \
|
||||
$(use_enable threads pthread) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable debug debug-msgs) \
|
||||
$(use_enable debug corefiles) \
|
||||
$(use_enable !debug dlclose) \
|
||||
$(use_enable active-response) \
|
||||
$(use_enable normalizer) \
|
||||
$(use_enable reload-error-restart) \
|
||||
$(use_enable react) \
|
||||
$(use_enable flexresp3) \
|
||||
$(use_enable large-pcap-64bit large-pcap) \
|
||||
--enable-reload \
|
||||
--disable-build-dynamic-examples \
|
||||
--disable-profile \
|
||||
--disable-ppm-test \
|
||||
--disable-intel-soft-cpm \
|
||||
--disable-static-daq
|
||||
}
|
||||
|
||||
src_install() {
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
dodir /var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort/rules \
|
||||
/etc/snort/so_rules \
|
||||
/usr/$(get_libdir)/snort_dynamicrules
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to trouble shoot build problems and bug reports so we are
|
||||
# perserving them incase the user needs upstream support.
|
||||
dodoc RELEASE.NOTES ChangeLog \
|
||||
doc/* \
|
||||
tools/u2boat/README.u2boat
|
||||
|
||||
insinto /etc/snort
|
||||
doins etc/attribute_table.dtd \
|
||||
etc/classification.config \
|
||||
etc/gen-msg.map \
|
||||
etc/reference.config \
|
||||
etc/threshold.conf \
|
||||
etc/unicode.map
|
||||
|
||||
# We use snort.conf.distrib because the config file is complicated
|
||||
# and the one shipped with snort can change drastically between versions.
|
||||
# Users should migrate setting by hand and not with etc-update.
|
||||
newins etc/snort.conf snort.conf.distrib
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to troubleshoot build problems and bug reports so we are
|
||||
# preserving them incase the user needs upstream support.
|
||||
if [ -f "${WORKDIR}/${PF}/config.log" ]; then
|
||||
dodoc "${WORKDIR}/${PF}/config.log"
|
||||
fi
|
||||
if [ -f "${T}/build.log" ]; then
|
||||
dodoc "${T}/build.log"
|
||||
fi
|
||||
|
||||
insinto /etc/snort/preproc_rules
|
||||
doins preproc_rules/decoder.rules \
|
||||
preproc_rules/preprocessor.rules \
|
||||
preproc_rules/sensitive-data.rules
|
||||
|
||||
fowners -R snort:snort \
|
||||
/var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort
|
||||
|
||||
newinitd "${FILESDIR}/snort.rc12" snort
|
||||
newconfd "${FILESDIR}/snort.confd.2" snort
|
||||
|
||||
# Sourcefire uses Makefiles to install docs causing Bug #297190.
|
||||
# This removes the unwanted doc directory and rogue Makefiles.
|
||||
rm -rf "${D}"usr/share/doc/snort || die "Failed to remove SF doc directories"
|
||||
rm "${D}"usr/share/doc/"${PF}"/Makefile* || die "Failed to remove doc make files"
|
||||
|
||||
# Remove unneeded .la files (Bug #382863)
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicengine/libsf_engine.la || die
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicpreprocessor/libsf_*_preproc.la || die "Failed to remove libsf_?_preproc.la"
|
||||
|
||||
# Set the correct lib path for dynamicengine, dynamicpreprocessor, and dynamicdetection
|
||||
sed -i -e 's|/usr/local/lib|/usr/'$(get_libdir)'|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct rule location in the config
|
||||
sed -i -e 's|RULE_PATH ../rules|RULE_PATH /etc/snort/rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct preprocessor/decoder rule location in the config
|
||||
sed -i -e 's|PREPROC_RULE_PATH ../preproc_rules|PREPROC_RULE_PATH /etc/snort/preproc_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Enable the preprocessor/decoder rules
|
||||
sed -i -e 's|^# include $PREPROC_RULE_PATH|include $PREPROC_RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^# dynamicdetection directory|dynamicdetection directory|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Just some clean up of trailing /'s in the config
|
||||
sed -i -e 's|snort_dynamicpreprocessor/$|snort_dynamicpreprocessor|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Make it clear in the config where these are...
|
||||
sed -i -e 's|^include classification.config|include /etc/snort/classification.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^include reference.config|include /etc/snort/reference.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Disable all rule files by default.
|
||||
sed -i -e 's|^include $RULE_PATH|# include $RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Disable normalizer preprocessor config if normalizer USE flag not set.
|
||||
if ! use normalizer; then
|
||||
sed -i -e 's|^preprocessor normalize|#preprocessor normalize|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
fi
|
||||
|
||||
# Set the configured DAQ to afpacket
|
||||
sed -i -e 's|^# config daq: <type>|config daq: afpacket|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the location of the DAQ modules
|
||||
sed -i -e 's|^# config daq_dir: <dir>|config daq_dir: /usr/'$(get_libdir)'/daq|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the DAQ mode to passive
|
||||
sed -i -e 's|^# config daq_mode: <mode>|config daq_mode: passive|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set snort to run as snort:snort
|
||||
sed -i -e 's|^# config set_gid:|config set_gid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
sed -i -e 's|^# config set_uid:|config set_uid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the default log dir
|
||||
sed -i -e 's|^# config logdir:|config logdir: /var/log/snort/|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct so_rule location in the config
|
||||
sed -i -e 's|SO_RULE_PATH ../so_rules|SO_RULE_PATH /etc/snort/so_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
|
||||
einfo "There have been a number of improvements and new features"
|
||||
einfo "added to ${P}. Please review the RELEASE.NOTES and"
|
||||
einfo "ChangLog located in /usr/share/doc/${PF}."
|
||||
einfo
|
||||
elog "The Sourcefire Vulnerability Research Team (VRT) recommends that"
|
||||
elog "users migrate their snort.conf customizations to the latest config"
|
||||
elog "file released by the VRT. You can find the latest version of the"
|
||||
elog "Snort config file in /etc/snort/snort.conf.distrib."
|
||||
elog
|
||||
elog "!! It is important that you migrate to this new snort.conf file !!"
|
||||
elog
|
||||
elog "This version of the ebuild includes an updated init.d file and"
|
||||
elog "conf.d file that rely on options found in the latest Snort"
|
||||
elog "config file provided by the VRT."
|
||||
|
||||
if use debug; then
|
||||
elog "You have the 'debug' USE flag enabled. If this has been done to"
|
||||
elog "troubleshoot an issue by producing a core dump or a back trace,"
|
||||
elog "then you need to also ensure the FEATURES variable in make.conf"
|
||||
elog "contains the 'nostrip' option."
|
||||
fi
|
||||
}
|
||||
@@ -1,248 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit autotools multilib user
|
||||
|
||||
DESCRIPTION="The de facto standard for intrusion detection/prevention"
|
||||
HOMEPAGE="https://www.snort.org"
|
||||
SRC_URI="https://www.snort.org/downloads/archive/${PN}/${P}.tar.gz"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="static +gre +ppm +perfprofiling
|
||||
+non-ether-decoders control-socket file-inspect high-availability
|
||||
shared-rep side-channel sourcefire linux-smp-stats inline-init-failopen
|
||||
+threads debug +active-response reload-error-restart
|
||||
+react +flexresp3 large-pcap-64bit selinux"
|
||||
|
||||
DEPEND=">=net-libs/libpcap-1.3.0
|
||||
>=net-libs/daq-2.0.2
|
||||
>=dev-libs/libpcre-8.33
|
||||
dev-libs/libdnet
|
||||
sys-libs/zlib"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
selinux? ( sec-policy/selinux-snort )"
|
||||
|
||||
REQUIRED_USE="!kernel_linux? ( !shared-rep )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-no-implicit.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
|
||||
# pre_inst() is a better place to put this
|
||||
# but we need it here for the 'fowners' statements in src_install()
|
||||
enewgroup snort
|
||||
enewuser snort -1 -1 /dev/null snort
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# Multilib fix for the sf_engine
|
||||
ebegin "Applying multilib fix"
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-plugins/sf_engine/Makefile.am" \
|
||||
|| die "sed for sf_engine failed"
|
||||
|
||||
# Multilib fix for the curent set of dynamic-preprocessors
|
||||
for i in file ftptelnet smtp ssh dns ssl dcerpc2 sdf imap pop sip reputation gtp modbus dnp3; do
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-preprocessors/$i/Makefile.am" \
|
||||
|| die "sed for $i failed."
|
||||
done
|
||||
eend
|
||||
|
||||
AT_M4DIR=m4 eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
|
||||
econf \
|
||||
$(use_enable !static shared) \
|
||||
$(use_enable static) \
|
||||
$(use_enable static so-with-static-lib) \
|
||||
$(use_enable gre) \
|
||||
$(use_enable control-socket) \
|
||||
$(use_enable file-inspect) \
|
||||
$(use_enable high-availability ha) \
|
||||
$(use_enable non-ether-decoders) \
|
||||
$(use_enable shared-rep) \
|
||||
$(use_enable side-channel) \
|
||||
$(use_enable sourcefire) \
|
||||
$(use_enable ppm) \
|
||||
$(use_enable perfprofiling) \
|
||||
$(use_enable linux-smp-stats) \
|
||||
$(use_enable inline-init-failopen) \
|
||||
$(use_enable threads pthread) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable debug debug-msgs) \
|
||||
$(use_enable debug corefiles) \
|
||||
$(use_enable !debug dlclose) \
|
||||
$(use_enable active-response) \
|
||||
$(use_enable reload-error-restart) \
|
||||
$(use_enable react) \
|
||||
$(use_enable flexresp3) \
|
||||
$(use_enable large-pcap-64bit large-pcap) \
|
||||
--enable-mpls \
|
||||
--enable-normalizer \
|
||||
--enable-reload \
|
||||
--enable-targetbased \
|
||||
--disable-build-dynamic-examples \
|
||||
--disable-profile \
|
||||
--disable-ppm-test \
|
||||
--disable-intel-soft-cpm \
|
||||
--disable-static-daq
|
||||
}
|
||||
|
||||
src_install() {
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
dodir /var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort/rules \
|
||||
/etc/snort/so_rules \
|
||||
/usr/$(get_libdir)/snort_dynamicrules
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to trouble shoot build problems and bug reports so we are
|
||||
# perserving them incase the user needs upstream support.
|
||||
dodoc RELEASE.NOTES ChangeLog \
|
||||
doc/* \
|
||||
tools/u2boat/README.u2boat
|
||||
|
||||
insinto /etc/snort
|
||||
doins etc/attribute_table.dtd \
|
||||
etc/classification.config \
|
||||
etc/gen-msg.map \
|
||||
etc/reference.config \
|
||||
etc/threshold.conf \
|
||||
etc/unicode.map
|
||||
|
||||
# We use snort.conf.distrib because the config file is complicated
|
||||
# and the one shipped with snort can change drastically between versions.
|
||||
# Users should migrate setting by hand and not with etc-update.
|
||||
newins etc/snort.conf snort.conf.distrib
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to troubleshoot build problems and bug reports so we are
|
||||
# preserving them incase the user needs upstream support.
|
||||
if [ -f "${WORKDIR}/${PF}/config.log" ]; then
|
||||
dodoc "${WORKDIR}/${PF}/config.log"
|
||||
fi
|
||||
if [ -f "${T}/build.log" ]; then
|
||||
dodoc "${T}/build.log"
|
||||
fi
|
||||
|
||||
insinto /etc/snort/preproc_rules
|
||||
doins preproc_rules/decoder.rules \
|
||||
preproc_rules/preprocessor.rules \
|
||||
preproc_rules/sensitive-data.rules
|
||||
|
||||
fowners -R snort:snort \
|
||||
/var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort
|
||||
|
||||
newinitd "${FILESDIR}/snort.rc12" snort
|
||||
newconfd "${FILESDIR}/snort.confd.2" snort
|
||||
|
||||
# Sourcefire uses Makefiles to install docs causing Bug #297190.
|
||||
# This removes the unwanted doc directory and rogue Makefiles.
|
||||
rm -rf "${D}"usr/share/doc/snort || die "Failed to remove SF doc directories"
|
||||
rm "${D}"usr/share/doc/"${PF}"/Makefile* || die "Failed to remove doc make files"
|
||||
|
||||
# Remove unneeded .la files (Bug #382863)
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicengine/libsf_engine.la || die
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicpreprocessor/libsf_*_preproc.la || die "Failed to remove libsf_?_preproc.la"
|
||||
|
||||
# Set the correct lib path for dynamicengine, dynamicpreprocessor, and dynamicdetection
|
||||
sed -i -e 's|/usr/local/lib|/usr/'$(get_libdir)'|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct rule location in the config
|
||||
sed -i -e 's|RULE_PATH ../rules|RULE_PATH /etc/snort/rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct preprocessor/decoder rule location in the config
|
||||
sed -i -e 's|PREPROC_RULE_PATH ../preproc_rules|PREPROC_RULE_PATH /etc/snort/preproc_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Enable the preprocessor/decoder rules
|
||||
sed -i -e 's|^# include $PREPROC_RULE_PATH|include $PREPROC_RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^# dynamicdetection directory|dynamicdetection directory|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Just some clean up of trailing /'s in the config
|
||||
sed -i -e 's|snort_dynamicpreprocessor/$|snort_dynamicpreprocessor|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Make it clear in the config where these are...
|
||||
sed -i -e 's|^include classification.config|include /etc/snort/classification.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^include reference.config|include /etc/snort/reference.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Disable all rule files by default.
|
||||
sed -i -e 's|^include $RULE_PATH|# include $RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the configured DAQ to afpacket
|
||||
sed -i -e 's|^# config daq: <type>|config daq: afpacket|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the location of the DAQ modules
|
||||
sed -i -e 's|^# config daq_dir: <dir>|config daq_dir: /usr/'$(get_libdir)'/daq|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the DAQ mode to passive
|
||||
sed -i -e 's|^# config daq_mode: <mode>|config daq_mode: passive|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set snort to run as snort:snort
|
||||
sed -i -e 's|^# config set_gid:|config set_gid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
sed -i -e 's|^# config set_uid:|config set_uid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the default log dir
|
||||
sed -i -e 's|^# config logdir:|config logdir: /var/log/snort/|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct so_rule location in the config
|
||||
sed -i -e 's|SO_RULE_PATH ../so_rules|SO_RULE_PATH /etc/snort/so_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
|
||||
einfo "There have been a number of improvements and new features"
|
||||
einfo "added to ${P}. Please review the RELEASE.NOTES and"
|
||||
einfo "ChangLog located in /usr/share/doc/${PF}."
|
||||
einfo
|
||||
elog "The Sourcefire Vulnerability Research Team (VRT) recommends that"
|
||||
elog "users migrate their snort.conf customizations to the latest config"
|
||||
elog "file released by the VRT. You can find the latest version of the"
|
||||
elog "Snort config file in /etc/snort/snort.conf.distrib."
|
||||
elog
|
||||
elog "!! It is important that you migrate to this new snort.conf file !!"
|
||||
elog
|
||||
elog "This version of the ebuild includes an updated init.d file and"
|
||||
elog "conf.d file that rely on options found in the latest Snort"
|
||||
elog "config file provided by the VRT."
|
||||
|
||||
if use debug; then
|
||||
elog "You have the 'debug' USE flag enabled. If this has been done to"
|
||||
elog "troubleshoot an issue by producing a core dump or a back trace,"
|
||||
elog "then you need to also ensure the FEATURES variable in make.conf"
|
||||
elog "contains the 'nostrip' option."
|
||||
fi
|
||||
}
|
||||
@@ -1,249 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
inherit autotools multilib user
|
||||
|
||||
DESCRIPTION="The de facto standard for intrusion detection/prevention"
|
||||
HOMEPAGE="https://www.snort.org"
|
||||
SRC_URI="https://www.snort.org/downloads/archive/${PN}/${P}.tar.gz"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="static +gre +mpls +targetbased +ppm +perfprofiling
|
||||
+non-ether-decoders control-socket file-inspect high-availability
|
||||
shared-rep side-channel sourcefire linux-smp-stats inline-init-failopen
|
||||
+threads debug +active-response +normalizer reload-error-restart
|
||||
+react +flexresp3 large-pcap-64bit selinux"
|
||||
|
||||
DEPEND=">=net-libs/libpcap-1.3.0
|
||||
>=net-libs/daq-2.0.2
|
||||
>=dev-libs/libpcre-8.33
|
||||
dev-libs/libdnet
|
||||
sys-libs/zlib"
|
||||
|
||||
RDEPEND="${DEPEND}
|
||||
selinux? ( sec-policy/selinux-snort )"
|
||||
|
||||
REQUIRED_USE="!kernel_linux? ( !shared-rep )"
|
||||
|
||||
pkg_setup() {
|
||||
|
||||
# pre_inst() is a better place to put this
|
||||
# but we need it here for the 'fowners' statements in src_install()
|
||||
enewgroup snort
|
||||
enewuser snort -1 -1 /dev/null snort
|
||||
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
|
||||
# Multilib fix for the sf_engine
|
||||
ebegin "Applying multilib fix"
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-plugins/sf_engine/Makefile.am" \
|
||||
|| die "sed for sf_engine failed"
|
||||
|
||||
# Multilib fix for the curent set of dynamic-preprocessors
|
||||
for i in file ftptelnet smtp ssh dns ssl dcerpc2 sdf imap pop sip reputation gtp modbus dnp3; do
|
||||
sed -i -e 's|${exec_prefix}/lib|${exec_prefix}/'$(get_libdir)'|g' \
|
||||
"${WORKDIR}/${P}/src/dynamic-preprocessors/$i/Makefile.am" \
|
||||
|| die "sed for $i failed."
|
||||
done
|
||||
eend
|
||||
|
||||
AT_M4DIR=m4 eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
|
||||
econf \
|
||||
$(use_enable !static shared) \
|
||||
$(use_enable static) \
|
||||
$(use_enable static so-with-static-lib) \
|
||||
$(use_enable gre) \
|
||||
$(use_enable mpls) \
|
||||
$(use_enable targetbased) \
|
||||
$(use_enable control-socket) \
|
||||
$(use_enable file-inspect) \
|
||||
$(use_enable high-availability ha) \
|
||||
$(use_enable non-ether-decoders) \
|
||||
$(use_enable shared-rep) \
|
||||
$(use_enable side-channel) \
|
||||
$(use_enable sourcefire) \
|
||||
$(use_enable ppm) \
|
||||
$(use_enable perfprofiling) \
|
||||
$(use_enable linux-smp-stats) \
|
||||
$(use_enable inline-init-failopen) \
|
||||
$(use_enable threads pthread) \
|
||||
$(use_enable debug) \
|
||||
$(use_enable debug debug-msgs) \
|
||||
$(use_enable debug corefiles) \
|
||||
$(use_enable !debug dlclose) \
|
||||
$(use_enable active-response) \
|
||||
$(use_enable normalizer) \
|
||||
$(use_enable reload-error-restart) \
|
||||
$(use_enable react) \
|
||||
$(use_enable flexresp3) \
|
||||
$(use_enable large-pcap-64bit large-pcap) \
|
||||
--enable-reload \
|
||||
--disable-build-dynamic-examples \
|
||||
--disable-profile \
|
||||
--disable-ppm-test \
|
||||
--disable-intel-soft-cpm \
|
||||
--disable-static-daq
|
||||
}
|
||||
|
||||
src_install() {
|
||||
|
||||
emake DESTDIR="${D}" install
|
||||
|
||||
dodir /var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort/rules \
|
||||
/etc/snort/so_rules \
|
||||
/usr/$(get_libdir)/snort_dynamicrules
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to trouble shoot build problems and bug reports so we are
|
||||
# perserving them incase the user needs upstream support.
|
||||
dodoc RELEASE.NOTES ChangeLog \
|
||||
doc/* \
|
||||
tools/u2boat/README.u2boat
|
||||
|
||||
insinto /etc/snort
|
||||
doins etc/attribute_table.dtd \
|
||||
etc/classification.config \
|
||||
etc/gen-msg.map \
|
||||
etc/reference.config \
|
||||
etc/threshold.conf \
|
||||
etc/unicode.map
|
||||
|
||||
# We use snort.conf.distrib because the config file is complicated
|
||||
# and the one shipped with snort can change drastically between versions.
|
||||
# Users should migrate setting by hand and not with etc-update.
|
||||
newins etc/snort.conf snort.conf.distrib
|
||||
|
||||
# config.log and build.log are needed by Sourcefire
|
||||
# to troubleshoot build problems and bug reports so we are
|
||||
# preserving them incase the user needs upstream support.
|
||||
if [ -f "${WORKDIR}/${PF}/config.log" ]; then
|
||||
dodoc "${WORKDIR}/${PF}/config.log"
|
||||
fi
|
||||
if [ -f "${T}/build.log" ]; then
|
||||
dodoc "${T}/build.log"
|
||||
fi
|
||||
|
||||
insinto /etc/snort/preproc_rules
|
||||
doins preproc_rules/decoder.rules \
|
||||
preproc_rules/preprocessor.rules \
|
||||
preproc_rules/sensitive-data.rules
|
||||
|
||||
fowners -R snort:snort \
|
||||
/var/log/snort \
|
||||
/var/run/snort \
|
||||
/etc/snort
|
||||
|
||||
newinitd "${FILESDIR}/snort.rc12" snort
|
||||
newconfd "${FILESDIR}/snort.confd.2" snort
|
||||
|
||||
# Sourcefire uses Makefiles to install docs causing Bug #297190.
|
||||
# This removes the unwanted doc directory and rogue Makefiles.
|
||||
rm -rf "${D}"usr/share/doc/snort || die "Failed to remove SF doc directories"
|
||||
rm "${D}"usr/share/doc/"${PF}"/Makefile* || die "Failed to remove doc make files"
|
||||
|
||||
# Remove unneeded .la files (Bug #382863)
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicengine/libsf_engine.la || die
|
||||
rm "${D}"usr/$(get_libdir)/snort_dynamicpreprocessor/libsf_*_preproc.la || die "Failed to remove libsf_?_preproc.la"
|
||||
|
||||
# Set the correct lib path for dynamicengine, dynamicpreprocessor, and dynamicdetection
|
||||
sed -i -e 's|/usr/local/lib|/usr/'$(get_libdir)'|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct rule location in the config
|
||||
sed -i -e 's|RULE_PATH ../rules|RULE_PATH /etc/snort/rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct preprocessor/decoder rule location in the config
|
||||
sed -i -e 's|PREPROC_RULE_PATH ../preproc_rules|PREPROC_RULE_PATH /etc/snort/preproc_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Enable the preprocessor/decoder rules
|
||||
sed -i -e 's|^# include $PREPROC_RULE_PATH|include $PREPROC_RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^# dynamicdetection directory|dynamicdetection directory|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Just some clean up of trailing /'s in the config
|
||||
sed -i -e 's|snort_dynamicpreprocessor/$|snort_dynamicpreprocessor|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Make it clear in the config where these are...
|
||||
sed -i -e 's|^include classification.config|include /etc/snort/classification.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
sed -i -e 's|^include reference.config|include /etc/snort/reference.config|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Disable all rule files by default.
|
||||
sed -i -e 's|^include $RULE_PATH|# include $RULE_PATH|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Disable normalizer preprocessor config if normalizer USE flag not set.
|
||||
if ! use normalizer; then
|
||||
sed -i -e 's|^preprocessor normalize|#preprocessor normalize|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
fi
|
||||
|
||||
# Set the configured DAQ to afpacket
|
||||
sed -i -e 's|^# config daq: <type>|config daq: afpacket|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the location of the DAQ modules
|
||||
sed -i -e 's|^# config daq_dir: <dir>|config daq_dir: /usr/'$(get_libdir)'/daq|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the DAQ mode to passive
|
||||
sed -i -e 's|^# config daq_mode: <mode>|config daq_mode: passive|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set snort to run as snort:snort
|
||||
sed -i -e 's|^# config set_gid:|config set_gid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
sed -i -e 's|^# config set_uid:|config set_uid: snort|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the default log dir
|
||||
sed -i -e 's|^# config logdir:|config logdir: /var/log/snort/|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
|
||||
# Set the correct so_rule location in the config
|
||||
sed -i -e 's|SO_RULE_PATH ../so_rules|SO_RULE_PATH /etc/snort/so_rules|g' \
|
||||
"${D}etc/snort/snort.conf.distrib" || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
|
||||
einfo "There have been a number of improvements and new features"
|
||||
einfo "added to ${P}. Please review the RELEASE.NOTES and"
|
||||
einfo "ChangLog located in /usr/share/doc/${PF}."
|
||||
einfo
|
||||
elog "The Sourcefire Vulnerability Research Team (VRT) recommends that"
|
||||
elog "users migrate their snort.conf customizations to the latest config"
|
||||
elog "file released by the VRT. You can find the latest version of the"
|
||||
elog "Snort config file in /etc/snort/snort.conf.distrib."
|
||||
elog
|
||||
elog "!! It is important that you migrate to this new snort.conf file !!"
|
||||
elog
|
||||
elog "This version of the ebuild includes an updated init.d file and"
|
||||
elog "conf.d file that rely on options found in the latest Snort"
|
||||
elog "config file provided by the VRT."
|
||||
|
||||
if use debug; then
|
||||
elog "You have the 'debug' USE flag enabled. If this has been done to"
|
||||
elog "troubleshoot an issue by producing a core dump or a back trace,"
|
||||
elog "then you need to also ensure the FEATURES variable in make.conf"
|
||||
elog "contains the 'nostrip' option."
|
||||
fi
|
||||
}
|
||||
Reference in New Issue
Block a user