OSDN Git Service

v29
[android-x86/external-wireless-tools.git] / wireless_tools / CHANGELOG.h
1 /*
2  *      Wireless Tools
3  *
4  *              Jean II - HPLB 97->99 - HPL 99->07
5  *
6  * The changelog...
7  *
8  * This files is released under the GPL license.
9  *     Copyright (c) 1997-2002 Jean Tourrilhes <jt@hpl.hp.com>
10  */
11
12 /* --------------------------- HISTORY --------------------------- */
13 /*
14  * wireless 16 :                (Jean Tourrilhes)
15  * -----------
16  *      o iwconfig, iwpriv & iwspy
17  *
18  * wireless 17 :                (Justin Seger)
19  * -----------
20  *      o Compile under glibc fix
21  *      o merge iwpriv in iwconfig
22  *      o Add Wavelan roaming support
23  *      o Update man page of iwconfig
24  *
25  * wireless 18 :
26  * -----------
27  *              (From Andreas Neuhaus <andy@fasta.fh-dortmund.de>)
28  *      o Many fix to remove "core dumps" in iwconfig
29  *      o Remove useless headers in iwconfig
30  *      o CHAR wide private ioctl
31  *              (From Jean Tourrilhes)
32  *      o Create iwcommon.h and iwcommon.c
33  *      o Separate iwpriv again for user interface issues
34  *        The folllowing didn't make sense and crashed :
35  *              iwconfig eth0 priv sethisto 12 15 nwid 100
36  *      o iwspy no longer depend on net-tools-1.2.0
37  *      o Reorganisation of the code, cleanup
38  *      o Add ESSID stuff in iwconfig
39  *      o Add display of level & noise in dBm (stats in iwconfig)
40  *      o Update man page of iwconfig and iwpriv
41  *      o Add xwireless (didn't check if it compiles)
42  *              (From Dean W. Gehnert <deang@tpi.com>)
43  *      o Minor fixes
44  *              (Jan Rafaj <rafaj@cedric.vabo.cz>)
45  *      o Cosmetic changes (sensitivity relative, freq list)
46  *      o Frequency computation on double
47  *      o Compile clean on libc5
48  *              (From Jean Tourrilhes)
49  *      o Move listing of frequencies to iwspy
50  *      o Add AP address stuff in iwconfig
51  *      o Add AP list stuff in iwspy
52  *
53  * wireless 19 :
54  * -----------
55  *              (From Jean Tourrilhes)
56  *      o Allow for sensitivity in dBm (if < 0) [iwconfig]
57  *      o Formatting changes in displaying ap address in [iwconfig]
58  *      o Slightly improved man pages and usage display
59  *      o Add channel number for each frequency in list [iwspy]
60  *      o Add nickname... [iwconfig]
61  *      o Add "port" private ioctl shortcut [iwpriv]
62  *      o If signal level = 0, no range or dBms [iwconfig]
63  *      o I think I now got set/get char strings right in [iwpriv]
64  *              (From Thomas Ekstrom <tomeck@thelogic.com>)
65  *      o Fix a very obscure bug in [iwspy]
66  *
67  * wireless 20 :
68  * -----------
69  *              (From Jean Tourrilhes)
70  *      o Remove all #ifdef WIRELESS ugliness, but add a #error :
71  *              we require Wireless Extensions 9 or nothing !  [all]
72  *      o Switch to new 'nwid' definition (specific -> iw_param) [iwconfig]
73  *      o Rewriten totally the encryption support [iwconfig]
74  *              - Multiple keys, through key index
75  *              - Flexible/multiple key size, and remove 64bits upper limit
76  *              - Open/Restricted modes
77  *              - Enter keys as ASCII strings
78  *      o List key sizes supported and all keys in [iwspy]
79  *      o Mode of operation support (ad-hoc, managed...) [iwconfig]
80  *      o Use '=' to indicate fixed instead of ugly '(f)' [iwconfig]
81  *      o Ability to disable RTS & frag (off), now the right way [iwconfig]
82  *      o Auto as an input modifier for bitrate [iwconfig]
83  *      o Power Management support [iwconfig]
84  *              - set timeout or period and its value
85  *              - Reception mode (unicast/multicast/all)
86  *      o Updated man pages with all that ;-)
87  *
88  * wireless 21 :
89  * -----------
90  *              (from Alan McReynolds <alan_mcreynolds@hpl.hp.com>)
91  *      o Use proper macros for compilation directives [Makefile]
92  *              (From Jean Tourrilhes)
93  *      o Put licensing info everywhere (almost). Yes, it's GPL !
94  *      o Document the use of /etc/pcmcia/wireless.opts [PCMCIA]
95  *      o Add min/max modifiers to power management parameters [iwconfig]
96  *              -> requested by Lee Keyser-Allen for the Spectrum24 driver
97  *      o Optionally output a second power management parameter [iwconfig]
98  *      ---
99  *      o Common subroutines to display stats & power saving info [iwcommon]
100  *      o Display all power management info, capability and values [iwspy]
101  *      ---
102  *      o Optional index for ESSID (for Aironet driver) [iwcommon]
103  *      o IW_ENCODE_NOKEY for write only keys [iwconfig/iwspy]
104  *      o Common subrouting to print encoding keys [iwspy]
105  *      ---
106  *      o Transmit Power stuff (dBm + mW) [iwconfig/iwspy]
107  *      o Cleaner formatting algorithm when displaying params [iwconfig]
108  *      ---
109  *      o Fix get_range_info() and use it everywhere - Should fix core dumps.
110  *      o Catch WE version differences between tools and driver and
111  *        warn user. Thanks to Tobias Ringstrom for the tip... [iwcommon]
112  *      o Add Retry limit and lifetime support. [iwconfig/iwlist]
113  *      o Display "Cell:" instead of "Access Point:" in ad-hoc mode [iwconfig]
114  *      o Header fix for glibc2.2 by Ross G. Miller <Ross_Miller@baylor.edu>
115  *      o Move header selection flags in Makefile [iwcommon/Makefile]
116  *      o Spin-off iwlist.c from iwspy.c. iwspy is now much smaller
117  *        After moving this bit of code all over the place, from iwpriv
118  *        to iwconfig to iwspy, it now has a home of its own... [iwspy/iwlist]
119  *      o Wrote quick'n'dirty iwgetid.
120  *      o Remove output of second power management parameter [iwconfig]
121  *        Please use iwlist, I don't want to bloat iwconfig
122  *      ---
123  *      o Fix bug in display ints - "Allen Miu" <aklmiu@mit.edu> [iwpriv]
124  *
125  * wireless 22 :
126  * -----------
127  *              (From Jim Kaba <jkaba@sarnoff.com>)
128  *      o Fix socket_open to not open all types of sockets [iwcommon]
129  *              (From Michael Tokarev <mjt@tls.msk.ru>)
130  *      o Rewrite main (top level) + command line parsing of [iwlist]
131  *              (From Jean Tourrilhes)
132  *      o Set commands should return proper success flag [iwspy/iwpriv]
133  *        requested by Michael Tokarev
134  *      ---
135  *              (From Torgeir Hansen <torgeir@trenger.ro>)
136  *      o Replace "strcpy(wrq.ifr_name," with strncpy to avoid buffer
137  *        overflows. This is OK because the kernel use strncmp...
138  *      ---
139  *      o Move operation_mode in iwcommon and add NUM_OPER_MODE [iwconfig]
140  *      o print_stats, print_key, ... use char * instead if FILE * [iwcommon]
141  *      o Add `iw_' prefix to avoid namespace pollution [iwcommon]
142  *      o Add iw_get_basic_config() and iw_set_basic_config() [iwcommon]
143  *      o Move iw_getstats from iwconfig to iwcommon [iwcommon]
144  *      o Move changelog to CHANGELOG.h [iwcommon]
145  *      o Rename iwcommon.* into iwlib.* [iwcommon->iwlib]
146  *      o Compile iwlib. as a dynamic or static library [Makefile]
147  *      o Allow the tools to be compiled with the dynamic library [Makefile]
148  *      --- Update to Wireless Extension 12 ---
149  *      o Show typical/average quality in iwspy [iwspy]
150  *      o Get Wireless Stats through ioctl instead of /proc [iwlib]
151  *
152  * wireless 23 :
153  * -----------
154  *      o Split iw_check_addr_type() into two functions mac/if [iwlib]
155  *      o iw_in_addr() does appropriate iw_check_xxx itself  [iwlib]
156  *      o Allow iwspy on MAC address even if IP doesn't check [iwspy]
157  *      o Allow iwconfig ap on MAC address even if IP doesn't check [iwconfig]
158  *      ---
159  *      o Fix iwlist man page about extra commands [iwlist]
160  *      ---
161  *      o Fix Makefile rules for library compile (more generic) [Makefile]
162  *      ---
163  *      o Set max length for all GET request with a iw_point [various]
164  *      o Fix set IW_PRIV_TYPE_BYTE to be endian/align clean [iwpriv]
165  *      ---
166  *              (From Kernel Jake <kerneljake@hotmail.com>)
167  *      o Add '/' at the end of directories to create them [Makefile]
168  *              (From Pavel Roskin <proski@gnu.org>)
169  *      o Replace "cp" with "install" to get permissions proper [Makefile]
170  *      o Install Man-Pages at the proper location [Makefile]
171  *      o Add automatic header selection based on libc/kernel [iwlib.h]
172  *      ---
173  *      o Add "commit" to force parameters on the card [iwconfig]
174  *      o Wrap ioctl() in iw_set/get_ext() wrappers [all]
175  *      o Beautify set request error messages [iwconfig]
176  *
177  * wireless 24 :
178  * -----------
179  *      o Added common function to display frequency [iwlib]
180  *      o Added handler to parse Wireless Events [iwlib]
181  *      o Added tool to display Wireless Events [iwevent]
182  *      o Pass command line to subroutines [iwlist]
183  *      o Scanning support through SIOCSIWSCAN [iwlist]
184  *      ---
185  *      o Added common function to display bitrate [iwlib]
186  *      o Add bitrate/encoding scanning support [iwlist]
187  *      o Allow to read scan results for non-root users [iwlist]
188  *      o Set 5s timeout on waiting for scan results [iwlist]
189  *      o Cleanup iwgetid & support ap+scheme display [iwgetid]
190  *      o iwevent man page [iwevent]
191  *              (From Guus Sliepen <guus@warande3094.warande.uu.nl>)
192  *      o iwgetid man page [iwgetid]
193  *      ---
194  *      o Add "#define WIRELESS_EXT > 13" around event code [iwlib]
195  *      o Move iw_enum_devices() from iwlist.c to iwlib.c [iwlib]
196  *      o Use iw_enum_devices() everywhere [iwconfig/iwspy/iwpriv]
197  *              (From Pavel Roskin <proski@gnu.org>, rewrite by me)
198  *      o Return proper error message on non existent interfaces [iwconfig]
199  *      o Read interface list in /proc/net/wireless and not SIOCGIFCONF [iwlib]
200  *      ---
201  *              (From Pavel Roskin <proski@gnu.org> - again !!!)
202  *      o Don't loose flags when setting encryption key [iwconfig]
203  *      o Add <time.h> [iwevent]
204  *      ---
205  *              (From Casey Carter <Casey@Carter.net>)
206  *      o Improved compilations directives, stricter warnings [Makefile]
207  *      o Fix strict warnings (static func, unused args...) [various]
208  *      o New routines to display/input Ethernet MAC addresses [iwlib]
209  *      o Correct my english & spelling [various]
210  *      o Get macaddr to compile [macaddr]
211  *      o Fix range checking in max number of args [iwlist]
212  *      ---
213  *      o Display time when we receive event [iwevent]
214  *      ---
215  *      o Display time before event, easier to read [iwevent]
216  *              (From "Dr. Michael Rietz" <rietz@mail.amps.de>)
217  *      o Use a generic set of header, may end header mess [iwlib]
218  *              (From Casey Carter <Casey@Carter.net>)
219  *      o Zillions cleanups, small fixes and code reorg [all over]
220  *      o Proper usage/help printout [iwevent, iwgetid, ...]
221  *      ---
222  *      o Send broadcast address for iwconfig ethX ap auto/any [iwconfig]
223  *      ---
224  *      o Send NULL address for iwconfig ethX ap off [iwconfig]
225  *      o Add iw_in_key() helper (and use it) [iwlib]
226  *      o Create symbolink link libiw.so to libiw.so.XX [Makefile]
227  *              (From Javier Achirica <achirica@ttd.net>)
228  *      o Always send TxPower flags to the driver [iwconfig]
229  *              (From John M. Choi <johnchoi@its.caltech.edu>)
230  *      o Header definition for Slackware (kernel 2.2/glibc 2.2) [iwlib]
231  *
232  * wireless 25 :
233  * -----------
234  *      o Remove library symbolic link before creating it [Makefile]
235  *      o Display error and exit if WE < 14 [iwevent]
236  *              (From Sander Jonkers <sander@grachtzicht.cjb.net>)
237  *      o Fix iwconfig usage display to show "enc off" [iwconfig]
238  *              (From Pavel Roskin <proski@gnu.org>)
239  *      o Formating : add spaces after cell/ap addr [iwconfig]
240  *      ---
241  *      o Do driver WE source version verification [iwlib]
242  *              (From Pavel Roskin <proski@gnu.org>)
243  *      o Cleanup user configurable options [Makefile]
244  *      o add FORCE_WEXT_VERSION [Makefile]
245  *      o Add uninstall directived [Makefile]
246  *      o Cleanup version warnings [iwlib]
247  *      o Fix iwconfig usage display to show "mode MODE" [iwconfig]
248  *      o Replace "rm -f + ln -s" with "ln -sfn" in install [Makefile]
249  *      ---
250  *      o Add various documentation in source code of [iwpriv]
251  *      o Allow to get more than 16 private ioctl description [iwlib]
252  *      o Ignore ioctl descriptions with null name [iwpriv]
253  *      o Implement sub-ioctls (simple/iw_point) [iwpriv]
254  *      ---
255  *      o Add DISTRIBUTIONS file with call for help [README]
256  *      o Change iw_byte_size in iw_get_priv_size [iwlib]
257  *      o Document various bugs of new driver API with priv ioctls [iwpriv]
258  *      o Implement float/addr priv data types [iwpriv]
259  *      o Fix off-by-one bug (priv_size <= IFNAMSIZ) [iwpriv]
260  *      o Reformat/beautify ioctl list display [iwpriv]
261  *      o Add "-a" command line to dump all read-only priv ioctls [iwpriv]
262  *      o Add a sample showing new priv features [sample_priv_addr.c]
263  *      o Update other samples with new driver API [sample_enc.c/sample_pm.c]
264  *      ---
265  *      o Fix "iwpriv -a" to not call ioctls not returning anything [iwpriv]
266  *      o Use IW_MAX_GET_SPY in increase number of addresses read [iwspy]
267  *      o Finish fixing the mess of off-by-one on IW_ESSID_MAX_SIZE [iwconfig]
268  *      o Do interface enumeration using /proc/net/dev [iwlib]
269  *      ---
270  *      o Display various --version information [iwlib, iwconfig, iwlist]
271  *      o Filled in Debian 2.3 & Red-Hat 7.3 sections in [DISTRIBUTIONS]
272  *      o Filled in Red-Hat 7.2, Mandrake 8.2 and SuSE 8.0 in [DISTRIBUTIONS]
273  *      o Display current freq/channel after the iwrange list [iwlist]
274  *      o Display current rate after the iwrange list [iwlist]
275  *      o Display current txpower after the iwrange list [iwlist]
276  *      o Add BUILD_NOLIBM to build without libm [Makefile]
277  *      o Fix infinite loop on unknown events/scan elements [iwlib]
278  *      o Add IWEVCUSTOM support [iwevent, iwlist]
279  *      o Add IWEVREGISTERED & IWEVEXPIRED support [iwevent]
280  *              (From Pavel Roskin <proski@gnu.org>)
281  *      o Make $(DYNAMIC_LINK) relative (and not absolute) [Makefile]
282  *      ---
283  *      o Replace all float occurence with double [iwlib, iwlist]
284  *      o Implement iwgetid --mode [iwgetid]
285  *      o Convert frequency to channel [iwlist, iwlib]
286  *              (Suggested by Pavel Roskin <proski@gnu.org> - always him !)
287  *      o Implement --version across the board [iwspy, iwevent, iwpriv]
288  *      o Implement iwgetid --freq [iwgetid]
289  *      o Display "Access Point/Cell" [iwgetid]
290  *      ---
291  *      o New manpage about configuration (placeholder) [wireless.7]
292  *      o Catch properly invalid arg to "iwconfig ethX key" [iwconfig]
293  *      o Put placeholder for Passphrase to key conversion [iwlib]
294  *      o Allow args of "iwconfig ethX key" in any order [iwconfig]
295  *      o Implement token index for private commands [iwpriv]
296  *      o Add IW_MODE_MONITOR for passive monitoring [iwlib]
297  *              I wonder why nobody bothered to ask for it before ;-)
298  *      o Mention distribution specific document in [PCMCIA]
299  *      o Create directories before installing stuff in it [Makefile]
300  *      ---
301  *      o Add Debian 3.0 and PCMCIA in [wireless.7]
302  *      o Add iw_protocol_compare() in [iwlib]
303  *      ---
304  *      o Complain about version mistmatch at runtime only once [iwlib]
305  *      o Fix IWNAME null termination [iwconfig, iwlib]
306  *      o "iwgetid -p" to display protocol name and check WE support [iwgetid]
307  *
308  * wireless 26 :
309  * -----------
310  *      o #define IFLA_WIRELESS if needed [iwlib]
311  *      o Update man page with SuSE intruction (see below) [wireless.7]
312  *              (From Alexander Pevzner <pzz@pzz.msk.ru>)
313  *      o Allow to display all 8 bit rates instead of 7 [iwlist]
314  *      o Fix retry lifetime to not set IW_RETRY_LIMIT flag [iwconfig]
315  *              (From Christian Zoz <zoz@suse.de>)
316  *      o Update SuSE configuration instructions [DISTRIBUTIONS]
317  *      ---
318  *      o Update man page with regards to /proc/net/wireless [iwconfig.8]
319  *      o Add NOLIBM version of iw_dbm2mwatt()/iw_mwatt2dbm() [iwlib]
320  *      ---
321  *      o Fix "iwconfig ethX enc on" on WE-15 : set buffer size [iwconfig]
322  *      o Display /proc/net/wireless before "typical data" [iwspy]
323  *              (From Pavel Roskin <proski@gnu.org>)
324  *      o Fix uninstall [Makefile]
325  *      o Change "Encryption mode" to "Security mode" [iwconfig/iwlist]
326  *      ---
327  *      o Add kernel headers that will be removed from wireless.h [iwlib]
328  *      o Remove IW_MAX_GET_SPY, people should use AP-List [iwspy]
329  *      o Re-word List of "Access Points" to "Peers/Access-Points" [iwlist]
330  *      o Add support for SIOCGIWTHRSPY event [iwevent/iwlib]
331  *      o Add support for SIOCSIWTHRSPY/SIOCGIWTHRSPY ioctls [iwspy]
332  *      ---
333  *      o Add SIOCGIWNAME/Protocol event display [iwlist scan/iwevent]
334  *      o Add temporary encoding flag setting [iwconfig]
335  *      o Add login encoding setting [iwlib/iwconfig]
336  *      ---
337  *      o Fix corruption of encryption key setting when followed by another
338  *        setting starting with a valid hex char ('essid' -> 'E') [iwlib]
339  *      o Fix iw_in_key() so that it parses every char and not bundle of
340  *        two so that 'enc' is not the valid key '0E0C' [iwlib]
341  *      o Fix parsing of odd keys '123' is '0123' instead of '1203' [iwlib]
342  *      ---
343  *      o Implement WE version tool redirector (need WE-16) [iwredir]
344  *      o Add "make vinstall" to use redirector [Makefile]
345  *      o Fix compilation warning in WE < 16 [iwlib, iwspy]
346  *      o Allow to specify PREFIX on make command line [Makefile]
347  *      ---
348  *      o Update wireless.h (more frequencies) [wireless.h]
349  *      o Allow to escape ESSID="any" using "essid - any" [iwconfig]
350  *      o Updated Red-Hat 9 wireless config instructions [DISTRIBUTIONS]
351  *              (From Pavel Roskin <proski@gnu.org>)
352  *      o Replace all %d into %i so we can input hex/oct [iwlib, iwpriv]
353  *      ---
354  *      o If >= WE-16, display kernel version in "iwconfig --version" [iwlib]
355  *              (From Antonio Vilei <francesco.sigona@unile.it>)
356  *      o Fix "wrq.u.bitrate.value = power;" => txpower [iwconfig]
357  *              (From Casey Carter <Casey@Carter.net>)
358  *      o Make iwlib.h header C++ friendly. [iwlib]
359  *      ---
360  *              (From Pavel Roskin <proski@gnu.org>)
361  *      o Make sure that KERNEL_SRC point to a valid directory [Makefile]
362  *      o Print message if card support WE but has no version info [iwlib]
363  *              (From Simon Kelley <simon@thekelleys.org.uk>)
364  *      o If power has no mode, don't print garbage [iwlib]
365  *      ---
366  *              (Bug reported by Guus Sliepen <guus@sliepen.eu.org>)
367  *      o Don't cast "int power" to unsigned long in sscanf [iwconfig]
368  *              (From Pavel Roskin <proski@gnu.org>)
369  *      o Add $(LDFLAGS) for final linking [Makefile]
370  *
371  * wireless 27 :
372  * -----------
373  *      o Add 'sed' magic to automatically get WT/WE versions [Makefile]
374  *      o Change soname of iwlib to libiwWE.so.WT [Makefile]
375  *              Now dynamicaly linked versioned install can work
376  *      o Default to dynamic build, don't build static lib [Makefile]
377  *      o Update installation instructions [INSTALL]
378  *      o fflush(stdout), so that redirect to file/pipe works [iwevent]
379  *              (From Pavel Roskin <proski@gnu.org>)
380  *      o Display properly interface name larger than 8 char [all]
381  *      ---
382  *      o Implement auto/fixed frequencies [iwconfig]
383  *              (From Pavel Roskin <proski@gnu.org>)
384  *      o Don't fail is ldconfig fails [Makefile]
385  *      ---
386  *      o Fix one forgotten strcpy(ifname) -> strncpy change [iwconfig]
387  *      o Fix all dangerous sprintf, replace with snprintf [iwlib]
388  *      o Change iw_print_xxx() API to take buffer length [iwlib]
389  *      ---
390  *      o "iwspy ethX +" did not work, fix wrq.u.data.length [iwspy]
391  *      o Fix stupid bug in displaying link/ap/cell stats [iwspy]
392  *      o Fix display of fixed length char private args [iwpriv]
393  *      o Add raw output for shell scripts, options -r [iwgetid]
394  *      o Tweak scheme output for freq and mode [iwgetid]
395  *              (From Andreas Mohr)
396  *      o Spelling fixes in README and man page
397  *      ---
398  *      o Add definitions for older version of W-Ext [iwlib]
399  *      o Always force compile with latest local version of wext [Makefile]
400  *      o Change soname of iwlib back to libiw.so.WT [Makefile]
401  *      o Get rid of redirector and "make vinstall" [Makefile/iwredir]
402  *      o Convert any struct iw_range to latest version [iwlib]
403  *      o Change run-time version warning to reflect new reality [iwlib]
404  *      o Remove compile-time version warning [iwlib]
405  *      o Add iw_get_kernel_we_version() to guess kernel WE version [iwlib]
406  *      o Remove all #ifdef WIRELESS_EXT, use dynamic iwrange version [all]
407  *      o Get/display wireless stats based on iwrange version [iwlib]
408  *      o Get power and retry settings based on iwrange version [iwconfig]
409  *      o Display power and retry settings based on iwrange version [iwlist]
410  *      o Optimise use of iwrange : read on demand [iwevent]
411  *      ---
412  *      o #include <wireless.h>, instead of using a #define [iwlib.h]
413  *      o Copy latest wireless.XX.h as wireless.h and install it [Makefile]
414  *      ---
415  *      o Fix various iwlist retry display bugs [iwlist]
416  *      o Fix dynamic link to libiw back to be libiw.so (doh !) [Makefile]
417  *      ---
418  *      o Trivial cleanups and docs updates
419  *      ---
420  *      o Implement "iwconfig XXX txpower on" and fix "fixed" [iwconfig]
421  *      o Always properly initialise sanlen before recvfrom() [iwevent]
422  *      o Zero buffer so we don't print garbage after essid [iwgetid]
423  *      o Document that 00:00:00:00:00:00 == no association [iwconfig.8]
424  *              (From Guus Sliepen <guus@sliepen.eu.org>)
425  *      o Fix doc typo : ad_hoc => ad-hoc [wireless.7/DISTRIBUTIONS.txt]
426  *      ---
427  *              (From vda <vda@port.imtp.ilyichevsk.odessa.ua>)
428  *      o Accept arbitrary number of private definitions [iwlib/iwpriv]
429  *      ---
430  *      o Added Hotplug documentation [HOTPLUG.txt]
431  *      o Add dependancies (gcc way), remove makedepend [Makefile]
432  *              (From Maxime Charpenne <maxime.charpenne@free.fr>)
433  *      o Traduction en francais des pages manuel [fr/*]
434  *      o Fix some incorrect/ambiguous sentences [iwconfig.8/iwevent.8]
435  *              (From Joshua Kwan <joshk@triplehelix.org>)
436  *      o Add 'const' qualifier to iwlib API [iwlib.c/iwlib.h]
437  *              (From Joey Hess <joey@dragon.kitenet.net>)
438  *      o Add Debian schemes scripts [debian/ifscheme*]
439  *      ---
440  *      o Add 'ifrename', complete rewrite of nameif [ifrename]
441  *      o Update documentation about ifrename [HOTPLUG.txt]
442  *              (From Joshua Kwan <joshk@triplehelix.org>)
443  *      o Fix disabling of key/enc with iw_set_basic_config() & WE<13 [iwlib.c]
444  *      ---
445  *      o Various bug fixes and improvements [ifrename]
446  *      ---
447  *      o Man pages for ifrename [ifrename.8/iftab.5]
448  *      o Update hotplug/ifrename documentation [HOTPLUG.txt]
449  *      ---
450  *      o Read configuration from stdin [ifrename]
451  *              (From Thomas Hood <jdthood@yahoo.co.uk>)
452  *      o Spell check and updated man page [wireless.7]
453  *              (From Pavel Roskin <proski@gnu.org>)
454  *      o Update and spellcheck documentation [HOTPLUG.txt]
455  *      ---
456  *      o Spin-off 'ifscheme' in a separate package to please Guus Sliepen
457  *      o Update documentation on 'ifscheme' [DISTRIBUTIONS.txt/README]
458  *              (From dann frazier <dannf@debian.org>)
459  *      o Spell check and updated man page [iwlist.8]
460  *      ---
461  *      o Cache interface static data (ifname/iwrange) [iwevent.c]
462  *      ---
463  *      o Change the policy to delete entry from cache [iwevent.c]
464  *      o If no TxPower in iwrange, still print current TxPower [iwlist.c]
465  *      o Use iw_get_basic_config() in iwconfig, bloat-- [iwconfig.c/iwlib.h]
466  *      ---
467  *              (From Pavel Roskin <proski@gnu.org>)
468  *      o Fix mode boundary checking in iw_get_basic_config() [iwlib.c]
469  *      ---
470  *      o Improved priv documentation [iwpriv.c]
471  *              (From Pavel Roskin <proski@gnu.org>)
472  *      o Fix token index bug : allow zero args [iwpriv.c]
473  *      o Grammar fixes in priv documentation [iwpriv.c]
474  *      ---
475  *      o Make iw_protocol_compare() smarter [iwlib.c]
476  *      o Display freq->channel conversion in scan results [iwlist]
477  *      o Display freq->channel conversion in events [iwevent]
478  *      o Interface name takeover support [ifrename]
479  *      o Update docu for Debian Sarge, various improvements [HOTPLUG.txt]
480  *      o Set wireless parameters in the proper order [iwlib]
481  *      ---
482  *              (Suggested by Pavel Roskin <proski@gnu.org>)
483  *      o Be less dramatic is driver doesn't export txpower info [iwlist]
484  *      o Be less dramatic is driver doesn't export bitrate info [iwlist]
485  *      o Use 'updated' bits to disable printing some qual [iwlib]
486  *      o Change the way we show 'updated' bits -> '=' vs. ':' [iwlib]
487  *      o Cosmetic update to channel display [iwlist/iwevent]
488  *      ---
489  *      o Easy scanning API (blocking & non-blocking) [iwlib]
490  *      o Add channel only support to iwgetid [iwgetid]
491  *      o Compile iwgetid with iwlib for above [Makefile/iwgetid]
492  *              (From Loic Minier <lool@dooz.org> via Guus Sliepen)
493  *      o Fix french man pages to not use special 'oe' char [fr/*.8]
494  *              (From Thomas Hood <jdthood@yahoo.co.uk>)
495  *      o Use hyphens instead of underscores in Debian docs [*.txt/*.7]
496  *      ---
497  *      o Update for WE-17 (wrq.u.freq.flags, IW_QUAL_*) [all]
498  *      o Use iw_get_ext() instead of ioctl() [iwgetid]
499  *      o Retry getting scan results with larger buffer [iwlist/iwlib]
500  *      o Display wireless event capabilities [iwlist]
501  *      o Add support for relative TxPower (yick !) [iwconfig/iwlist]
502  *      o Create iw_print_txpower() [iwlib]
503  *      o Add "Set" prefix for all SET wireless events [iwevent]
504  *              (Suggested by Pavel Roskin <proski@gnu.org>)
505  *      o Add support for get_freq and get_essid events [iwevent]
506  *      ---
507  *      o Reorganise iw_print_freq() => create iw_print_freq_value() [iwlib]
508  *      o Create iw_channel_to_freq() and use it [iwlib/iwconfig/iwevent]
509  *      o Fixup for WE-18 : Set scan takes an iw_point [iwlist/iwlib]
510  *      o Fixup for WE-19 : Take care of IW_EV_POINT_OFF [iwlib]
511  *      ---
512  *      o Introduces iw_sockets_close() [all]
513  *      o Set proper size on SIOCGIWSTATS requests [iwlib]
514  *      o Use iw_print_freq_value() in iwlist [iwlist]
515  *      o Optimise iw_print_bitrate() [iwlib]
516  *      o Fix wrq.u.data.flags => wrq.u.txpower.flags [iwconfig]
517  *              (From Denis Ovsienko <pilot@altlinux.ru>)
518  *      o Add dry-run support (only print name changes) [ifrename]
519  *      ---
520  *      o Move WE_VERSION/WT_VERSION to iwlib.h [iwlib/Makefile]
521  *      o Add support for new selector pcmciaslot [ifrename]
522  *      o Improve/cleanup DEBUG/verbose output [ifrename]
523  *      o Minor documentation updates [HOTPLUG.txt/DISTRIBUTIONS.txt]
524  *              (From Francesco Potorti` <pot@potorti.it>)
525  *      o Allow iwgetid to accept '-c' options [iwgetid]
526  *              (From Ian Gulliver <ian@penguinhosting.net>)
527  *      o Transform #define DEBUG into verbose command line switch [ifrename]
528  *      ---
529  *              (From Dan Williams <dcbw@redhat.com>)
530  *      o Fix buffer memory leak in scanning [iwlib/iwlist]
531  *      ---
532  *      o Make sure gcc inline stuff properly [iwlib.h]
533  *      o Update Hotplug documentation [HOTPLUG.txt]
534  *      o Add support for new selector firmware [ifrename]
535  *
536  * wireless 28 :
537  * -----------
538  *      o Fix gcc inline hack when using kernel headers [iwlib.h]
539  *              (From Denis Ovsienko <pilot@altlinux.ru>)
540  *      o Allow '-n' without '-i', even though inefficient [ifrename]
541  *              (From Thomas Hood <jdthood@aglu.demon.nl>)
542  *      o Fix technical and spelling errors in Hotplug doc [HOTPLUG.txt]
543  *      ---
544  *      o Include wireless.h as a local file, not a system file [iwlib.h]
545  *      o Split install targets [Makefile]
546  *              (Suggested by Jost Diederichs <jost@qdusa.com>)
547  *      o Increase scanning timeout for MadWifi [iwlib/iwlist]
548  *              (Suggested by Ned Ludd <solar@gentoo.org>)
549  *      o Multicall version of the tools for embedded [iwmulticall]
550  *      ---
551  *      o Fix some install Makefile targets broken in pre2 [Makefile]
552  *      ---
553  *      o Add option for stripping symbols on tools [Makefile]
554  *      o Add escaping of essid keyworks with -- in manpage [iwconfig.8]
555  *      o Update sensitivity description [iwconfig.8]
556  *      o Fix iw_print_timeval() for timezone [iwlib/iwevent]
557  *              (Suggested by Jan Minar <jjminar@FastMail.FM>)
558  *      o Escape interface name for --help/--version with -- [iwconfig]
559  *      o Allow --help/--version to be interface names [iwlist]
560  *              (From Martynas Dubauskis <martynas@gemtek.lt>)
561  *      o Fix invalid sizeof for stat memcpy in easy scanning API [iwlib.c]
562  *              (From Andreas Mohr <andi@rhlx01.fht-esslingen.de>)
563  *      o Fix my horrendous spelling [HOTPLUG.txt/PCMCIA.txt/README/*.8]
564  *      ---
565  *      o Make static lib use PIC objects [Makefile]
566  *      o Add SYSFS selector support to ifrename [ifrename]
567  *      o Fix a fd leak in pcmciaslot selector [ifrename]
568  *      o Don't complain about eth0/wlan0 if takeover enabled [ifrename]
569  *      o Update man pages for sysfs and eth0/wlan0 [ifrename.8]
570  *      o Update man pages for frequ auto/off [iwconfig.8]
571  *      o More clever manual loading and docking tricks [HOTPLUG.txt]
572  *              (From Pavel Heimlich tropikhajma@seznam.cz)
573  *      o Czech (cs) man pages [cs/*]
574  *      ---
575  *      o Fudge patch below for better integration [iwconfig/iwevent/iwlist]
576  *              (From Jouni Malinen <jkmaline@cc.hut.fi>)
577  *      o WE-18/WPA event display [iwevent]
578  *      o WE-18/WPA parameter display [iwconfig]
579  *      ---
580  *      o Replace iw_pr_ether() with iw_saether_ntop() [iwlib]
581  *      o Replace iw_in_ether() with iw_saether_aton() [iwlib]
582  *      o Remove iw_get_mac_addr() -> unused and bad API [iwlib]
583  *      o Add iw_mac_ntop() and iw_mac_aton() for any-len mac addr [iwlib]
584  *      o Slim down iw_ether_aton() using iw_mac_ntop() [iwlib]
585  *      o Slim down iw_in_key(), avoid memcpy [iwlib]
586  *      o Add support for any-len mac addr selector [ifrename]
587  *      ---
588  *      o Re-add temp output buffer in iw_in_key() to avoid corruptions [iwlib]
589  *      ---
590  *      o Add WE-19 headers, compile with that as default
591  *      o IW_EV_POINT_LEN has shrunk, so invert IW_EV_POINT_OFF fixup [iwlib]
592  *      o Remove WE backward compat from iwlib.h header [iwlib]
593  *      o Add support for IW_QUAL_DBM in iw_print_stats() [iwlib]
594  *      o Add support for ARPHRD_IEEE80211 in iw_check_mac_addr_type() [iwlib]
595  *              -> iwspy work on wifi0 netdev from airo.c
596  *      ---
597  *      o Set flags to 0 before asking old power settings for 'on' [iwconfig]
598  *              (Suggested by Denis Ovsienko <pilot@altlinux.ru>)
599  *      o Ignore empty lines in iface enumeration iw_enum_devices() [iwlib]
600  *              (From Pavel Roskin <proski@gnu.org>)
601  *      o Fix invalid buffer size in 'iwlist power' [iwlist]
602  *              (Suggested by Francesco Potorti` <pot@gnu.org>)
603  *      o Remove kernel headers, use glibc headers [iwlib]
604  *      ---
605  *      o Show explicit state for SIOCSIWAP, not numbers [iwconfig/iwevent] 
606  *      o Add WE-18 ioctls to the stream parser in standard_ioctl_hdr [iwlib]
607  *              (From Chris Hessing <Chris.Hessing@utah.edu>)
608  *      o Add GENIE parsing support in scan resuls [iwlist]
609  *      ---
610  *      o Change iw_extract_event_stream() API to add value index [iwlib]
611  *      o Scan : display bitrate values on a single line [iwlist]
612  *      ---
613  *      o Revert to previous iw_extract_event_stream() API, debloat [iwlib]
614  *      o Keep track of value index in [iwlist]
615  *      ---
616  *      o Check event stream 'point' payload size to avoid overflow [iwlib]
617  *      o Make all users of event stream 'point' safe to NULL [iwlist/iwevent]
618  *      o 'iwconfig txpower 1dBm' should not be 'mW' [iwconfig]
619  *      o Forward compat. to WE-21 : essid len is strlen, not +1 [iwconfig]
620  *      ---
621  *      o Forgot one place where essid len was strlen+1 [iwlib]
622  *      o Update definition of 'ap' and 'sens' to reflect reality [man]
623  *      ---
624  *      o Introduce WE_MAX_VERSION to take into account forward compat [iwlib]
625  *      o Add WE-20 headers, compile with that as default
626  *      ---
627  *      o Fix 'inline' for gcc-4 as well. Grrr... [iwlib]
628  *
629  * wireless 29 :
630  * -----------
631  *      o Add new power value : 'power saving' [iwconfig/iwlist/iwlib]
632  *      o Optimise getting iwrange when setting TxPower [iwconfig]
633  *      o Optimise displaying current power values (better loop) [iwlist]
634  *      ---
635  *      o Add modulation bitmasks ioctls [iwconfig/iwlist]
636  *      o Add short and long retries [iwconfig/iwlist/iwlib]
637  *      o Fix 'relative' power saving to not be *1000 [iwconfig/iwlib]
638  *      o iw_print_pm_value() require we_version [iwlib]
639  *      o Optimise displaying range power values (subroutine) [iwlist]
640  *      ---
641  *      o Fix 'relative' retry to not be *1000 [iwconfig/iwlib]
642  *      o iw_print_retry_value() require we_version [iwlib]
643  *      o Optimise getting iwrange when setting PowerSaving [iwconfig]
644  *      o Optimise displaying current retry values (better loop) [iwlist]
645  *      o Optimise displaying range retry values (subroutine) [iwlist]
646  *      ---
647  *      o Fix stupid bug in displaying range retry values [iwlist]
648  *      ---
649  *      o Add support for unicast and broadcast bitrates [iwconfig/iwlist]
650  *      ---
651  *      o Replace spaghetti code with real dispatcher in set_info() [iwconfig]
652  *              Code is more readable, maintainable, and save 700 bytes...
653  *      o Drop 'domain' alias for 'nwid'. Obsolete. [iwconfig]
654  *      o Make iw_usage() use dispatcher data instead of hardcoded [iwconfig]
655  *      o Factor out modifier parsing for retry/power [iwconfig]
656  *      o Fix iwmulticall to compile with new dispatcher above [iwmulticall]
657  *      o Add WE_ESSENTIAL compile option to drop 10kB [Makefile]
658  *      ---
659  *      o Update manpages with new features above [man]
660  *      ---
661  *      o Add temp variable to sscanf() to fix 64 bits issues [iwconfig]
662  *      o De-inline get_pm_value/get_retry_value to reduce footprint [iwlist]
663  *      o Optimise iw_print_ie_cipher/iw_print_ie_auth [iwlist]
664  *      o Add "Memory footprint reduction" section in doc [README]
665  *      o Add 'last' scan option for left-over scan [iwlist]
666  *              (From Stavros Markou <smarkou@patras.atmel.com>)
667  *      o Add 'essid' scan option for directed scan [iwlist]
668  *      ---
669  *              (Bug reported by Henrik Brix Andersen <brix@gentoo.org>)
670  *      o Fix segfault on setting bitrate (parse wrong arg) [iwconfig]
671  *      ---
672  *      o Revert 'CC=gcc' to normal [Makefile]
673  *      o Integrate properly patch below [iwlist]
674  *              (From Brian Eaton <eaton.lists@gmail.com>)
675  *      o More WPA support : iwlist auth/wpakeys/genie [iwlist]
676  *      ---
677  *      o Tweak man pages : interface is often optional [iwlist.8/iwspy.8]
678  *      o Drop obsolete port/roam code from [iwpriv]
679  *              (From Pavel Roskin <proski@gnu.org>)
680  *      o Fix bug where all auth masks use iw_auth_capa_name [iwlist]
681  *              (From Dima Ryazanov <someone@berkeley.edu>)
682  *      o Fix iw_scan()/iw_process_scan() for non-root -> EPERM [iwlib]
683  *              (Bug reported by Arkadiusz Miskiewicz <arekm@pld-linux.org>)
684  *      o Fix "iwconfig nickname" (was abreviated) [iwconfig]
685  *              (Bug reported by Charles Plessy)
686  *      o Invalid mode from driver segfault iwlist scan [iwlist]
687  *              (From Aurelien Jacobs <aurel@gnuage.org>)
688  *      o Replace index() with strchr() [iwlib/iwconfig/iwpriv]
689  *              (From Jens Thoms Toerring)
690  *      o Parser/printf/sscanf fixes and optimisation [iwconfig]
691  *      ---
692  *              (From Pavel Roskin <proski@gnu.org>)
693  *      o Fix bug extracting mountpoint of sysfs (wrong field) [ifrename]
694  *              (Suggested by Pavel Roskin <proski@gnu.org>)
695  *      o Read sysfs symlinks transparently [ifrename]
696  *      ---
697  *      o Fix README header to talk about ifrename [README]
698  *      o Add 'prevname' selector for udev compatibility [ifrename]
699  *      o Read parent directory names in SYSFS selector [ifrename]
700  *      o Make dry-run output compatible with udev [ifrename]
701  *      o Update man page with useful SYSFS selectors [iftab.5]
702  *      ---
703  *      o Factorise wildcard rewrite '*'->'%d' to hide it from -D -V [ifrename]
704  *      o Reorganise sysfs description, better wording [iftab.5]
705  *              (Suggested by Pavel Roskin <proski@gnu.org>)
706  *      o Enhance explanation of arp and iwproto [iftab.5]
707  *      ---
708  *              (Bug reported by Johannes Berg <johannes@sipsolutions.net>)
709  *      o Band-aid for the 64->32bit iwevent/iwscan issues [iwlib]
710  *      ---
711  *      o Better band-aid for the 64->32bit iwevent/iwscan issues [iwlib]
712  *              (Suggested by Kay Sievers <kay.sievers@vrfy.org>)
713  *      o Add udev compatible output, print new DEVPATH [ifrename]
714  *      ---
715  *      o Fix DEVPATH output to use the real devpath from udev [ifrename]
716  *      o Add udev rules for ifrename integration [19-udev-ifrename.rules]
717  *      ---
718  *      o Add largest bitrate in easy scan API [iwlib]
719  *      ---
720  *      o Debug version : output IW_EV_LCP_LEN [iwlist]
721  *      ---
722  *              (Bug reported by Santiago Gala/Roy Marples)
723  *      o Fix 64->32bit band-aid on 64 bits, target is local aligned [iwlib]
724  *      ---
725  *              (Bug reported by Santiago Gala/Roy Marples)
726  *      o More fix to the 64->32bit band-aid on 64 bits [iwlib]
727  *      ---
728  *              (Bug reported by Dimitris Kogias)
729  *      o Fix GENIE parsing os chipher/key_mngt [iwlist]
730  *              (Bug reported by Guus Sliepen <guus@debian.org>)
731  *      o Compiler warning on DEBUG code [iwlist]
732  *      ---
733  *      o --version output WE_MAX_VERSION instead of WE_VERSION [iwlib]
734  *      o Change iwstats dBm range to [-192;63] in iw_print_stats() [iwlib.c]
735  *      o Implement iwstats IW_QUAL_RCPI in iw_print_stats()  [iwlib.c]
736  *              (Bug reported by Guus Sliepen <guus@sliepen.eu.org>)
737  *      o LINUX_VERSION_CODE removed, only use GENERIC_HEADERS [iwlib.h]
738  *              (Bug reported by Johan Danielsson <joda11147@gmail.com>)
739  *      o Fix OUI type check for WPA 1 IE [iwlist.c]
740  *      ---
741  *              (Bug reported by Florent Daignière)
742  *      o Don't look for "fixed" out of array in set_txpower_info() [iwconfig]
743  */
744
745 /* ----------------------------- TODO ----------------------------- */
746 /*
747  * One day, maybe...
748  *
749  * iwconfig :
750  * --------
751  *      Make disable a per encryption key modifier if some hardware
752  *      requires it.
753  *      IW_QUAL_RCPI
754  *
755  * iwspy :
756  * -----
757  *      Add an "auto" flag to have the driver cache the last n results
758  *
759  * iwlist :
760  * ------
761  *      Add scanning command line modifiers
762  *      More scan types support
763  *
764  * ifrename :
765  * --------
766  *      Link Type should use readable form instead of numeric value
767  *
768  * Doc & man pages :
769  * ---------------
770  *      Update main doc.
771  */