-# TODO
-# - Anybody knows, why it will not build, when kernel-headers are installed?
-# - maybe subpkg server and add initscript to it? especially as kismet server
-# can be remote. kismet_capture would still be in client package?
-# - update ncurses patch for tinfo, make it detect wide versions as well
-#
%define tarver %(echo %{version} | tr _ -)
Summary: Wireless network sniffer
Summary(pl.UTF-8): Sniffer sieci bezprzewodowych
Name: kismet
-Version: 2010_07_R1
-Release: 0.4
+Version: 2021_05_R1
+Release: 3
License: GPL
Group: Networking/Utilities
-Source0: http://www.kismetwireless.net/code/%{name}-%{tarver}.tar.gz
-# Source0-md5: 85e59186eb529889118b5635f35cf57d
-Patch0: config.patch
+Source0: http://www.kismetwireless.net/code/%{name}-%{tarver}.tar.xz
+# Source0-md5: df4cc90d5183b7fd45846a33bf598339
+Patch0: opt.patch
URL: http://www.kismetwireless.net/
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libnl-devel
BuildRequires: libpcap-devel >= 2:0.9.4-1
BuildRequires: libstdc++-devel
+BuildRequires: libwebsockets-devel >= 3.1.0
BuildRequires: ncurses-ext-devel
BuildRequires: openssl-devel
BuildRequires: pcre-devel
BuildRequires: pkgconfig
BuildRequires: sed >= 4.0
+Requires(postun): /usr/sbin/groupdel
+Requires(pre): /usr/sbin/groupadd
+Provides: group(kismet)
+Obsoletes: kismet-server < 2021_05_R1
# it uses internal structures - so strict deps
%requires_eq libpcap
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define plugins plugin-autowep plugin-btscan plugin-ptw plugin-spectools
+%define plugins plugin-alertsyslog plugin-dashboard
%description
Kismet is a 802.11b wireless network sniffer. It is capable of
%{__autoconf}
%configure
-%{__make} \
- CLIENTLIBS="-ldl -lncurses -lpanel -ltinfo" # hack to add -ltinfo
+# -j1 due to OOM
+%{__make} -j1
for plugin in %plugins; do
%{__make} -C $plugin \
KIS_SRC_DIR=$PWD \
INSTUSR=%(id -un) \
INSTGRP=%(id -gn) \
+ SUIDGROUP=%(id -gn) \
MANGRP=%(id -gn)
done
-# do what binsuidinstall would do
-install -p kismet_capture $RPM_BUILD_ROOT%{_bindir}
-
%clean
rm -rf $RPM_BUILD_ROOT
+%pre
+%groupadd -P %{name} -g 180 kismet
+
+%preun
+if [ "$1" = "0" ]; then
+ %groupremove kismet
+fi
+
+%triggerpostun -- kismet-server < 2021_05_R1
+%groupadd -P %{name} -g 180 kismet
+
%files
%defattr(644,root,root,755)
-%doc docs/* CHANGELOG README README.plugin-*
+%doc README.md README.plugin-alertsyslog README.plugin-dashboard
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet_80211.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet_alerts.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet_filter.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet_httpd.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet_logging.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet_memory.conf
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet_uav.conf
%attr(755,root,root) %{_bindir}/kismet
-%attr(755,root,root) %{_bindir}/kismet_client
-%attr(755,root,root) %{_bindir}/kismet_drone
+%attr(755,root,root) %{_bindir}/kismet_cap_freaklabs_zigbee
+%attr(755,root,root) %{_bindir}/kismet_cap_kismetdb
+%attr(755,root,root) %{_bindir}/kismet_cap_linux_bluetooth
+%attr(755,root,root) %{_bindir}/kismet_cap_linux_wifi
+%attr(755,root,root) %{_bindir}/kismet_cap_nrf_51822
+%attr(755,root,root) %{_bindir}/kismet_cap_nrf_52840
+%attr(755,root,root) %{_bindir}/kismet_cap_nrf_mousejack
+%attr(755,root,root) %{_bindir}/kismet_cap_nxp_kw41z
+%attr(755,root,root) %{_bindir}/kismet_cap_pcapfile
+%attr(755,root,root) %{_bindir}/kismet_cap_rz_killerbee
+%attr(755,root,root) %{_bindir}/kismet_cap_sdr_rtl433
+%attr(755,root,root) %{_bindir}/kismet_cap_sdr_rtladsb
+%attr(755,root,root) %{_bindir}/kismet_cap_sdr_rtlamr
+%attr(755,root,root) %{_bindir}/kismet_cap_ti_cc_2531
+%attr(755,root,root) %{_bindir}/kismet_cap_ti_cc_2540
+%attr(755,root,root) %{_bindir}/kismet_discovery
%attr(755,root,root) %{_bindir}/kismet_server
-# TODO: create kismet group instead
-%attr(4750,root,adm) %{_bindir}/kismet_capture
+%attr(755,root,root) %{_bindir}/kismetdb_clean
+%attr(755,root,root) %{_bindir}/kismetdb_dump_devices
+%attr(755,root,root) %{_bindir}/kismetdb_statistics
+%attr(755,root,root) %{_bindir}/kismetdb_strip_packets
+%attr(755,root,root) %{_bindir}/kismetdb_to_gpx
+%attr(755,root,root) %{_bindir}/kismetdb_to_kml
+%attr(755,root,root) %{_bindir}/kismetdb_to_pcap
+%attr(755,root,root) %{_bindir}/kismetdb_to_wiglecsv
%{_datadir}/%{name}
-%{_mandir}/man1/kismet.1*
-%{_mandir}/man1/kismet_drone.1*
-%{_mandir}/man5/kismet.conf.5*
-%{_mandir}/man5/kismet_drone.conf.5*
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet.conf
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/kismet_drone.conf
%dir %{_libdir}/kismet
-%dir %{_libdir}/kismet_client
-%attr(755,root,root) %{_libdir}/kismet/aircrack-kismet.so
-%attr(755,root,root) %{_libdir}/kismet/autowep-kismet.so
-%attr(755,root,root) %{_libdir}/kismet/btscan.so
-%attr(755,root,root) %{_libdir}/kismet/spectool_net.so
-%attr(755,root,root) %{_libdir}/kismet_client/btscan_ui.so
-%attr(755,root,root) %{_libdir}/kismet_client/spectools_ui.so
-
-# TODO: kismet group
-%dir %attr(770,root,adm) /var/log/%{name}
+%dir %{_libdir}/kismet/alertsyslog
+%attr(755,root,root) %{_libdir}/kismet/alertsyslog/alertsyslog.so
+%{_libdir}/kismet/alertsyslog/manifest.conf
+%{_libdir}/kismet/dashboard
+%{py3_sitescriptdir}/KismetCapture*