From yonatan@laptop.afarsec.com  Sun Nov  4 06:31:50 2007
Return-Path: <yonatan@laptop.afarsec.com>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 74DA816A419
	for <FreeBSD-gnats-submit@freebsd.org>; Sun,  4 Nov 2007 06:31:50 +0000 (UTC)
	(envelope-from yonatan@laptop.afarsec.com)
Received: from laptop.afarsec.com (80.178.234.56.forward.012.net.il [80.178.234.56])
	by mx1.freebsd.org (Postfix) with ESMTP id 73BB913C480
	for <FreeBSD-gnats-submit@freebsd.org>; Sun,  4 Nov 2007 06:31:48 +0000 (UTC)
	(envelope-from yonatan@laptop.afarsec.com)
Received: by laptop.afarsec.com (Postfix, from userid 1001)
	id E74D31703A; Sun,  4 Nov 2007 07:54:21 +0200 (IST)
Message-Id: <20071104055421.E74D31703A@laptop.afarsec.com>
Date: Sun,  4 Nov 2007 07:54:21 +0200 (IST)
From: Yonatan <onatan@gmail.com>
Reply-To: Yonatan <onatan@gmail.com>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: Fix net-mgmt/kismet for FreeBSD 7.0
X-Send-Pr-Version: 3.113
X-GNATS-Notify: peter.thoenen@yahoo.com

>Number:         117803
>Category:       ports
>Synopsis:       Fix net-mgmt/kismet for FreeBSD 7.0
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    tmclaugh
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Nov 04 06:40:00 UTC 2007
>Closed-Date:    Mon Nov 05 21:23:04 UTC 2007
>Last-Modified:  Mon Nov 05 21:23:04 UTC 2007
>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:
State-Changed-From-To: open->feedback 
State-Changed-By: edwin 
State-Changed-When: Sun Nov 4 06:40:10 UTC 2007 
State-Changed-Why:  
Awaiting maintainers feedback (via the GNATS Auto Assign Tool) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=117803 

From: Peter Thoenen <peter.thoenen@yahoo.com>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/117803: Fix net-mgmt/kismet for FreeBSD 7.0
Date: Sun, 04 Nov 2007 07:55:02 -0500

 Hmm ... can somebody else verify that the pre-patch kismet doesn't build 
 on 7.0.  On my box (7.0-BETA2) it builds just fine w/o this patch.
 
 -Peter

From: Tom McLaughlin <tmclaugh@sdf.lonestar.org>
To: bug-followup@FreeBSD.org, onatan@gmail.com
Cc:  
Subject: Re: ports/117803: Fix net-mgmt/kismet for FreeBSD 7.0
Date: Mon, 05 Nov 2007 13:29:31 -0500

 --=-95bYsYfjVyLe8Vu5X6rK
 Content-Type: text/plain
 Content-Transfer-Encoding: 7bit
 
 Hi, here are the compile warnings as they stands right now on FreeBSD
 7.x.  (Submitter, please send error/warning output next time so the
 maintainer can see exactly where the problem is and so they aren't left
 with blindly patching the port.)
 
 pcapsource.cc:840:1: warning: "IEEE80211_IS_CHAN_FHSS" redefined
 In file included from /usr/include/net80211/ieee80211_ioctl.h:34,
                  from pcapsource.cc:79:
 /usr/include/net80211/_ieee80211.h:175:1: warning: this is the location of the previous definition
 pcapsource.cc:842:1: warning: "IEEE80211_IS_CHAN_A" redefined
 /usr/include/net80211/_ieee80211.h:177:1: warning: this is the location of the previous definition
 pcapsource.cc:844:1: warning: "IEEE80211_IS_CHAN_B" redefined
 /usr/include/net80211/_ieee80211.h:179:1: warning: this is the location of the previous definition
 pcapsource.cc:846:1: warning: "IEEE80211_IS_CHAN_PUREG" redefined
 /usr/include/net80211/_ieee80211.h:181:1: warning: this is the location of the previous definition
 pcapsource.cc:848:1: warning: "IEEE80211_IS_CHAN_G" redefined
 /usr/include/net80211/_ieee80211.h:183:1: warning: this is the location of the previous definition
 
 Attached is a smaller patch which only renames the conflicting macros.
 Can you also point out where we can see the issue with bpf?  I don't
 have a wifi nic in my -CURRENT box to run test kismet.
 
 -- 
 | tmclaugh at sdf.lonestar.org                 tmclaugh at FreeBSD.org |
 | FreeBSD                                       http://www.FreeBSD.org |
 
 --=-95bYsYfjVyLe8Vu5X6rK
 Content-Disposition: attachment; filename=kismet-freebsd7.diff
 Content-Type: text/x-patch; name=kismet-freebsd7.diff; charset=utf-8
 Content-Transfer-Encoding: 7bit
 
 ? .build.out.swp
 ? kismet-freebsd7.diff
 Index: Makefile
 ===================================================================
 RCS file: /ncvs/ports/net-mgmt/kismet/Makefile,v
 retrieving revision 1.15
 diff -u -r1.15 Makefile
 --- Makefile	23 Oct 2007 23:54:09 -0000	1.15
 +++ Makefile	5 Nov 2007 18:27:01 -0000
 @@ -7,6 +7,7 @@
  
  PORTNAME=	kismet
  PORTVERSION=	200710.r1
 +PORTREVISION=	1
  CATEGORIES=	net-mgmt
  MASTER_SITES=	http://www.kismetwireless.net/code/
  DISTNAME=	kismet-2007-10-R1
 Index: files/patch-pcapsource.cc
 ===================================================================
 RCS file: files/patch-pcapsource.cc
 diff -N files/patch-pcapsource.cc
 --- /dev/null	1 Jan 1970 00:00:00 -0000
 +++ files/patch-pcapsource.cc	5 Nov 2007 18:27:01 -0000
 @@ -0,0 +1,44 @@
 +--- pcapsource.cc.orig	2007-10-06 17:09:03.000000000 -0400
 ++++ pcapsource.cc	2007-11-05 13:10:18.825873000 -0500
 +@@ -837,15 +837,15 @@
 + #define	IEEE80211_CHAN_T \
 + 	(IEEE80211_CHAN_5GHZ | IEEE80211_CHAN_OFDM | IEEE80211_CHAN_TURBO)
 + 
 +-#define	IEEE80211_IS_CHAN_FHSS(_flags) \
 ++#define	KISMET_IEEE80211_IS_CHAN_FHSS(_flags) \
 + 	((_flags & IEEE80211_CHAN_FHSS) == IEEE80211_CHAN_FHSS)
 +-#define	IEEE80211_IS_CHAN_A(_flags) \
 ++#define	KISMET_IEEE80211_IS_CHAN_A(_flags) \
 + 	((_flags & IEEE80211_CHAN_A) == IEEE80211_CHAN_A)
 +-#define	IEEE80211_IS_CHAN_B(_flags) \
 ++#define	KISMET_IEEE80211_IS_CHAN_B(_flags) \
 + 	((_flags & IEEE80211_CHAN_B) == IEEE80211_CHAN_B)
 +-#define	IEEE80211_IS_CHAN_PUREG(_flags) \
 ++#define	KISMET_IEEE80211_IS_CHAN_PUREG(_flags) \
 + 	((_flags & IEEE80211_CHAN_PUREG) == IEEE80211_CHAN_PUREG)
 +-#define	IEEE80211_IS_CHAN_G(_flags) \
 ++#define	KISMET_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)
 +@@ -972,15 +972,15 @@
 +             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))
 +                         packet->carrier = carrier_80211a;/*XXX*/
 
 --=-95bYsYfjVyLe8Vu5X6rK--
 
Responsible-Changed-From-To: freebsd-ports-bugs->tmclaugh 
Responsible-Changed-By: tmclaugh 
Responsible-Changed-When: Mon Nov 5 18:31:52 UTC 2007 
Responsible-Changed-Why:  
Grab PR 

http://www.freebsd.org/cgi/query-pr.cgi?pr=117803 
State-Changed-From-To: feedback->closed 
State-Changed-By: tmclaugh 
State-Changed-When: Mon Nov 5 21:20:28 UTC 2007 
State-Changed-Why:  
Received OK from maintainer to close this PR with no commits.  The bpf 
issue was due to an issue in src/ which has been resolved.  The 
definition renaming is unnecessary as well.  The warnings do not cause a 
crash to occur and changes to clean up the code should be pursued 
upstream. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=117803 
>Unformatted:
