From markk@knigma.org  Tue Mar  8 01:32:36 2005
Return-Path: <markk@knigma.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id AF9CE16A4CE
	for <FreeBSD-gnats-submit@freebsd.org>; Tue,  8 Mar 2005 01:32:36 +0000 (GMT)
Received: from shrewd.pub.knigma.org (shrewd.pub.knigma.org [81.2.102.154])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 874C843D46
	for <FreeBSD-gnats-submit@freebsd.org>; Tue,  8 Mar 2005 01:32:35 +0000 (GMT)
	(envelope-from markk@knigma.org)
Received: from shrewd.pub.knigma.org (localhost [127.0.0.1])
	by shrewd.pub.knigma.org (8.13.3/8.13.3) with ESMTP id j281WRQN001685
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO)
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 8 Mar 2005 01:32:28 GMT
	(envelope-from mkn@shrewd.pub.knigma.org)
Received: (from mkn@localhost)
	by shrewd.pub.knigma.org (8.13.3/8.13.3/Submit) id j281WRYH001684;
	Tue, 8 Mar 2005 01:32:27 GMT
	(envelope-from mkn)
Message-Id: <200503080132.j281WRYH001684@shrewd.pub.knigma.org>
Date: Tue, 8 Mar 2005 01:32:27 GMT
From: Mark Knight <markk@knigma.org>
Reply-To: Mark Knight <markk@knigma.org>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: "wicontrol -i wi0 -C" outputs garbage
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         78570
>Category:       bin
>Synopsis:       wicontrol(8): "wicontrol -i wi0 -C" outputs garbage
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    vwe
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Mar 08 01:40:02 GMT 2005
>Closed-Date:    Sun Aug 08 20:37:27 UTC 2010
>Last-Modified:  Sun Aug 08 20:37:27 UTC 2010
>Originator:     Mark Knight
>Release:        FreeBSD 5.4-PRERELEASE i386
>Organization:
>Environment:
System: FreeBSD shrewd.pub.knigma.org 5.4-PRERELEASE FreeBSD 5.4-PRERELEASE #0: Tue Mar 8 00:35:53 GMT 2005 root@shrewd.pub.knigma.org:/slave/usr/obj/usr/src/sys/SHREWD i386
>Description:
Since at least 5.3, wicontrol -i wi0 -C has been broken.  The same
interface configuration used to work fine on RELENG_4.  Shame, since
it's a really good way to see who's been associated to a "hostap"
access point.

wicontrol -i wi0 -l works fine.

wicontrol -i wi0 -C displays total nonsense before dumping core:
[1/1614089728]: 32:80:00:00:00:00, 54.0.0.0, sig: 0, noise: 0, qual: 0
[2/1614089728]: 00:00:00:00:00:00, 0.0.0.0, sig: 0, noise: 0, qual: 0
[3/1614089728]: 00:00:00:00:00:00, 0.0.0.0, sig: 0, noise: 0, qual: 0
......snip lots of garbage........
[209/1614089728]: 00:00:00:00:00:00, 0.0.0.0, sig: 0, noise: 0, qual: 0
[210/1614089728]: 00:00:00:00:00:00, 0.0.0.0, sig: 0, noise: 0, qual: 0
[211/1614089728]: 00:00:00:00:00:00, 0.0.0.0, sig: 0, noise: 0, qual:
Bus error (core dumped)

gdb:
#0  0x0804ad63 in wi_readcache (iface=0xbfbfeceb "wi0")
    at /usr/src/usr.sbin/wicontrol/wicontrol.c:1044
1044			printf(" %02x:%02x:%02x:%02x:%02x:%02x,",
#1  0x0804afd7 in main (argc=4, argv=0xbfbfebd8)
    at /usr/src/usr.sbin/wicontrol/wicontrol.c:1112

dmesg:
wi0: <Intersil Prism2.5> mem 0xf15ff000-0xf15fffff irq 11 at device 10.0 on pci1
wi0: using RF:PRISM2.5 MAC:ISL3874A(Mini-PCI)
wi0: Intersil Firmware: Primary (1.1.0), Station (1.4.9)
wi0: Ethernet address: 00:09:5b:2f:b3:03
wi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps

ifconfig:
wi0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet6 fe80::209:5bff:fe2f:b303%wi0 prefixlen 64 scopeid 0x2 
        inet 217.169.23.233 netmask 0xfffffff8 broadcast 217.169.23.239
        inet6 2001:8b0:b0:3:209:5bff:fe2f:b303 prefixlen 64 
        inet6 2001:8b0:b0:3:: prefixlen 64 anycast 
        ether 00:09:5b:2f:b3:03
        media: IEEE 802.11 Wireless Ethernet DS/11Mbps <hostap> (DS/2Mbps <hostap>)
        status: associated
        ssid knigma 1:knigma
        stationname "FreeBSD WaveLAN/IEEE node"
        channel 7 authmode OPEN powersavemode OFF powersavesleep 100
        rtsthreshold 2312 protmode CTS
        wepmode OFF weptxkey 1
>How-To-Repeat:
	wicontrol -i wi0 -C
>Fix:
>Release-Note:
>Audit-Trail:

From: Michiel Boland <michiel@boland.org>
To: Mark Knight <markk@knigma.org>
Cc: FreeBSD-gnats-submit@FreeBSD.org, freebsd-bugs@FreeBSD.org
Subject: Re: bin/78570: "wicontrol -i wi0 -C" outputs garbage
Date: Sun, 10 Apr 2005 16:40:49 +0200 (MEST)

 > Since at least 5.3, wicontrol -i wi0 -C has been broken.
 
 The following patch to /usr/src/usr.sbin/wicontrol/wicontrol.c fixes 
 things for me (on 6.0-CURRENT)
 
 --- wicontrol.c.orig	Sun Oct 17 23:29:53 2004
 +++ wicontrol.c	Sun Apr 10 15:33:47 2005
 @@ -1020,10 +1020,8 @@
   wi_readcache(const char *iface)
   {
   	struct wi_req		wreq;
 -	int 			*wi_sigitems;
   	struct wi_sigcache 	*sc;
 -	char *			pt;
 -	int 			i;
 +	int 			i, n;
 
   	if (iface == NULL)
   		errx(1, "must specify interface name");
 @@ -1034,13 +1032,11 @@
   	if (wi_getval(iface, &wreq) == -1)
   		errx(1, "Cannot read signal cache");
 
 -	wi_sigitems = (int *) &wreq.wi_val; 
 -	pt = ((char *) &wreq.wi_val);
 -	pt += sizeof(int);
 -	sc = (struct wi_sigcache *) pt;
 +	n = wreq.wi_len * 2 / sizeof (struct wi_sigcache); /* XXX ?? */
 +	sc = (struct wi_sigcache *) &wreq.wi_val;
 
 -	for (i = 0; i < *wi_sigitems; i++) {
 -		printf("[%d/%d]:", i+1, *wi_sigitems);
 +	for (i = 0; i < n; i++) {
 +		printf("[%d/%d]:", i+1, n);
   		printf(" %02x:%02x:%02x:%02x:%02x:%02x,",
   		  		    	sc->macsrc[0]&0xff,
   		  		    	sc->macsrc[1]&0xff,

From: Michiel Boland <michiel@boland.org>
To: Mark Knight <markk@knigma.org>
Cc: freebsd-bugs@FreeBSD.org
Subject: Re: bin/78570: "wicontrol -i wi0 -C" outputs garbage
Date: Sun, 10 Apr 2005 16:40:49 +0200 (MEST)

 > Since at least 5.3, wicontrol -i wi0 -C has been broken.
 
 The following patch to /usr/src/usr.sbin/wicontrol/wicontrol.c fixes 
 things for me (on 6.0-CURRENT)
 
 --- wicontrol.c.orig	Sun Oct 17 23:29:53 2004
 +++ wicontrol.c	Sun Apr 10 15:33:47 2005
 @@ -1020,10 +1020,8 @@
   wi_readcache(const char *iface)
   {
   	struct wi_req		wreq;
 -	int 			*wi_sigitems;
   	struct wi_sigcache 	*sc;
 -	char *			pt;
 -	int 			i;
 +	int 			i, n;
 
   	if (iface == NULL)
   		errx(1, "must specify interface name");
 @@ -1034,13 +1032,11 @@
   	if (wi_getval(iface, &wreq) == -1)
   		errx(1, "Cannot read signal cache");
 
 -	wi_sigitems = (int *) &wreq.wi_val; 
 -	pt = ((char *) &wreq.wi_val);
 -	pt += sizeof(int);
 -	sc = (struct wi_sigcache *) pt;
 +	n = wreq.wi_len * 2 / sizeof (struct wi_sigcache); /* XXX ?? */
 +	sc = (struct wi_sigcache *) &wreq.wi_val;
 
 -	for (i = 0; i < *wi_sigitems; i++) {
 -		printf("[%d/%d]:", i+1, *wi_sigitems);
 +	for (i = 0; i < n; i++) {
 +		printf("[%d/%d]:", i+1, n);
   		printf(" %02x:%02x:%02x:%02x:%02x:%02x,",
   		  		    	sc->macsrc[0]&0xff,
   		  		    	sc->macsrc[1]&0xff,
 _______________________________________________
 freebsd-bugs@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
 To unsubscribe, send any mail to "freebsd-bugs-unsubscribe@freebsd.org"
 
State-Changed-From-To: open->suspended 
State-Changed-By: vwe 
State-Changed-When: Wed Jan 14 21:28:20 UTC 2009 
State-Changed-Why:  
wicontrol(8) has gone - suspending this PR until someone wants to 
work on old releases (unlikely) 


Responsible-Changed-From-To: freebsd-bugs->freebsd-vwe 
Responsible-Changed-By: vwe 
Responsible-Changed-When: Wed Jan 14 21:28:20 UTC 2009 
Responsible-Changed-Why:  
grab 

http://www.freebsd.org/cgi/query-pr.cgi?pr=78570 
Responsible-Changed-From-To: freebsd-vwe->vwe 
Responsible-Changed-By: vwe 
Responsible-Changed-When: Wed Jan 14 22:18:05 UTC 2009 
Responsible-Changed-Why:  
now, really grab 

http://www.freebsd.org/cgi/query-pr.cgi?pr=78570 
State-Changed-From-To: suspended->closed 
State-Changed-By: vwe 
State-Changed-When: Sun Aug 8 20:37:13 UTC 2010 
State-Changed-Why:  
old issue, unsupported release 

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