Skip site navigation (1)Skip section navigation (2)
Date:      Sun,  4 Nov 2007 07:54:21 +0200 (IST)
From:      Yonatan <onatan@gmail.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/117803: Fix net-mgmt/kismet for FreeBSD 7.0
Message-ID:  <20071104055421.E74D31703A@laptop.afarsec.com>
Resent-Message-ID: <200711040640.lA46e0UU033419@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         117803
>Category:       ports
>Synopsis:       Fix net-mgmt/kismet for FreeBSD 7.0
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Nov 04 06:40:00 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator:     Yonatan
>Release:        FreeBSD 7.0-BETA1 i386
>Organization:
Afarsec
>Environment:
System: FreeBSD laptop.afarsec.com 7.0-BETA1 FreeBSD 7.0-BETA1 #1: Thu Nov 1 23:06:58 IST 2007 yonatan@laptop.afarsec.com:/usr/obj/usr/src/sys/LOCAL i386

>Description:
Kismet redefines some thins that are already there.
It also doesn't include bpf when it should.
>How-To-Repeat:
Try building the port, see it break.
>Fix:

--- patch-pcapsource.cc begins here ---
--- pcapsource.cc.orig	2007-11-04 07:30:21.000000000 +0200
+++ pcapsource.cc	2007-11-04 07:45:15.000000000 +0200
@@ -74,6 +74,10 @@
 #include <sys/socket.h>
 #include <net/if.h>
 #include <net/if_media.h>
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/ioctl.h>
+#include <net/bpf.h>
 
 #ifdef HAVE_RADIOTAP
 #include <net80211/ieee80211_ioctl.h>
@@ -93,29 +97,29 @@
 
 #ifdef HAVE_RADIOTAP
 // Hack around some headers that don't seem to define all of these
-#ifndef IEEE80211_CHAN_TURBO
-#define IEEE80211_CHAN_TURBO    0x0010  /* Turbo channel */
+#ifndef KISMET_IEEE80211_CHAN_TURBO
+#define KISMET_IEEE80211_CHAN_TURBO    0x0010  /* Turbo channel */
 #endif
-#ifndef IEEE80211_CHAN_CCK
-#define IEEE80211_CHAN_CCK      0x0020  /* CCK channel */ 
+#ifndef KISMET_IEEE80211_CHAN_CCK
+#define KISMET_IEEE80211_CHAN_CCK      0x0020  /* CCK channel */ 
 #endif
-#ifndef IEEE80211_CHAN_OFDM
-#define IEEE80211_CHAN_OFDM     0x0040  /* OFDM channel */
+#ifndef KISMET_IEEE80211_CHAN_OFDM
+#define KISMET_IEEE80211_CHAN_OFDM     0x0040  /* OFDM channel */
 #endif
-#ifndef IEEE80211_CHAN_2GHZ
-#define IEEE80211_CHAN_2GHZ     0x0080  /* 2 GHz spectrum channel. */
+#ifndef KISMET_IEEE80211_CHAN_2GHZ
+#define KISMET_IEEE80211_CHAN_2GHZ     0x0080  /* 2 GHz spectrum channel. */
 #endif
-#ifndef IEEE80211_CHAN_5GHZ
-#define IEEE80211_CHAN_5GHZ     0x0100  /* 5 GHz spectrum channel */
+#ifndef KISMET_IEEE80211_CHAN_5GHZ
+#define KISMET_IEEE80211_CHAN_5GHZ     0x0100  /* 5 GHz spectrum channel */
 #endif
-#ifndef IEEE80211_CHAN_PASSIVE
-#define IEEE80211_CHAN_PASSIVE  0x0200  /* Only passive scan allowed */
+#ifndef KISMET_IEEE80211_CHAN_PASSIVE
+#define KISMET_IEEE80211_CHAN_PASSIVE  0x0200  /* Only passive scan allowed */
 #endif
-#ifndef IEEE80211_CHAN_DYN
-#define IEEE80211_CHAN_DYN      0x0400  /* Dynamic CCK-OFDM channel */
+#ifndef KISMET_IEEE80211_CHAN_DYN
+#define KISMET_IEEE80211_CHAN_DYN      0x0400  /* Dynamic CCK-OFDM channel */
 #endif
-#ifndef IEEE80211_CHAN_GFSK
-#define IEEE80211_CHAN_GFSK     0x0800  /* GFSK channel (FHSS PHY) */
+#ifndef KISMET_IEEE80211_CHAN_GFSK
+#define KISMET_IEEE80211_CHAN_GFSK     0x0800  /* GFSK channel (FHSS PHY) */
 #endif
 
 #include "tcpdump-extract.h"
@@ -801,14 +805,14 @@
  * Convert MHz frequency to IEEE channel number.
  */
 static u_int ieee80211_mhz2ieee(u_int freq, u_int flags) {
-    if (flags & IEEE80211_CHAN_2GHZ) {		/* 2GHz band */
+    if (flags & KISMET_IEEE80211_CHAN_2GHZ) {		/* 2GHz band */
 	if (freq == 2484)
 	    return 14;
 	if (freq < 2484)
 	    return (freq - 2407) / 5;
 	else
 	    return 15 + ((freq - 2512) / 20);
-    } else if (flags & IEEE80211_CHAN_5GHZ) {	/* 5Ghz band */
+    } else if (flags & KISMET_IEEE80211_CHAN_5GHZ) {	/* 5Ghz band */
 	return (freq - 5000) / 5;
     } else {					/* either, guess */
 	if (freq == 2484)
@@ -824,31 +828,31 @@
 /*
  * Useful combinations of channel characteristics.
  */
-#define	IEEE80211_CHAN_FHSS \
-	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_GFSK)
-#define	IEEE80211_CHAN_A \
-	(IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM)
-#define	IEEE80211_CHAN_B \
-	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_CCK)
-#define	IEEE80211_CHAN_PUREG \
-	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_OFDM)
-#define	IEEE80211_CHAN_G \
-	(IEEE80211_CHAN_2GHZ | IEEE80211_CHAN_DYN)
-#define	IEEE80211_CHAN_T \
-	(IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_TURBO)
-
-#define	IEEE80211_IS_CHAN_FHSS(_flags) \
-	((_flags & IEEE80211_CHAN_FHSS) == IEEE80211_CHAN_FHSS)
-#define	IEEE80211_IS_CHAN_A(_flags) \
-	((_flags & IEEE80211_CHAN_A) == IEEE80211_CHAN_A)
-#define	IEEE80211_IS_CHAN_B(_flags) \
-	((_flags & IEEE80211_CHAN_B) == IEEE80211_CHAN_B)
-#define	IEEE80211_IS_CHAN_PUREG(_flags) \
-	((_flags & IEEE80211_CHAN_PUREG) == IEEE80211_CHAN_PUREG)
-#define	IEEE80211_IS_CHAN_G(_flags) \
-	((_flags & IEEE80211_CHAN_G) == IEEE80211_CHAN_G)
-#define	IEEE80211_IS_CHAN_T(_flags) \
-	((_flags & IEEE80211_CHAN_T) == IEEE80211_CHAN_T)
+#define	KISMET_IEEE80211_CHAN_FHSS \
+	(KISMET_IEEE80211_CHAN_2GHZ | KISMET_IEEE80211_CHAN_GFSK)
+#define	KISMET_IEEE80211_CHAN_A \
+	(KISMET_IEEE80211_CHAN_5GHZ | KISMET_IEEE80211_CHAN_OFDM)
+#define	KISMET_IEEE80211_CHAN_B \
+	(KISMET_IEEE80211_CHAN_2GHZ | KISMET_IEEE80211_CHAN_CCK)
+#define	KISMET_IEEE80211_CHAN_PUREG \
+	(KISMET_IEEE80211_CHAN_2GHZ | KISMET_IEEE80211_CHAN_OFDM)
+#define	KISMET_IEEE80211_CHAN_G \
+	(KISMET_IEEE80211_CHAN_2GHZ | KISMET_IEEE80211_CHAN_DYN)
+#define	KISMET_IEEE80211_CHAN_T \
+	(KISMET_IEEE80211_CHAN_5GHZ | KISMET_IEEE80211_CHAN_OFDM | KISMET_IEEE80211_CHAN_TURBO)
+
+#define	KISMET_IEEE80211_IS_CHAN_FHSS(_flags) \
+	((_flags & KISMET_IEEE80211_CHAN_FHSS) == KISMET_IEEE80211_CHAN_FHSS)
+#define	KISMET_IEEE80211_IS_CHAN_A(_flags) \
+	((_flags & KISMET_IEEE80211_CHAN_A) == KISMET_IEEE80211_CHAN_A)
+#define	KISMET_IEEE80211_IS_CHAN_B(_flags) \
+	((_flags & KISMET_IEEE80211_CHAN_B) == KISMET_IEEE80211_CHAN_B)
+#define	KISMET_IEEE80211_IS_CHAN_PUREG(_flags) \
+	((_flags & KISMET_IEEE80211_CHAN_PUREG) == KISMET_IEEE80211_CHAN_PUREG)
+#define	KISMET_IEEE80211_IS_CHAN_G(_flags) \
+	((_flags & KISMET_IEEE80211_CHAN_G) == KISMET_IEEE80211_CHAN_G)
+#define	KISMET_IEEE80211_IS_CHAN_T(_flags) \
+	((_flags & KISMET_IEEE80211_CHAN_T) == KISMET_IEEE80211_CHAN_T)
 
 int PcapSource::Radiotap2KisPack(kis_packet *packet, uint8_t *data, uint8_t *moddata) {
 #define BITNO_32(x) (((x) >> 16) ? 16 + BITNO_16((x) >> 16) : BITNO_16((x)))
@@ -972,17 +976,17 @@
             switch (bit) {
                 case IEEE80211_RADIOTAP_CHANNEL:
                     packet->channel = ieee80211_mhz2ieee(u.u16, u2.u16);
-                    if (IEEE80211_IS_CHAN_FHSS(u2.u16))
+                    if (KISMET_IEEE80211_IS_CHAN_FHSS(u2.u16))
                         packet->carrier = carrier_80211dsss;
-                    else if (IEEE80211_IS_CHAN_A(u2.u16))
+                    else if (KISMET_IEEE80211_IS_CHAN_A(u2.u16))
                         packet->carrier = carrier_80211a;
-                    else if (IEEE80211_IS_CHAN_B(u2.u16))
+                    else if (KISMET_IEEE80211_IS_CHAN_B(u2.u16))
                         packet->carrier = carrier_80211b;
-                    else if (IEEE80211_IS_CHAN_PUREG(u2.u16))
+                    else if (KISMET_IEEE80211_IS_CHAN_PUREG(u2.u16))
                         packet->carrier = carrier_80211g;
-                    else if (IEEE80211_IS_CHAN_G(u2.u16))
+                    else if (KISMET_IEEE80211_IS_CHAN_G(u2.u16))
                         packet->carrier = carrier_80211g;
-                    else if (IEEE80211_IS_CHAN_T(u2.u16))
+                    else if (KISMET_IEEE80211_IS_CHAN_T(u2.u16))
                         packet->carrier = carrier_80211a;/*XXX*/
                     else
                         packet->carrier = carrier_unknown;
--- patch-pcapsource.cc ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071104055421.E74D31703A>