#
# TODO: - snort rules - fix description
-# - clamav support - cleanup, add some docs
# - snort_inline - prepare separate sets of config-files, rules
# and startup script, adds some docs
-# - snort 2.6
#
# Conditional build:
-%bcond_without pgsql # build without PostgreSQL storage support
-%bcond_without mysql # build without MySQL storage support
-%bcond_without snmp # build without SNMP support
-%bcond_without inline # build without inline support
-%bcond_without prelude # build without prelude support
-%bcond_without clamav # build w/o ClamAV preprocessor support (anti-vir)
%bcond_with registered # build with rules available for registered users
#
Summary: Network intrusion detection system (IDS/IPS)
-Summary(pl.UTF-8): System wykrywania intruzów w sieciach (IDS/IPS)
-Summary(pt_BR.UTF-8): Ferramenta de detecção de intrusos
-Summary(ru.UTF-8): Snort - система обнаружения попыток вторжения в сеть
-Summary(uk.UTF-8): Snort - система виявлення спроб вторгнення в мережу
+Summary(pl.UTF-8): System wykrywania intruzów w sieciach (IDS/IPS)
+Summary(pt_BR.UTF-8): Ferramenta de detecção de intrusos
+Summary(ru.UTF-8): Snort - система обнаружения попыток вторжения в сеть
+Summary(uk.UTF-8): Snort - система виявлення спроб вторгнення в мережу
Name: snort
-Version: 2.4.5
-Release: 2
+Version: 2.9.18.1
+Release: 1
License: GPL v2 (vrt rules on VRT-License)
Group: Networking
-Source0: http://www.snort.org/dl/current/%{name}-%{version}.tar.gz
-# Source0-md5: 108b3c20dcbaf3cdb17ea9203342eaaa
+Source0: http://www.snort.org/downloads/snort/%{name}-%{version}.tar.gz
+# Source0-md5: 2b4e30300ef6feca1f60c267e727c6c0
Source1: http://www.snort.org/pub-bin/downloads.cgi/Download/vrt_pr/%{name}rules-pr-2.4.tar.gz
# Source1-md5: 35d9a2486f8c0280bb493aa03c011927
%if %{with registered}
-Source2: http://www.snort.org/pub-bin/downloads.cgi/Download/vrt_os/%{name}rules-snapshot-2.4.tar.gz
-# NoSource2-md5: 79af87cda3321bd64279038f9352c1b3
+Source2: http://www.snort.org/pub-bin/downloads.cgi/Download/vrt_os/%{name}rules-snapshot-2.6.tar.gz
+# NoSource2-md5: 0405ec828cf9ad85a03cbf670818f690
NoSource: 2
%endif
Source3: http://www.snort.org/pub-bin/downloads.cgi/Download/comm_rules/Community-Rules-2.4.tar.gz
-# Source3-md5: 639d98ed81314723f4dee0b3100f7a19
+# Source3-md5: f236b8a4ac12e99d3e7bd81bf3b5a482
Source4: %{name}.init
Source5: %{name}.logrotate
-Patch0: %{name}-libnet1.patch
-Patch1: %{name}-lib64.patch
-# http://www.bleedingsnort.com/staticpages/index.php?page=snort-clamav
-Patch2: %{name}-2.4.3-clamonly.diff
+Patch0: %{name}-link.patch
+Patch1: %{name}-libdir.patch
URL: http://www.snort.org/
BuildRequires: autoconf
BuildRequires: automake
-%{?with_clamav:BuildRequires: clamav-devel}
-%{?with_inline:BuildRequires: iptables-devel}
+BuildRequires: daq-static
+BuildRequires: libdnet-devel
+BuildRequires: libnetfilter_queue-devel
+BuildRequires: libnet-devel
BuildRequires: libnet1-devel = 1.0.2a
BuildRequires: libpcap-devel
-%{?with_prelude:BuildRequires: libprelude-devel}
-%{?with_mysql:BuildRequires: mysql-devel}
-%{?with_snmp:BuildRequires: net-snmp-devel >= 5.0.7}
+BuildRequires: libtirpc-devel
+BuildRequires: libtool
BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: pcre-devel
-%{?with_pgsql:BuildRequires: postgresql-devel}
BuildRequires: rpmbuild(macros) >= 1.202
BuildRequires: rpmbuild(macros) >= 1.268
BuildRequires: zlib-devel
Requires: libnet1 = 1.0.2a
Requires: rc-scripts >= 0.2.0
Provides: group(snort)
-%{?with_mysql:Provides: snort(mysql) = %{version}}
-%{?with_pgsql:Provides: snort(pgsql) = %{version}}
Provides: user(snort)
Obsoletes: snort-rules
+Conflicts: logrotate < 3.7-4
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _sysconfdir /etc/snort
%define _bindir %{_sbindir}
%description
%prep
%setup -q %{!?with_registered:-a1} %{?with_registered:-a2} -a3
%patch0 -p1
-%if "%{_lib}" == "lib64"
%patch1 -p1
-%endif
-%{?with_clamav:%patch2 -p1}
sed -i "s#var\ RULE_PATH.*#var RULE_PATH /etc/snort/rules#g" rules/snort.conf
_DIR=$(pwd)
cd $_DIR
%build
-%{__aclocal}
+export CFLAGS="%{rpmcflags} -I/usr/include/tirpc"
+%{__libtoolize}
+%{__aclocal} -I m4
%{__autoconf}
%{__automake}
# we don't need libnsl, so don't use it
%configure \
no_libnsl=yes \
- --enable-smbalerts \
- --enable-flexresp \
- %{?with_inline:--enable-inline } \
- %{?with_inline:--with-libipq-includes=%{_includedir}/libipq } \
- --with-libnet-includes=%{_includedir} \
- --with%{!?with_snmp:out}-snmp \
- --without-odbc \
- --enable-perfmonitor \
- --with%{!?with_pgsql:out}-postgresql \
- --with%{!?with_mysql:out}-mysql \
- %{?with_prelude:--enable-prelude } \
- %{?with_clamav:--enable-clamav --with-clamav-defdir=/var/lib/clamav}
+ --enable-pthread \
+ --enable-so-with-static-lib \
+ --enable-control-socket \
+ --enable-side-channel \
+ --enable-build-dynamic-examples
%{__make}
+%{__make} -C src/dynamic-plugins/sf_engine/examples
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,%{name},cron.daily,logrotate.d} \
- $RPM_BUILD_ROOT%{_var}/log/{%{name},archiv/%{name}} \
+install -d $RPM_BUILD_ROOT%{_initrddir} \
+ $RPM_BUILD_ROOT%{_sysconfdir}/{%{name},cron.daily,logrotate.d} \
+ $RPM_BUILD_ROOT%{_var}/log/{%{name},archive/%{name}} \
$RPM_BUILD_ROOT%{_datadir}/mibs/site \
- $RPM_BUILD_ROOT%{_sysconfdir}/rules
+ $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/rules
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-install rules/*.config $RPM_BUILD_ROOT%{_sysconfdir}
-install etc/unicode.map $RPM_BUILD_ROOT%{_sysconfdir}
-install rules/*.rules $RPM_BUILD_ROOT%{_sysconfdir}/rules
-install %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
-install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
-install rules/snort.conf $RPM_BUILD_ROOT%{_sysconfdir}
-
-mv schemas/create_mysql schemas/create_mysql.sql
-mv schemas/create_postgresql schemas/create_postgresql.sql
+install rules/*.config $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
+install etc/unicode.map $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
+install rules/*.rules $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/rules
+install %{SOURCE4} $RPM_BUILD_ROOT%{_initrddir}/%{name}
+install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name}
+install rules/snort.conf $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc doc/{AUTHORS,BUGS,CREDITS,NEWS,PROBLEMS,README*,RULES.todo,TODO,USAGE,WISHLIST,*.pdf}
-%doc schemas/create_{mysql,postgresql}.sql
+%doc doc/{AUTHORS,BUGS,CREDITS,INSTALL,NEWS,PROBLEMS,README*,TODO,USAGE,WISHLIST,generators,*.pdf}
%attr(755,root,root) %{_sbindir}/*
-%attr(770,root,snort) %dir %{_var}/log/snort
-%attr(770,root,snort) %dir %{_var}/log/archiv/%{name}
-%attr(750,root,snort) %dir %{_sysconfdir}
-%attr(640,root,snort) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/unicode.map
-%attr(640,root,snort) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.config
-%attr(640,root,snort) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/snort.conf
-%attr(750,root,snort) %dir %{_sysconfdir}/rules
-%attr(640,root,snort) %{_sysconfdir}/rules/*
-%attr(754,root,root) /etc/rc.d/init.d/%{name}
+%attr(770,root,snort) %dir %{_var}/log/%{name}
+%attr(770,root,snort) %dir %{_var}/log/archive/%{name}
+%attr(750,root,snort) %dir %{_sysconfdir}/%{name}
+%attr(640,root,snort) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/unicode.map
+%attr(640,root,snort) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.config
+%attr(640,root,snort) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/%{name}.conf
+%attr(750,root,snort) %dir %{_sysconfdir}/%{name}/rules
+%attr(640,root,snort) %{_sysconfdir}/%{name}/rules/*
+%attr(754,root,root) %{_initrddir}/%{name}
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/*
%{_mandir}/man?/*
+%dir %{_libdir}/snort_dynamicengine
+%dir %{_libdir}/snort_dynamicpreprocessor
+%dir %{_libdir}/snort_dynamicrules
+%attr(755,root,root) %{_libdir}/snort_dynamicengine/libsf_engine.so*
+%attr(755,root,root) %{_libdir}/snort_dynamicpreprocessor/*.so*
+%attr(755,root,root) %{_libdir}/snort_dynamicrules/lib_sfdynamic_example_rule.so*