Gentoo Archives: gentoo-commits

From: "Joshua Kinard (kumba)" <kumba@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in net-analyzer/snort: ChangeLog snort-2.9.0.4-r1.ebuild
Date: Tue, 01 Mar 2011 07:53:04
Message-Id: 20110301075253.975BB20054@flycatcher.gentoo.org
1 kumba 11/03/01 07:52:53
2
3 Modified: ChangeLog
4 Added: snort-2.9.0.4-r1.ebuild
5 Log:
6 Fix #356905, upstream released a patch to address a bug with partial HTTP URI decoding and incremented the internal build number, but did not bump the version number on the available tarball. Build is now 111 from 110.
7
8 (Portage version: 2.1.9.41/cvs/Linux x86_64)
9
10 Revision Changes Path
11 1.176 net-analyzer/snort/ChangeLog
12
13 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-analyzer/snort/ChangeLog?rev=1.176&view=markup
14 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-analyzer/snort/ChangeLog?rev=1.176&content-type=text/plain
15 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-analyzer/snort/ChangeLog?r1=1.175&r2=1.176
16
17 Index: ChangeLog
18 ===================================================================
19 RCS file: /var/cvsroot/gentoo-x86/net-analyzer/snort/ChangeLog,v
20 retrieving revision 1.175
21 retrieving revision 1.176
22 diff -u -r1.175 -r1.176
23 --- ChangeLog 28 Feb 2011 20:54:43 -0000 1.175
24 +++ ChangeLog 1 Mar 2011 07:52:53 -0000 1.176
25 @@ -1,6 +1,13 @@
26 # ChangeLog for net-analyzer/snort
27 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
28 -# $Header: /var/cvsroot/gentoo-x86/net-analyzer/snort/ChangeLog,v 1.175 2011/02/28 20:54:43 jer Exp $
29 +# $Header: /var/cvsroot/gentoo-x86/net-analyzer/snort/ChangeLog,v 1.176 2011/03/01 07:52:53 kumba Exp $
30 +
31 +*snort-2.9.0.4-r1 (01 Mar 2011)
32 +
33 + 01 Mar 2011; Joshua Kinard <kumba@g.o> +snort-2.9.0.4-r1.ebuild:
34 + Fix #356905, upstream released a patch to address a bug with partial HTTP URI
35 + decoding and incremented the internal build number, but did not bump the
36 + version number on the available tarball. Build is now 111 from 110.
37
38 28 Feb 2011; Jeroen Roovers <jer@g.o> snort-2.9.0.4.ebuild:
39 Do not install temporary log files (bug #356547).
40
41
42
43 1.1 net-analyzer/snort/snort-2.9.0.4-r1.ebuild
44
45 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-analyzer/snort/snort-2.9.0.4-r1.ebuild?rev=1.1&view=markup
46 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/net-analyzer/snort/snort-2.9.0.4-r1.ebuild?rev=1.1&content-type=text/plain
47
48 Index: snort-2.9.0.4-r1.ebuild
49 ===================================================================
50 # Copyright 1999-2011 Gentoo Foundation
51 # Distributed under the terms of the GNU General Public License v2
52 # $Header: /var/cvsroot/gentoo-x86/net-analyzer/snort/snort-2.9.0.4-r1.ebuild,v 1.1 2011/03/01 07:52:53 kumba Exp $
53
54 EAPI="2"
55 inherit eutils autotools multilib
56
57 DESCRIPTION="The de facto standard for intrusion detection/prevention"
58 HOMEPAGE="http://www.snort.org/"
59 SRC_URI="http://www.snort.org/downloads/808 -> ${P}-r1.tar.gz"
60 LICENSE="GPL-2"
61 SLOT="0"
62 KEYWORDS="~amd64 ~x86"
63 IUSE="static +dynamicplugin +ipv6 +zlib gre mpls targetbased +decoder-preprocessor-rules
64 ppm perfprofiling linux-smp-stats inline-init-failopen prelude +threads debug
65 active-response normalizer reload-error-restart react flexresp3
66 aruba mysql odbc postgres selinux"
67
68 DEPEND=">=net-libs/libpcap-1.0.0
69 >=net-libs/daq-0.5
70 >=dev-libs/libpcre-6.0
71 dev-libs/libdnet
72 postgres? ( dev-db/postgresql-base )
73 mysql? ( virtual/mysql )
74 odbc? ( dev-db/unixODBC )
75 prelude? ( >=dev-libs/libprelude-0.9.0 )
76 zlib? ( sys-libs/zlib )"
77
78 RDEPEND="${DEPEND}
79 selinux? ( sec-policy/selinux-snort )"
80
81 pkg_setup() {
82
83 if use zlib && ! use dynamicplugin; then
84 eerror "You have enabled the 'zlib' USE flag but not the 'dynamicplugin' USE flag."
85 eerror "'zlib' requires 'dynamicplugin' be enabled."
86 die
87 fi
88
89 # pre_inst() is a better place to put this
90 # but we need it here for the 'fowners' statements in src_install()
91 enewgroup snort
92 enewuser snort -1 -1 /dev/null snort
93
94 }
95
96 src_prepare() {
97
98 # Fix to ensure that the package builds if USE flag -dynamicplugin is used.
99 epatch "${FILESDIR}/disabledynamic.patch"
100
101 #Multilib fix for the sf_engine
102 einfo "Applying multilib fix."
103 sed -i -e 's:${exec_prefix}/lib:${exec_prefix}/'$(get_libdir)':g' \
104 "${WORKDIR}/${P}/src/dynamic-plugins/sf_engine/Makefile.am" \
105 || die "sed for sf_engine failed"
106
107 #Multilib fix for the curent set of dynamic-preprocessors
108 for i in ftptelnet smtp ssh dns ssl dcerpc2 sdf; do
109 sed -i -e 's:${exec_prefix}/lib:${exec_prefix}/'$(get_libdir)':g' \
110 "${WORKDIR}/${P}/src/dynamic-preprocessors/$i/Makefile.am" \
111 || die "sed for $i failed."
112 done
113
114 if use prelude; then
115 einfo "Applying prelude fix."
116 sed -i -e "s:AC_PROG_RANLIB:AC_PROG_LIBTOOL:" configure.in \
117 || die "sed for perlude failed"
118 fi
119
120 AT_M4DIR=m4 eautoreconf
121 }
122
123 src_configure() {
124
125 econf \
126 $(use_enable !static shared) \
127 $(use_enable static) \
128 $(use_enable dynamicplugin) \
129 $(use_enable ipv6) \
130 $(use_enable zlib) \
131 $(use_enable gre) \
132 $(use_enable mpls) \
133 $(use_enable targetbased) \
134 $(use_enable decoder-preprocessor-rules) \
135 $(use_enable ppm) \
136 $(use_enable perfprofiling) \
137 $(use_enable linux-smp-stats) \
138 $(use_enable inline-init-failopen) \
139 $(use_enable prelude) \
140 $(use_enable threads pthread) \
141 $(use_enable debug) \
142 $(use_enable debug debug-msgs) \
143 $(use_enable debug corefiles) \
144 $(use_enable !debug dlclose) \
145 $(use_enable active-response) \
146 $(use_enable normalizer) \
147 $(use_enable reload-error-restart) \
148 $(use_enable react) \
149 $(use_enable flexresp3) \
150 $(use_enable aruba) \
151 $(use_with mysql) \
152 $(use_with odbc) \
153 $(use_with postgres postgresql) \
154 --enable-reload \
155 --disable-build-dynamic-examples \
156 --disable-profile \
157 --disable-ppm-test \
158 --disable-intel-soft-cpm \
159 --disable-static-daq \
160 --disable-rzb-saac \
161 --without-oracle
162
163 }
164
165 src_install() {
166
167 emake DESTDIR="${D}" install || die "emake failed"
168
169 dodir /var/log/snort \
170 /var/run/snort \
171 /etc/snort/rules \
172 /usr/$(get_libdir)/snort_dynamicrules \
173 || die "Failed to create core directories"
174
175 # config.log and build.log are needed by Sourcefire
176 # to trouble shoot build problems and bug reports so we are
177 # perserving them incase the user needs upstream support.
178 dodoc RELEASE.NOTES ChangeLog \
179 doc/* \
180 tools/u2boat/README.u2boat \
181 schemas/* || die "Failed to install snort docs"
182
183 insinto /etc/snort
184 doins etc/attribute_table.dtd \
185 etc/classification.config \
186 etc/gen-msg.map \
187 etc/reference.config \
188 etc/threshold.conf \
189 etc/unicode.map || die "Failed to install docs in etc"
190
191 # We use snort.conf.distrib because the config file is complicated
192 # and the one shipped with snort can change drastically between versions.
193 # Users should migrate setting by hand and not with etc-update.
194 newins etc/snort.conf snort.conf.distrib \
195 || die "Failed to add snort.conf.distrib"
196
197 insinto /etc/snort/preproc_rules
198 doins preproc_rules/decoder.rules \
199 preproc_rules/preprocessor.rules \
200 preproc_rules/sensitive-data.rules || die "Failed to install preproc rule files"
201
202 chown -R snort:snort \
203 "${D}"/var/log/snort \
204 "${D}"/var/run/snort \
205 "${D}"/etc/snort \
206 "${D}"/etc/snort/preproc_rules || die "Failed to set ownership of dirs"
207
208 newinitd "${FILESDIR}/snort.rc10" snort || die "Failed to install snort init script"
209 newconfd "${FILESDIR}/snort.confd" snort || die "Failed to install snort confd file"
210
211 # Sourcefire uses Makefiles to install docs causing Bug #297190.
212 # This removes the unwanted doc directory and rogue Makefiles.
213 rm -rf "${D}"usr/share/doc/snort || die "Failed to remove SF doc directories"
214 rm "${D}"usr/share/doc/"${PF}"/Makefile* || die "Failed to remove doc make files"
215
216 # Set the correct lib path for dynamicengine, dynamicpreprocessor, and dynamicdetection
217 sed -i -e 's:/usr/local/lib:/usr/'$(get_libdir)':g' \
218 "${D}etc/snort/snort.conf.distrib" \
219 || die "Failed to update snort.conf.distrib lib paths"
220
221 # Set the correct rule location in the config
222 sed -i -e 's:RULE_PATH ../rules:RULE_PATH /etc/snort/rules:g' \
223 "${D}etc/snort/snort.conf.distrib" \
224 || die "Failed to update snort.conf.distrib rule path"
225
226 # Set the correct preprocessor/decoder rule location in the config
227 sed -i -e 's:PREPROC_RULE_PATH ../preproc_rules:PREPROC_RULE_PATH /etc/snort/preproc_rules:g' \
228 "${D}etc/snort/snort.conf.distrib" \
229 || die "Failed to update snort.conf.distrib preproc rule path"
230
231 # Enable the preprocessor/decoder rules
232 sed -i -e 's:^# include $PREPROC_RULE_PATH:include $PREPROC_RULE_PATH:g' \
233 "${D}etc/snort/snort.conf.distrib" \
234 || die "Failed to uncomment snort.conf.distrib preproc rule path"
235
236 sed -i -e 's:^# dynamicdetection directory:dynamicdetection directory:g' \
237 "${D}etc/snort/snort.conf.distrib" \
238 || die "Failed to uncomment snort.conf.distrib dynamicdetection directory"
239
240 # Just some clean up of trailing /'s in the config
241 sed -i -e 's:snort_dynamicpreprocessor/$:snort_dynamicpreprocessor:g' \
242 "${D}etc/snort/snort.conf.distrib" \
243 || die "Failed to clean up snort.conf.distrib trailing slashes"
244
245 # Make it clear in the config where these are...
246 sed -i -e 's:^include classification.config:include /etc/snort/classification.config:g' \
247 "${D}etc/snort/snort.conf.distrib" \
248 || die "Failed to update snort.conf.distrib classification.config path"
249
250 sed -i -e 's:^include reference.config:include /etc/snort/reference.config:g' \
251 "${D}etc/snort/snort.conf.distrib" \
252 || die "Failed to update snort.conf.distrib /etc/snort/reference.config path"
253
254 # Disable all rule files by default. Users need to choose what they want enabled.
255 sed -i -e 's:^include $RULE_PATH:# include $RULE_PATH:g' \
256 "${D}etc/snort/snort.conf.distrib" \
257 || die "Failed to disable rules in snort.conf.distrib"
258
259 # Disable preproc rule files by default.
260 sed -i -e 's:^include $PREPROC_RULE_PATH:# include $PREPROC_RULE_PATH:g' \
261 "${D}etc/snort/snort.conf.distrib" \
262 || die "Failed to disable rules in snort.conf.distrib"
263
264 # Disable normalizer preprocessor config if normalizer USE flag not set.
265 if ! use normalizer; then
266 sed -i -e 's:^preprocessor normalize:#preprocessor normalize:g' \
267 "${D}etc/snort/snort.conf.distrib" \
268 || die "Failed to disable normalizer config in snort.conf.distrib"
269 fi
270
271 }
272
273 pkg_postinst() {
274 elog
275 elog "Snort-2.9 introduces the DAQ, or Data Acquisition library, for"
276 elog "packet I/O. The DAQ replaces direct calls to PCAP functions with"
277 elog "an abstraction layer that facilitates operation on a variety of"
278 elog "hardware and software interfaces without requiring changes to Snort."
279 elog
280 elog "The only DAQ modules supported with this ebuild are AFpacket, PCAP,"
281 elog "and Dump. IPQ nad NFQ will be supported in future versions of this"
282 elog "package."
283 elog
284 elog "For passive (non-inline) Snort deployments you will want to use"
285 elog "either PCAP or AFpacket. For inline deployments you will need"
286 elog "to use AFpacket. The Dump DAQ is used for testing the various inline"
287 elog "features available in ${P}."
288 elog
289 elog "The core DQA libraries are installed in /usr/$(get_libdir)/. The libraries"
290 elog "for the individual DAQ modules (afpacket,pcap,dump) are installed in"
291 elog "/usr/$(get_libdir)/daq. To use these you will need to add the following"
292 elog "lines to your snort.conf:"
293 elog
294 elog "config daq: <DAQ module>"
295 elog "config daq_mode: <mode>"
296 elog "config daq_dir: /usr/$(get_libdir)/daq"
297 elog
298 elog "Please see the README file for DAQ for information about specific"
299 elog "DAQ modules and README.daq from the Snort 2.9 documentation"
300 elog "reguarding Snort and DAQ configuration information."
301 elog
302 elog "See /usr/share/doc/${PF} and /etc/snort/snort.conf.distrib for"
303 elog "information on configuring snort."
304 elog
305
306 if [[ $(date +%Y%m%d) < 20110312 ]]; then
307
308 ewarn
309 ewarn "Please note, you can not use ${P} with the SO rules from"
310 ewarn "previous versions of Snort!"
311 ewarn
312 ewarn "If you do not have a subscription to the VRT rule set and you"
313 ewarn "wish to continue using the shared object (SO) rules, you will"
314 ewarn "need to downgrade Snort. The SO rules will be made available"
315 ewarn "to registered (non-subscription) users on March 12, 2011"
316 ewarn "(30 days after being released to subscription users)."
317 ewarn
318 ewarn "Please see http://www.snort.org/snort-rules/#rules for more"
319 ewarn "details."
320 ewarn
321
322 fi
323
324 }