Subject: Re: problems in SIOCS/G80211NWID ioctls
To: Atsushi Onoe <onoe@sm.sony.co.jp>
From: Jason R Thorpe <thorpej@zembu.com>
List: tech-net
Date: 07/04/2000 10:46:43
On Wed, Jul 05, 2000 at 02:38:23AM +0900, Atsushi Onoe wrote:

 > There are SIOCS80211NWID and SIOCG80211NWID ioctls defined to set/get
 > ESSID for IEEE 802.11 wireless LAN.  However, we cannot set nor show
 > ESSID includes '\0', which is not prohibited by the 802.11 spec.  This
 > is because these ioctls doesn't have a length field.  Actually, the
 > kernel uses strlen() to determine length, and ifconfig just use
 > printf(%s) to show the value which may include control chars.
 > 
 > Can I make binary incompatible changes to prepend 1 byte length field to
 > the NWID argument of the ioctl?  Or should I left these ioctls as is and
 > add new ioctls including length field later?
 > 
 > Note that the ioctls defined in sys/net/if_ieee80211.h never released
 > but they will be released as 1.4.3 and 1.5.  The only userland program
 > affected is ifconfig(8).
 > 
 > Also ifconfig(8) should be enhanced to accept "0x..." notation for NWID,
 > perhaps as well as to support configurations of WEP, IBSS, ...
 > But compared to the incompatible change requst of ioctls, the enhancement
 > of ifconfig(8) will be less important and can be defer, IMHO.

Make new ioctls that have the same names and pull the changes into
1.4.3 and 1.5 branches.  Best to just squash the problem now than live
with it forever.

-- 
        -- Jason R. Thorpe <thorpej@zembu.com>