From: Stuart Henderson Subject: Re: MAINTAINER UPDATE net/kismet To: Sebastian Reitenbach Cc: ports , mihscu@gmail.com Date: Sun, 18 Jan 2026 14:56:19 +0000 On 2026/01/17 17:20, Sebastian Reitenbach wrote: commentary inline, updated diff below >            C++ Library: stdc++ alarm bells here, libstdc++ is wrong for amd64 | -V= 2016-07-R1 | -DISTNAME= kismet-${V} | -PKGNAME= kismet-${V:S,-,,g} | +V= 2025-09-R1 | +DISTNAME= kismet-${V} | +PKGNAME= kismet-${V:S,-,,g} | +CATEGORIES= net security | CATEGORIES= net security | -REVISION= 1 | | -HOMEPAGE= https://www.kismetwireless.net/ | -SITES= ${HOMEPAGE}code/ | -EXTRACT_SUFX= .tar.xz | +HOMEPAGE= https://www.kismetwireless.net/ | +SITES= ${HOMEPAGE}code/ | +EXTRACT_SUFX= .tar.xz these replace correct tabs with spaces, should go back to tabs CATEGORIES is doubled | -WANTLIB+= c m panel pcap ${COMPILER_LIBCXX} curses util pcre | -LIB_DEPENDS= devel/pcre | -RUN_DEPENDS= net/wireshark,-text | +WANTLIB+= c m pcap ${COMPILER_LIBCXX} util | +WANTLIB += crypto rtlsdr | +WANTLIB += pcre2-8 sqlite3 ssl | +WANTLIB += websockets z atomic usb-1.0 | +WANTLIB += mosquitto WANTLIB could do with being more neat libatomic is for GCC, this needs patching (I opted to disable by default in autoconf and add it for ports-gcc builds; might actually only be needed on a subset of archs though) | +LIB_DEPENDS= comms/rtl-sdr \ | + lang/gcc/8,-libs \ gcc libs should not be listed directly. if it's needed e.g. on ports-gcc archs it should come from the gcc module. | + net/mosquitto \ | + www/libwebsockets | +RUN_DEPENDS= comms/rtl_433 \ | + devel/py-protobuf${MODPY_FLAVOR} \ MODPY_FLAVOR is no more | + net/wireshark,-text \ | + net/py-websockets | | .include | | -post-configure: | - ${SUBST_CMD} ${WRKSRC}/conf/kismet.conf \ | - ${WRKSRC}/man/kismet_drone.conf.5 | - cd ${WRKSRC} && ${GMAKE} depend | - | post-install: | ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/kismet | - ${INSTALL_DATA} ${WRKSRC}/README \ | + ${INSTALL_DATA} ${WRKSRC}/README.SSL \ | ${PREFIX}/share/doc/kismet have left for now but I don't think that file is really worth installing | @cd ${WRKSRC} && ${GMAKE} binsuidinstall set INSTALL_TARGET instead | +- // rtl_433 -F json -M level -d X -f Y [additional] | +- unsigned int num_args = 9; | ++ // rtl_433 -F json -M level -s 1024k -d X -f Y [additional] | ++ unsigned int num_args = 11; | + | + // Channel, if any | + char *channel = NULL; | +@@ -452,6 +452,8 @@ int open_callback(kis_capture_handler_t *caph, uint32_ | + local433->rtl_argv[n++] = strdup("json"); | + local433->rtl_argv[n++] = strdup("-M"); | + local433->rtl_argv[n++] = strdup("level"); | ++ local433->rtl_argv[n++] = strdup("-s"); | ++ local433->rtl_argv[n++] = strdup("1024k"); I haven't touched this but would it be better to patch in rtl_433? | +lib/pkgconfig/kismet.pc I haven't touched this yet, but VERSION is broken, they forgot to run tools/mkversion.sh before rolling release tarballs | --- /dev/null 1 Jan 1970 00:00:00 -0000 | +++ pkg/README 17 Jan 2026 16:14:55 -0000 remember to regen PLIST after adding a readme updated diff below, fixing the above plus a few other little bits, does this still work for you? Index: Makefile =================================================================== RCS file: /cvs/ports/net/kismet/Makefile,v diff -u -p -r1.53 Makefile --- Makefile 27 Sep 2023 14:18:12 -0000 1.53 +++ Makefile 18 Jan 2026 14:52:55 -0000 @@ -1,16 +1,11 @@ -# Much help came from Alexandre Anriot, Robert Nagy, Bernd Ahlers, -# and, last but not least, Pedro la Peu. +DPB_PROPERTIES= parallel COMMENT= 802.11 layer2 wireless network detector, sniffer, and IDS -# No wireless capabilities -NOT_FOR_ARCHS= m88k - -V= 2016-07-R1 +V= 2025-09-R1 DISTNAME= kismet-${V} PKGNAME= kismet-${V:S,-,,g} CATEGORIES= net security -REVISION= 1 HOMEPAGE= https://www.kismetwireless.net/ SITES= ${HOMEPAGE}code/ @@ -18,47 +13,52 @@ EXTRACT_SUFX= .tar.xz MAINTAINER= Sebastian Reitenbach -# GPL +# GPLv2+ PERMIT_PACKAGE= Yes -COMPILER = base-clang ports-gcc base-gcc - -# "old" is required for setting --sysconfdir -CONFIGURE_STYLE= gnu old +WANTLIB += ${COMPILER_LIBCXX} c crypto m mosquitto pcap pcre2-8 +WANTLIB += rtlsdr sqlite3 ssl usb-1.0 util websockets z -CONFDIR= ${SYSCONFDIR}/kismet -SUBST_VARS+= CONFDIR +# C++20 +COMPILER= base-clang ports-gcc -CONFIGURE_ARGS= --sysconfdir=${CONFDIR} \ - --mandir=${PREFIX}/man \ - --with-suidgroup=_kismet +CONFIGURE_STYLE= autoreconf +AUTOCONF_VERSION= 2.71 +AUTOMAKE_VERSION= 1.16 +SYSCONFDIR= ${BASESYSCONFDIR}/kismet -CONFIGURE_ENV= CPPFLAGS="-I${X11BASE}/include -I${LOCALBASE}/include" \ - LDFLAGS="-L${X11BASE}/lib -L${LOCALBASE}/lib" +CONFIGURE_ARGS= --mandir=${PREFIX}/man \ + --with-suidgroup=_kismet \ + --disable-wifi-coconut -USE_GMAKE= Yes +LDFLAGS_ports-gcc= -latomic +LDFLAGS= -L${X11BASE}/lib -L${LOCALBASE}/lib ${LDFLAGS_${CHOSEN_COMPILER}} -SAMPLES_DIR= ${DESTDIR}${LOCALBASE}/share/examples/kismet -FAKE_FLAGS+= ETC=${SAMPLES_DIR} +CONFIGURE_ENV= CPPFLAGS="-I${X11BASE}/include -I${LOCALBASE}/include" \ + LDFLAGS="${LDFLAGS}" -# They don't have tests. -NO_TEST= Yes +NO_TEST= Yes +USE_GMAKE= Yes -WANTLIB+= c m panel pcap ${COMPILER_LIBCXX} curses util pcre -LIB_DEPENDS= devel/pcre -RUN_DEPENDS= net/wireshark,-text +FAKE_FLAGS+= ETC="${WRKINST}${PREFIX}/share/examples/kismet" -.include +LIB_DEPENDS= comms/rtl-sdr \ + net/mosquitto \ + www/libwebsockets +RUN_DEPENDS= comms/rtl_433 \ + devel/py-protobuf \ + net/wireshark,-text \ + net/py-websockets -post-configure: - ${SUBST_CMD} ${WRKSRC}/conf/kismet.conf \ - ${WRKSRC}/man/kismet_drone.conf.5 - cd ${WRKSRC} && ${GMAKE} depend +INSTALL_TARGET= install binsuidinstall post-install: ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/kismet - ${INSTALL_DATA} ${WRKSRC}/README \ + ${INSTALL_DATA} ${WRKSRC}/README.SSL \ ${PREFIX}/share/doc/kismet - @cd ${WRKSRC} && ${GMAKE} binsuidinstall .include + +.if ${CHOSEN_COMPILER} == ports-gcc +WANTLIB += atomic +.endif Index: distinfo =================================================================== RCS file: /cvs/ports/net/kismet/distinfo,v diff -u -p -r1.9 distinfo --- distinfo 3 Mar 2019 23:11:04 -0000 1.9 +++ distinfo 18 Jan 2026 14:52:55 -0000 @@ -1,2 +1,2 @@ -SHA256 (kismet-2016-07-R1.tar.xz) = vbIfFTMR8f87FmIb8NZ0D2Y2m/CYKwoonJoSr4hH4jc= -SIZE (kismet-2016-07-R1.tar.xz) = 709364 +SHA256 (kismet-2025-09-R1.tar.xz) = RwOlitEbd3rwQBmk8bEU7EWRwFqhymucf/V0P/PRSuE= +SIZE (kismet-2025-09-R1.tar.xz) = 11479700 Index: patches/patch-capture_framework_c =================================================================== RCS file: patches/patch-capture_framework_c diff -N patches/patch-capture_framework_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-capture_framework_c 18 Jan 2026 14:52:55 -0000 @@ -0,0 +1,13 @@ +https://github.com/kismetwireless/kismet/pull/590 + +Index: capture_framework.c +--- capture_framework.c.orig ++++ capture_framework.c +@@ -2484,6 +2484,7 @@ void ws_connect_attempt(kis_capture_handler_t *caph) { + return; + } + ++ memset(&caph->lwsci, 0, sizeof(struct lws_client_connect_info)); + caph->lwsci.context = caph->lwscontext; + caph->lwsci.port = caph->remote_port; + caph->lwsci.address = caph->remote_host; Index: patches/patch-capture_nrf_51822_nrf_51822_h =================================================================== RCS file: patches/patch-capture_nrf_51822_nrf_51822_h diff -N patches/patch-capture_nrf_51822_nrf_51822_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-capture_nrf_51822_nrf_51822_h 18 Jan 2026 14:52:55 -0000 @@ -0,0 +1,14 @@ +https://github.com/kismetwireless/kismet/pull/588 + +Index: capture_nrf_51822/nrf_51822.h +--- capture_nrf_51822/nrf_51822.h.orig ++++ capture_nrf_51822/nrf_51822.h +@@ -66,7 +66,7 @@ + #define EVENT_PACKET_ADVERTISING 0x02 + #define EVENT_PACKET_DATA 0x06 + +-#define D_BAUDRATE B1000000 ++#define D_BAUDRATE B460800 + + #define _POSIX_SOURCE 1 /* POSIX compliant source */ + Index: patches/patch-capture_openbsd_wifi_capture_openbsd_wifi_c =================================================================== RCS file: patches/patch-capture_openbsd_wifi_capture_openbsd_wifi_c diff -N patches/patch-capture_openbsd_wifi_capture_openbsd_wifi_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-capture_openbsd_wifi_capture_openbsd_wifi_c 18 Jan 2026 14:52:55 -0000 @@ -0,0 +1,60 @@ +https://github.com/kismetwireless/kismet/pull/581 +Index: capture_openbsd_wifi/capture_openbsd_wifi.c +--- capture_openbsd_wifi/capture_openbsd_wifi.c.orig ++++ capture_openbsd_wifi/capture_openbsd_wifi.c +@@ -686,7 +686,7 @@ enum wifi_chan_band wifi_freq_to_band(unsigned int in_ + + /* Convert a string into a local interpretation; allocate ret_localchan. + */ +-void *chantranslate_callback(kis_capture_handler_t *caph, char *chanstr) { ++void *chantranslate_callback(kis_capture_handler_t *caph, const char *chanstr) { + local_wifi_t *local_wifi = (local_wifi_t *) caph->userdata; + local_channel_t *ret_localchan = NULL; + unsigned int parsechan; +@@ -786,7 +786,7 @@ int chancontrol_callback(kis_capture_handler_t *caph, + /* Send a config response with a reconstituted channel if we're + * configuring the interface; re-use errstr as a buffer */ + local_channel_to_str(channel, errstr); +- cf_send_configresp(caph, seqno, 1, NULL, errstr); ++ cf_send_configresp(caph, seqno, 1, errstr); + } + + return 1; +@@ -794,7 +794,7 @@ int chancontrol_callback(kis_capture_handler_t *caph, + + + int probe_callback(kis_capture_handler_t *caph, uint32_t seqno, char *definition, +- char *msg, char **uuid, KismetExternal__Command *frame, ++ char *msg, char **uuid, + cf_params_interface_t **ret_interface, + cf_params_spectrum_t **ret_spectrum) { + return 1; +@@ -814,7 +814,7 @@ int build_explicit_filters(char **stringmacs, int num_ + + + int open_callback(kis_capture_handler_t *caph, uint32_t seqno, char *definition, +- char *msg, uint32_t *dlt, char **uuid, KismetExternal__Command *frame, ++ char *msg, uint32_t *dlt, char **uuid, + cf_params_interface_t **ret_interface, + cf_params_spectrum_t **ret_spectrum) { + /* Try to open an interface for monitoring +@@ -1497,11 +1497,14 @@ void pcap_dispatch_cb(u_char *user, const struct pcap_ + ts.tv_sec = header->ts.tv_sec; + ts.tv_usec = header->ts.tv_usec; + while (1) { +- if ((ret = cf_send_data(caph, +- NULL, NULL, NULL, +- ts, +- local_wifi->datalink_type, +- header->caplen, (uint8_t *) data)) < 0) { ++ if ((ret = cf_send_data(caph, ++ NULL, 0, ++ NULL, NULL, ++ ts, ++ local_wifi->datalink_type, ++ header->len, ++ header->caplen, ++ (uint8_t *) data)) < 0) { + pcap_breakloop(local_wifi->pd); + fprintf(stderr, "%s %s/%s could not send packet to Kismet server, terminating.", + local_wifi->name, local_wifi->interface, local_wifi->cap_interface); Index: patches/patch-capture_sdr_rtl433_v2_capture_sdr_rtl433_v2_c =================================================================== RCS file: patches/patch-capture_sdr_rtl433_v2_capture_sdr_rtl433_v2_c diff -N patches/patch-capture_sdr_rtl433_v2_capture_sdr_rtl433_v2_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-capture_sdr_rtl433_v2_capture_sdr_rtl433_v2_c 18 Jan 2026 14:52:55 -0000 @@ -0,0 +1,35 @@ +https://github.com/kismetwireless/kismet/pull/593 +https://github.com/kismetwireless/kismet/pull/594 + +Index: capture_sdr_rtl433_v2/capture_sdr_rtl433_v2.c +--- capture_sdr_rtl433_v2/capture_sdr_rtl433_v2.c.orig ++++ capture_sdr_rtl433_v2/capture_sdr_rtl433_v2.c +@@ -342,8 +342,8 @@ int open_callback(kis_capture_handler_t *caph, uint32_ + + char buf[STATUS_MAX]; + +- // rtl_433 -F json -M level -d X -f Y [additional] +- unsigned int num_args = 9; ++ // rtl_433 -F json -M level -s 1024k -d X -f Y [additional] ++ unsigned int num_args = 11; + + // Channel, if any + char *channel = NULL; +@@ -452,6 +452,8 @@ int open_callback(kis_capture_handler_t *caph, uint32_ + local433->rtl_argv[n++] = strdup("json"); + local433->rtl_argv[n++] = strdup("-M"); + local433->rtl_argv[n++] = strdup("level"); ++ local433->rtl_argv[n++] = strdup("-s"); ++ local433->rtl_argv[n++] = strdup("1024k"); + local433->rtl_argv[n++] = strdup("-f"); + snprintf(buf, STATUS_MAX, "%lu", local433->freq); + local433->rtl_argv[n++] = strdup(buf); +@@ -488,8 +490,6 @@ void capture_thread(kis_capture_handler_t *caph) { + + wrap_cond_wait(&local433->rtl433_valid_cond, + &local433->rtl433_valid_cond_mutex); +- pthread_mutex_unlock(&local433->rtl433_valid_cond_mutex); +- + } + + int main(int argc, char *argv[]) { Index: patches/patch-capture_sdr_rtladsb_v2_capture_sdr_rtladsb_v2_c =================================================================== RCS file: patches/patch-capture_sdr_rtladsb_v2_capture_sdr_rtladsb_v2_c diff -N patches/patch-capture_sdr_rtladsb_v2_capture_sdr_rtladsb_v2_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-capture_sdr_rtladsb_v2_capture_sdr_rtladsb_v2_c 18 Jan 2026 14:52:55 -0000 @@ -0,0 +1,43 @@ +https://github.com/kismetwireless/kismet/pull/591 + +Index: capture_sdr_rtladsb_v2/capture_sdr_rtladsb_v2.c +--- capture_sdr_rtladsb_v2/capture_sdr_rtladsb_v2.c.orig ++++ capture_sdr_rtladsb_v2/capture_sdr_rtladsb_v2.c +@@ -453,13 +453,12 @@ static void rtlsdr_callback(unsigned char *buf, uint32 + kis_capture_handler_t *caph = (kis_capture_handler_t *) ctx; + local_adsb_t *adsb = (local_adsb_t *) caph->userdata; + +- if (caph->spindown || adsb->do_exit) { +- return; +- } ++ if (caph->spindown || adsb->do_exit) return; + ++ pthread_mutex_lock(&adsb->ready_mutex); + memcpy(adsb->buffer, buf, len); +- +- wrap_cond_signal(&adsb->ready, &adsb->ready_mutex); ++ pthread_cond_signal(&adsb->ready); ++ pthread_mutex_unlock(&adsb->ready_mutex); + } + + static void *rtlsdr_demod_thread(void *arg) { +@@ -467,15 +466,16 @@ static void *rtlsdr_demod_thread(void *arg) { + local_adsb_t *adsb = (local_adsb_t *) caph->userdata; + + int len; +- + while (!caph->spindown && !adsb->do_exit) { +- wrap_cond_wait(&adsb->ready, &adsb->ready_mutex); ++ pthread_mutex_lock(&adsb->ready_mutex); ++ pthread_cond_wait(&adsb->ready, &adsb->ready_mutex); ++ + len = magnitude(caph, adsb->buffer, DEFAULT_BUF_LENGTH); + manchester(caph, (uint16_t *) adsb->buffer, len); + messages(caph, (uint16_t *) adsb->buffer, len); ++ + pthread_mutex_unlock(&adsb->ready_mutex); + } +- + rtlsdr_cancel_async(adsb->dev); + return NULL; + } Index: patches/patch-conf_kismet_conf_in =================================================================== RCS file: patches/patch-conf_kismet_conf_in diff -N patches/patch-conf_kismet_conf_in --- patches/patch-conf_kismet_conf_in 11 Mar 2022 19:46:11 -0000 1.8 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,44 +0,0 @@ -Index: conf/kismet.conf.in ---- conf/kismet.conf.in.orig -+++ conf/kismet.conf.in -@@ -11,7 +11,7 @@ version=2009-newcore - # servername=Kismet Server - - # Prefix of where we log (as used in the logtemplate later) --# logprefix=/some/path/to/logs -+logprefix=${LOCALSTATEDIR}/log/kismet - - # Do we process the contents of data frames? If this is enabled, data - # frames will be truncated to the headers only immediately after frame type -@@ -30,6 +30,8 @@ allowplugins=true - # ncsource=wlan0 - # ncsource=wifi0:type=madwifi - # ncsource=wlan0:name=intel,hop=false,channel=11 -+# Generic OpenBSD example -+# ncsource=rum0:type=radiotap_bsd - - # Comma-separated list of sources to enable. This is only needed if you defined - # multiple sources and only want to enable some of them. By default, all defined -@@ -122,10 +124,7 @@ maxbacklog=5000 - # OUI file, expected format 00:11:22manufname - # IEEE OUI file used to look up manufacturer info. We default to the - # wireshark one since most people have that. --ouifile=/etc/manuf --ouifile=/usr/share/wireshark/wireshark/manuf --ouifile=/usr/share/wireshark/manuf --ouifile=/Applications/Wireshark.app/Contents/Resources/share/wireshark/manuf -+ouifile=${LOCALBASE}/share/wireshark/manuf - - # Do we have a GPS? - gps=true -@@ -278,8 +277,8 @@ alertbacklog=50 - logtypes=pcapdump,gpsxml,netxml,nettxt,alert - - # Format of the pcap dump (PPI or 80211) --pcapdumpformat=ppi --# pcapdumpformat=80211 -+# pcapdumpformat=ppi -+pcapdumpformat=80211 - - # Default log title - logdefault=Kismet Index: patches/patch-config_h_in =================================================================== RCS file: patches/patch-config_h_in diff -N patches/patch-config_h_in --- patches/patch-config_h_in 11 Mar 2022 19:46:11 -0000 1.3 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -shut up: -warning: using directive refers to implicitly-defined namespace 'std' - -Index: config.h.in ---- config.h.in.orig -+++ config.h.in -@@ -317,6 +317,7 @@ - - /* Namespace (on non-obj-c files) */ - #ifndef __IN_OBJC_FILE__ -+#include - using namespace std; - #define __STL_USE_NAMESPACES - #endif Index: patches/patch-configure_ac =================================================================== RCS file: patches/patch-configure_ac diff -N patches/patch-configure_ac --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-configure_ac 18 Jan 2026 14:52:55 -0000 @@ -0,0 +1,61 @@ +- don't force -O3 +- GCC's libatomic should not be pulled in just because it exists +- libstdc++ should n9t be explicitly linked (use "c++" as a linker instead) + +Index: configure.ac +--- configure.ac.orig ++++ configure.ac +@@ -228,9 +228,6 @@ AS_IF([test x"$GCC_MAJOR" = x"13" -o x"$GCC_MAJOR" = x + + AC_SUBST(PLUGINLDFLAGS) + +-CXXFLAGS="$CXXFLAGS -O3" +-CFLAGS="$CFLAGS -O3" +- + AC_CONFIG_SRCDIR([kismet_server.cc]) + AC_CONFIG_HEADERS([config.h]) + +@@ -637,22 +634,6 @@ AC_CHECK_LIB([z], [deflate], + AC_MSG_ERROR([libz is required and could not be found])) + LIBS="$LIBS -lz" + +-# Do we need -latomic +-AC_MSG_CHECKING([for libatomic]) +-OLIBS="$LIBS" +-LIBS="$LIBS -latomic" +-AC_LINK_IFELSE([AC_LANG_PROGRAM([[ +- ]], +- [[ +- return 0; +- ]] )], [have_atomic=yes], [have_atomic=no]) +-if test "$have_atomic" = "yes"; then +- AC_MSG_RESULT([yes]) +-else +- AC_MSG_RESULT([no]) +- LIBS="$OLIBS" +-fi +- + # We need threads + PTHREAD_CFLAGS="-pthread" + PTHREAD_LIBS="-lpthread" +@@ -700,19 +681,7 @@ else + AC_SUBST(LIBMLIB) + fi + +-# Do we use libstdc++? +-# We need to swap to the g++ compiler here +-oCC="$CC" +-CC="$CXX" +-AC_CHECK_LIB([stdc++], [main], +- foundcxxl="stdc++" CXXLIBS="$CXXLIBS -lstdc++") +- +-AS_IF([test "$foundcxxl"x = "x" -a "$caponly"x != "yes"x], +- [ +- AC_MSG_ERROR(No standard stdc++ libraries found.) +- ], [] +-) +-CC="$oCC" ++CXXLIBS= + AC_SUBST(CXXLIBS) + + # Does the compiler handle various std::foo namespaces properly? Index: patches/patch-kaitaistream_cc =================================================================== RCS file: patches/patch-kaitaistream_cc diff -N patches/patch-kaitaistream_cc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-kaitaistream_cc 18 Jan 2026 14:52:55 -0000 @@ -0,0 +1,21 @@ +https://github.com/kismetwireless/kismet/pull/592 + +Index: kaitaistream.cc +--- kaitaistream.cc.orig ++++ kaitaistream.cc +@@ -35,9 +35,15 @@ + // Supposed to work on NetBSD: https://man.netbsd.org/NetBSD-10.0/bswap16.3 + #include + #include ++#if defined(__OpenBSD__) ++#define bswap_16(x) swap16(x) ++#define bswap_32(x) swap32(x) ++#define bswap_64(x) swap64(x) ++#else + #define bswap_16(x) bswap16(x) + #define bswap_32(x) bswap32(x) + #define bswap_64(x) bswap64(x) ++#endif + #define __BYTE_ORDER BYTE_ORDER + #define __BIG_ENDIAN BIG_ENDIAN + #define __LITTLE_ENDIAN LITTLE_ENDIAN Index: patches/patch-kis_panel_widgets_cc =================================================================== RCS file: patches/patch-kis_panel_widgets_cc diff -N patches/patch-kis_panel_widgets_cc --- patches/patch-kis_panel_widgets_cc 11 Mar 2022 19:46:11 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -explicitly cast - -Index: kis_panel_widgets.cc ---- kis_panel_widgets.cc.orig -+++ kis_panel_widgets.cc -@@ -2582,7 +2582,7 @@ int Kis_Single_Input::KeyPress(int in_key) { - // and if we have room, insert it and scroll to the right - if ((int) text.length() < max_len && - filter_map.find(in_key) != filter_map.end()) { -- char ins[2] = { in_key, 0 }; -+ char ins[2] = { (char)in_key, 0 }; - text.insert(inp_pos, ins); - inp_pos++; - Index: patches/patch-macaddr_h =================================================================== RCS file: patches/patch-macaddr_h diff -N patches/patch-macaddr_h --- patches/patch-macaddr_h 11 Mar 2022 19:46:11 -0000 1.5 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -silence clan warning - -Index: macaddr.h ---- macaddr.h.orig -+++ macaddr.h -@@ -185,7 +185,7 @@ struct mac_addr { - } - - inline mac_addr(int in) { -- in = in; // Silence gcc -+ static_cast(in); - longmac = 0; - longmask = 0; - error = 0; Index: patches/patch-man_kismet_drone_conf_5 =================================================================== RCS file: patches/patch-man_kismet_drone_conf_5 diff -N patches/patch-man_kismet_drone_conf_5 --- patches/patch-man_kismet_drone_conf_5 11 Mar 2022 19:46:11 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -Index: man/kismet_drone.conf.5 ---- man/kismet_drone.conf.5.orig -+++ man/kismet_drone.conf.5 -@@ -6,7 +6,7 @@ - .SH DESCRIPTION - kismet_drone uses a minimalized configuration file, similar in options to the - main kismet server configuration file. By default, the drone config is in --/usr/local/etc/kismet.conf. A default configuration is included with Kismet but -+${SYSCONFDIR}/kismet/kismet.conf. A default configuration is included with Kismet but - it is likely you will need to modify it to suit your hardware and preferences. - .SH CONFIGURATION FILE FORMAT - All entries are of the format directive = value Index: patches/patch-netracker_h =================================================================== RCS file: patches/patch-netracker_h diff -N patches/patch-netracker_h --- patches/patch-netracker_h 11 Mar 2022 19:46:11 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,15 +0,0 @@ -it's forward declared twice - -Index: netracker.h ---- netracker.h.orig -+++ netracker.h -@@ -306,9 +306,6 @@ class Netracker { (public) - int dirty; - }; - -- // Fwd def for our map -- class tracked_client; -- - class ssid_alert_data { - public: - ssid_alert_data() { Index: patches/patch-packetsource_bsdrt_cc =================================================================== RCS file: patches/patch-packetsource_bsdrt_cc diff -N patches/patch-packetsource_bsdrt_cc --- patches/patch-packetsource_bsdrt_cc 11 Mar 2022 19:46:11 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,36 +0,0 @@ -IFM_MAKEMODE is not defined on OpenBSD, just copying it from Linux -doesn't help, since our IFM_MSHIFT etc. operate on ULL, but mode -apparently only is of type int - -Index: packetsource_bsdrt.cc ---- packetsource_bsdrt.cc.orig -+++ packetsource_bsdrt.cc -@@ -138,7 +138,7 @@ int Radiotap_BSD_Controller::GetMediaOpt(int& options, - int Radiotap_BSD_Controller::SetMediaOpt(int options, int mode) { - struct ifmediareq ifmr; - struct ifreq ifr; -- int *mwords; -+ uint64_t *mwords; - - if (CheckSocket() == 0) - return 0; -@@ -160,7 +160,7 @@ int Radiotap_BSD_Controller::SetMediaOpt(int options, - return 0; - } - -- mwords = new int[ifmr.ifm_count]; -+ mwords = new uint64_t[ifmr.ifm_count]; - if (mwords == NULL) { - _MSG("BSD interface control cannot malloc interface array, out of " - "memory or other badness.", MSGFLAG_PRINTERROR); -@@ -179,6 +179,10 @@ int Radiotap_BSD_Controller::SetMediaOpt(int options, - memset(&ifr, 0, sizeof(ifr)); - strncpy(ifr.ifr_name, dev.c_str(), sizeof(ifr.ifr_name)); - ifr.ifr_media = (ifmr.ifm_current &~ IFM_OMASK) | options; -+#ifndef IFM_MAKEMODE -+#define IFM_MAKEMODE(mode) \ -+ ((((unsigned long long)mode) << IFM_MSHIFT) & IFM_MMASK) -+#endif - ifr.ifr_media = (ifr.ifr_media &~ IFM_MMASK) | IFM_MAKEMODE(mode); - - if (ioctl(sock, SIOCSIFMEDIA, (caddr_t) &ifr) < 0) { Index: patches/patch-packetsource_pcap_cc =================================================================== RCS file: patches/patch-packetsource_pcap_cc diff -N patches/patch-packetsource_pcap_cc --- patches/patch-packetsource_pcap_cc 11 Mar 2022 19:46:11 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,14 +0,0 @@ -Index: packetsource_pcap.cc ---- packetsource_pcap.cc.orig -+++ packetsource_pcap.cc -@@ -60,6 +60,10 @@ extern "C" { - #include - #include - -+#ifndef IEEE80211_CHAN_TURBO -+#define IEEE80211_CHAN_TURBO 0x0010 -+#endif -+ - #ifdef HAVE_RADIOTAP - #include - #include Index: patches/patch-tcpclient_cc =================================================================== RCS file: patches/patch-tcpclient_cc diff -N patches/patch-tcpclient_cc --- patches/patch-tcpclient_cc 11 Mar 2022 19:46:11 -0000 1.5 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,21 +0,0 @@ -Index: tcpclient.cc ---- tcpclient.cc.orig -+++ tcpclient.cc -@@ -75,7 +75,7 @@ int TcpClient::Connect(const char *in_remotehost, shor - local_sock.sin_addr.s_addr = htonl(INADDR_ANY); - local_sock.sin_port = htons(0); - -- if (bind(cli_fd, (struct sockaddr *) &local_sock, sizeof(local_sock)) < 0) { -+ if (::bind(cli_fd, (struct sockaddr *) &local_sock, sizeof(local_sock)) < 0) { - snprintf(errstr, 1024, "TCP client bind() failed: %s", strerror(errno)); - globalreg->messagebus->InjectMessage(errstr, MSGFLAG_ERROR); - close(cli_fd); -@@ -170,7 +170,7 @@ int TcpClient::ConnectSync(const char *in_remotehost, - local_sock.sin_addr.s_addr = htonl(INADDR_ANY); - local_sock.sin_port = htons(0); - -- if (bind(cli_fd, (struct sockaddr *) &local_sock, sizeof(local_sock)) < 0) { -+ if (::bind(cli_fd, (struct sockaddr *) &local_sock, sizeof(local_sock)) < 0) { - snprintf(errstr, 1024, "TCP client bind() failed: %s", strerror(errno)); - globalreg->messagebus->InjectMessage(errstr, MSGFLAG_ERROR); - close(cli_fd); Index: patches/patch-tcpserver_cc =================================================================== RCS file: patches/patch-tcpserver_cc diff -N patches/patch-tcpserver_cc --- patches/patch-tcpserver_cc 11 Mar 2022 19:46:11 -0000 1.6 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -Index: tcpserver.cc ---- tcpserver.cc.orig -+++ tcpserver.cc -@@ -84,7 +84,7 @@ int TcpServer::EnableServer() { - } - - // Bind the socket -- if (bind(serv_fd, (struct sockaddr *) &serv_sock, sizeof(serv_sock)) < 0) { -+ if (::bind(serv_fd, (struct sockaddr *) &serv_sock, sizeof(serv_sock)) < 0) { - snprintf(errstr, STATUS_MAX, "TCP server bind() failed: %s", - strerror(errno)); - globalreg->messagebus->InjectMessage(errstr, MSGFLAG_ERROR); Index: patches/patch-unixdomainserver_cc =================================================================== RCS file: patches/patch-unixdomainserver_cc diff -N patches/patch-unixdomainserver_cc --- patches/patch-unixdomainserver_cc 11 Mar 2022 19:46:11 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,12 +0,0 @@ -Index: unixdomainserver.cc ---- unixdomainserver.cc.orig -+++ unixdomainserver.cc -@@ -64,7 +64,7 @@ int UnixDomainServer::EnableServer() { - } - - // Bind the socket -- if (bind(serv_fd, (struct sockaddr *) &serv_sock, sizeof(serv_sock)) < 0) { -+ if (::bind(serv_fd, (struct sockaddr *) &serv_sock, sizeof(serv_sock)) < 0) { - _MSG("Unix domain server bind() failed: " + string(strerror(errno)), - MSGFLAG_ERROR); - return -1; Index: patches/patch-uuid_h =================================================================== RCS file: patches/patch-uuid_h diff -N patches/patch-uuid_h --- patches/patch-uuid_h 11 Mar 2022 19:46:11 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,16 +0,0 @@ -silence warnings - -Index: uuid.h ---- uuid.h.orig -+++ uuid.h -@@ -113,7 +113,9 @@ class uuid { (public) - char ids[38]; - snprintf(ids, 38, "%08x-%04hx-%04hx-%04hx-%02hx%02hx%02hx%02hx%02hx%02hx", - (unsigned int) *time_low, *time_mid, *time_hi, *clock_seq, -- node[0], node[1], node[2], node[3], node[4], node[5]); -+ (unsigned short)node[0], (unsigned short)node[1], -+ (unsigned short)node[2], (unsigned short)node[3], -+ (unsigned short)node[4], (unsigned short)node[5]); - return string(ids); - } - Index: pkg/DESCR =================================================================== RCS file: /cvs/ports/net/kismet/pkg/DESCR,v diff -u -p -r1.3 DESCR --- pkg/DESCR 3 Mar 2019 23:11:04 -0000 1.3 +++ pkg/DESCR 18 Jan 2026 14:52:55 -0000 @@ -1,9 +1,6 @@ -Kismet is an 802.11 layer2 wireless network detector, sniffer, and -intrusion detection system. Kismet will work with any wireless card -which supports raw monitoring (rfmon) mode, and can sniff 802.11b, -802.11a, and 802.11g traffic. +Kismet is an open source sniffer, WIDS, wardriver, and packet capture +tool for Wi-Fi, Bluetooth, BTLE, wireless thermometers, airplanes, power +meters, Zigbee, and more. -Kismet identifies networks by passively collecting packets and detecting -standard named networks, detecting (and given time, decloaking) hidden -networks, and infering the presence of nonbeaconing networks via data -traffic. +Kismet can operate both headless as a standalone capture and WIDS +system, or with a full modern web-based UI. Index: pkg/MESSAGE =================================================================== RCS file: /cvs/ports/net/kismet/pkg/MESSAGE,v diff -u -p -r1.3 MESSAGE --- pkg/MESSAGE 3 Mar 2019 23:11:04 -0000 1.3 +++ pkg/MESSAGE 18 Jan 2026 14:52:55 -0000 @@ -1,4 +1,4 @@ -${PREFIX}/bin/kismet_capture has been installed setuid root, with read/execute +${PREFIX}/bin/kismet_cap_* have been installed setuid root, with read/execute access granted only to users in the _kismet group. For normal interactive use of Kismet, add your username to this group: Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/net/kismet/pkg/PLIST,v diff -u -p -r1.5 PLIST --- pkg/PLIST 8 Nov 2022 11:14:58 -0000 1.5 +++ pkg/PLIST 18 Jan 2026 14:52:55 -0000 @@ -1,44 +1,236 @@ +@conflict kismet-gpsmap-* @pkgpath net/kismet @pkgpath net/kismet,-main @pkgpath net/kismet,-gpsmap -@conflict kismet-gpsmap-* @newgroup _kismet:547 -@newuser _kismet:547:_kismet::Kismet WLAN detector:/nonexistent:/sbin/nologin -bin/kismet +@newuser _kismet:547:_kismet::Kismet Wireless detector:/nonexistent:/sbin/nologin +@bin bin/kismet +@bin bin/kismet_cap_antsdr_droneid +@mode 4550 +@group _kismet +@bin bin/kismet_cap_freaklabs_zigbee +@mode +@group +@bin bin/kismet_cap_kismetdb +@mode 4550 +@group _kismet +@bin bin/kismet_cap_nrf_51822 +@bin bin/kismet_cap_nrf_52840 +@bin bin/kismet_cap_nrf_mousejack +@bin bin/kismet_cap_nxp_kw41z +@bin bin/kismet_cap_openbsd_wifi +@mode +@group +@bin bin/kismet_cap_pcapfile +@mode 4550 +@group _kismet +@bin bin/kismet_cap_radiacode_usb +@bin bin/kismet_cap_rz_killerbee +@bin bin/kismet_cap_sdr_rtl433 +@bin bin/kismet_cap_sdr_rtladsb +@mode +@group +@bin bin/kismet_cap_serial_radview @mode 4550 @group _kismet -@bin bin/kismet_capture +@bin bin/kismet_cap_ti_cc_2531 +@bin bin/kismet_cap_ti_cc_2540 @mode @group -@bin bin/kismet_client -@bin bin/kismet_drone -@bin bin/kismet_server -@man man/man1/kismet.1 -@man man/man1/kismet_drone.1 -@man man/man5/kismet.conf.5 -@man man/man5/kismet_drone.conf.5 +@bin bin/kismet_discovery +bin/kismet_server +@bin bin/kismetdb_clean +@bin bin/kismetdb_dump_devices +@bin bin/kismetdb_statistics +@bin bin/kismetdb_strip_packets +@bin bin/kismetdb_to_gpx +@bin bin/kismetdb_to_kml +@bin bin/kismetdb_to_pcap +@bin bin/kismetdb_to_wiglecsv +lib/pkgconfig/kismet.pc share/doc/kismet/ -share/doc/kismet/README +share/doc/kismet/README.SSL +share/doc/pkg-readmes/${PKGSTEM} share/examples/kismet/ @mode 770 -@sample ${CONFDIR}/ +@sample ${SYSCONFDIR}/ @mode share/examples/kismet/kismet.conf -@sample ${CONFDIR}/kismet.conf -share/examples/kismet/kismet_drone.conf -@sample ${CONFDIR}/kismet_drone.conf +@sample ${SYSCONFDIR}/kismet.conf +share/examples/kismet/kismet_80211.conf +@sample ${SYSCONFDIR}/kismet_80211.conf +share/examples/kismet/kismet_alerts.conf +@sample ${SYSCONFDIR}/kismet_alerts.conf +share/examples/kismet/kismet_filter.conf +@sample ${SYSCONFDIR}/kismet_filter.conf +share/examples/kismet/kismet_httpd.conf +@sample ${SYSCONFDIR}/kismet_httpd.conf +share/examples/kismet/kismet_logging.conf +@sample ${SYSCONFDIR}/kismet_logging.conf +share/examples/kismet/kismet_memory.conf +@sample ${SYSCONFDIR}/kismet_memory.conf +share/examples/kismet/kismet_uav.conf +@sample ${SYSCONFDIR}/kismet_uav.conf +share/examples/kismet/kismet_wardrive.conf +@sample ${SYSCONFDIR}/kismet_wardrive.conf share/kismet/ -share/kismet/wav/ -share/kismet/wav/alert.wav @mode 770 @owner _kismet @group _kismet @sample /var/log/kismet/ +@extraunexec rm -rf ${LOCALSTATEDIR}/log/kismet @mode @owner @group -share/kismet/wav/gpslock.wav -share/kismet/wav/gpslost.wav -share/kismet/wav/new.wav -share/kismet/wav/packet.wav -@extraunexec rm -rf ${LOCALSTATEDIR}/log/kismet +share/kismet/httpd/ +share/kismet/httpd/channels.html +share/kismet/httpd/credit.html +share/kismet/httpd/css/ +share/kismet/httpd/css/Control.Loading.css +share/kismet/httpd/css/dark.css +share/kismet/httpd/css/fontawesome.min.css +share/kismet/httpd/css/grid.css +share/kismet/httpd/css/ie.css +share/kismet/httpd/css/ie6.css +share/kismet/httpd/css/images/ +share/kismet/httpd/css/images/collapsed.gif +share/kismet/httpd/css/images/expanded.gif +share/kismet/httpd/css/images/ui-icons_222222_256x240.png +share/kismet/httpd/css/images/ui-icons_444444_256x240.png +share/kismet/httpd/css/images/ui-icons_4b8e0b_256x240.png +share/kismet/httpd/css/images/ui-icons_555555_256x240.png +share/kismet/httpd/css/images/ui-icons_777620_256x240.png +share/kismet/httpd/css/images/ui-icons_777777_256x240.png +share/kismet/httpd/css/images/ui-icons_a83300_256x240.png +share/kismet/httpd/css/images/ui-icons_cc0000_256x240.png +share/kismet/httpd/css/images/ui-icons_cccccc_256x240.png +share/kismet/httpd/css/images/ui-icons_ffffff_256x240.png +share/kismet/httpd/css/images/uiTabsArrow.png +share/kismet/httpd/css/jquery-ui.min.css +share/kismet/httpd/css/jquery.contextMenu.min.css +share/kismet/httpd/css/jquery.jspanel.min.css +share/kismet/httpd/css/jquery.kismet.alert.css +share/kismet/httpd/css/jquery.kismet.auth.css +share/kismet/httpd/css/jquery.kismet.battery.css +share/kismet/httpd/css/jquery.kismet.channeldisplay.css +share/kismet/httpd/css/jquery.kismet.gps.css +share/kismet/httpd/css/jquery.kismet.messagebus.css +share/kismet/httpd/css/jqueryui-editable.css +share/kismet/httpd/css/kismet-dark.css +share/kismet/httpd/css/kismet.adsb.css +share/kismet/httpd/css/kismet.css +share/kismet/httpd/css/kismet.ui.base.css +share/kismet/httpd/css/kismet.ui.datasources.css +share/kismet/httpd/css/kismet.ui.gadgets.css +share/kismet/httpd/css/kismet.ui.iconbar.css +share/kismet/httpd/css/kismet.ui.radiation.css +share/kismet/httpd/css/kismet.ui.settings.css +share/kismet/httpd/css/kismet.ui.sidebar.css +share/kismet/httpd/css/kismet.ui.tabpane.css +share/kismet/httpd/css/layout-default-1.4.0.css +share/kismet/httpd/css/layout.css +share/kismet/httpd/css/leaflet.css +share/kismet/httpd/css/light.css +share/kismet/httpd/css/morris.css +share/kismet/httpd/css/nav.css +share/kismet/httpd/css/pushmenu.css +share/kismet/httpd/css/regular.min.css +share/kismet/httpd/css/reset.css +share/kismet/httpd/css/solid.min.css +share/kismet/httpd/css/spectrum.css +share/kismet/httpd/css/tabulator.min.css +share/kismet/httpd/css/tabulator_midnight.min.css +share/kismet/httpd/css/text.css +share/kismet/httpd/css/tooltipster.bundle.min.css +share/kismet/httpd/css/v4-font-face.min.css +share/kismet/httpd/css/v4-shims.min.css +share/kismet/httpd/favicon.ico +share/kismet/httpd/fonts/ +share/kismet/httpd/fonts/jsglyph.eot +share/kismet/httpd/fonts/jsglyph.svg +share/kismet/httpd/fonts/jsglyph.ttf +share/kismet/httpd/fonts/jsglyph.woff +share/kismet/httpd/images/ +share/kismet/httpd/images/bluetooth-solid-icon-dark.svg +share/kismet/httpd/images/bluetooth-solid-icon.svg +share/kismet/httpd/images/collapsed.gif +share/kismet/httpd/images/expanded.gif +share/kismet/httpd/images/icon_no_battery_power.svg +share/kismet/httpd/images/sort_asc.png +share/kismet/httpd/images/sort_asc_disabled.png +share/kismet/httpd/images/sort_both.png +share/kismet/httpd/images/sort_desc.png +share/kismet/httpd/images/sort_desc_disabled.png +share/kismet/httpd/images/uiTabsArrow.png +share/kismet/httpd/images/zigbee-icon-dark.svg +share/kismet/httpd/images/zigbee-icon-light.svg +share/kismet/httpd/index.html +share/kismet/httpd/js/ +share/kismet/httpd/js/Control.Loading.js +share/kismet/httpd/js/Leaflet.MultiOptionsPolyline.min.js +share/kismet/httpd/js/chart.umd.js +share/kismet/httpd/js/chroma.min.js +share/kismet/httpd/js/clipboard.min.js +share/kismet/httpd/js/d3.v3.min.js +share/kismet/httpd/js/jcanvas.min.js +share/kismet/httpd/js/jquery-3.7.1.min.js +share/kismet/httpd/js/jquery-fluid16.js +share/kismet/httpd/js/jquery-ui.min.js +share/kismet/httpd/js/jquery.ajax.binary.js +share/kismet/httpd/js/jquery.contextMenu.min.js +share/kismet/httpd/js/jquery.debounce.min.js +share/kismet/httpd/js/jquery.jspanel-compiled.min.js +share/kismet/httpd/js/jquery.kismet.alert.js +share/kismet/httpd/js/jquery.kismet.battery.js +share/kismet/httpd/js/jquery.kismet.channeldisplay.js +share/kismet/httpd/js/jquery.kismet.devicedata.js +share/kismet/httpd/js/jquery.kismet.gps.js +share/kismet/httpd/js/jquery.kismet.messagebus.js +share/kismet/httpd/js/jquery.kismet.packetrate.js +share/kismet/httpd/js/jquery.layout-latest.js +share/kismet/httpd/js/jquery.sparkline.min.js +share/kismet/httpd/js/jquery.storageapi.min.js +share/kismet/httpd/js/jquery.ui.position.min.js +share/kismet/httpd/js/jquery.ui.touch-punch.min.js +share/kismet/httpd/js/jqueryui-editable.min.js +share/kismet/httpd/js/js.storage.min.js +share/kismet/httpd/js/kismet.ui.802_15_4.js +share/kismet/httpd/js/kismet.ui.adsb.js +share/kismet/httpd/js/kismet.ui.alerts.js +share/kismet/httpd/js/kismet.ui.base.js +share/kismet/httpd/js/kismet.ui.bluetooth.js +share/kismet/httpd/js/kismet.ui.btle.js +share/kismet/httpd/js/kismet.ui.datasources.js +share/kismet/httpd/js/kismet.ui.dot11.js +share/kismet/httpd/js/kismet.ui.gadgets.js +share/kismet/httpd/js/kismet.ui.iconbar.js +share/kismet/httpd/js/kismet.ui.js +share/kismet/httpd/js/kismet.ui.meter.js +share/kismet/httpd/js/kismet.ui.radiation.js +share/kismet/httpd/js/kismet.ui.sensor.js +share/kismet/httpd/js/kismet.ui.settings.js +share/kismet/httpd/js/kismet.ui.sidebar.js +share/kismet/httpd/js/kismet.ui.tabpane.js +share/kismet/httpd/js/kismet.ui.theme.js +share/kismet/httpd/js/kismet.ui.uav.js +share/kismet/httpd/js/kismet.ui.walkthrough.js +share/kismet/httpd/js/kismet.ui.zwave.js +share/kismet/httpd/js/kismet.units.js +share/kismet/httpd/js/kismet.utils.js +share/kismet/httpd/js/leaflet.js +share/kismet/httpd/js/msgpack.js +share/kismet/httpd/js/pushmenu.js +share/kismet/httpd/js/raphael.min.js +share/kismet/httpd/js/simple-expand.min.js +share/kismet/httpd/js/spectrum.js +share/kismet/httpd/js/tabulator.min.js +share/kismet/httpd/js/tooltipster.bundle.min.js +share/kismet/httpd/webfonts/ +share/kismet/httpd/webfonts/fa-regular-400.ttf +share/kismet/httpd/webfonts/fa-regular-400.woff2 +share/kismet/httpd/webfonts/fa-solid-900.ttf +share/kismet/httpd/webfonts/fa-solid-900.woff2 +share/kismet/httpd/webfonts/fa-v4compatibility.ttf +share/kismet/httpd/webfonts/fa-v4compatibility.woff2 +share/kismet/kismet_adsb_icao.txt.gz +share/kismet/kismet_manuf.txt.gz Index: pkg/README =================================================================== RCS file: pkg/README diff -N pkg/README --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ pkg/README 18 Jan 2026 14:52:55 -0000 @@ -0,0 +1,18 @@ ++------------------------------------------------------------------------------- +| Running ${PKGSTEM} on OpenBSD ++------------------------------------------------------------------------------- + +known to work capture drivers +============================= + +The following capture drivers are known to work: + * openbsd_wifi (autodetected) + * sdr_rtladsb (autodetected) + * sdr_rtl433 (autodetected) + * nrf_51822 (not autodetected) + * use with: + * -c nrf51822:type=nrf51822,device=/dev/cuaU0,name=adafruit + + +Many other capture drivers are enabled. They are untested, +but may work as well.