]> git.decadent.org.uk Git - ap-utils.git/blob - ChangeLog
Imported Upstream version 1.5~pre3~a
[ap-utils.git] / ChangeLog
1 2005-01-16 Jan Rafaj
2         * ap-gl/auth.c: small bugfix
3
4 2005-01-15 Roman Festchook
5         * src/ap-rrd.c: added utility to store stats from AP into RRD database
6         * src/wlan.c: added 'ACK timeout' additional info into [T] SIFS time (msec)
7                 option description
8         * configure.in, NEWS: version 1.5pre2   
9
10 2005-01-11 Jan Rafaj
11         Note to SmartBridges PTE: you could have nice support in ap-utils
12         at cost of sending me one APPO sample. Since I actually have
13         no sample to test & verify on, all my support for airPoints is on
14         blind or 'someones trial and error report' basis. You should really
15         support OSS developers better way. Info about how to reliably load
16         airPoint PRO firmware to non-SB brand devices, based on the same HW
17         ref. design, would of course help too.
18
19         NOTE TO ALL USERS: IF YOU HAVE SMARTBRIDGES airPoint PRO (indoor or
20         outdoor) AND WANT BETTER AP-UTILS SUPPORT, YOU CAN SEND ME ONE SAMPLE
21         OF THIS DEVICE. OTHERWISE THERE WILL APPARENTLY BE _INCOMPLETE_ SUPPORT
22         EVEN IN FUTURE! THE LAST APPO I I'VE SEEN IN BAZAAR THAT I WAS PLANNING
23         TO GET IN ORDER TO IMPROVE SUPPORT IN AP-UTILS, HAS BEEN JUST SOLD
24         OUT, SO MY PLANS ARE GONE. I'M NOT WILLING TO PAY LIKE $350
25         FOR ONE SAMPLE JUST TO SUPPORT THE WORLD. SO UNTIL SOMEONE SUPPORTS
26         ME WITH SAMPLE DEVICE TO TEST ON, MY SUPPORT FOR SmartBridges
27         APPO in AP-UTILS IS _OVER_ (and this round of patches is apparently
28         the last effort to improve support in this area).
29         I'LL ALSO ACCEPT ANY DEVICE THAT USES THE SAME FIRMWARE / MIB
30         AS SMARTBRIDGES airPoint PRO.
31
32         You can contact me about the subjects above via e-mail at
33         <jr-aputils at cedric dot unob dot cz>.
34
35         Dedicated to memory of cat Micka, my pet.
36         * EZYNET-enhanced AP firmware is now freely available! Read more about
37           its availability, upgrade possibilities and caveats in README,
38           section 'Firmware available free of charge for ATMEL12350 MIB
39           devices' !!!
40         * renamed all references of 'VERNET' to 'EZYNET' (true vendor name)
41         * renamed all references of 'TELLUS' to 'GEMTEK' (Tellus, SparkLan,
42           etc. appear to be GemTek subsidiaries or at least they seem to use
43           firmware from GemTek. If someone knows I'm wrong with this
44           conclusion, please let me know).
45         * note: my primary focus is on support for devices running firmware
46           0.2.x.x, equipped with flash memory AT29LV040A (TSOP1), and
47           second SRAM, such as Tellus A14, SparkLan WX-1590L, etc.
48           Easy way of how to tell that the device has second SRAM, is
49           presence of (poor, locky) web management interface. Older devices
50           with single SRAM may be supported too, but my older test equipment
51           is restricted to W-Link WEN2021 and I-TEC AP GOLD / blue, which means
52           that support for other old ATMEL flavours may or may not work,
53           despite all effort towards supporting them.
54         * README:
55           - added entries for supported APs: i-Tec AP GOLD (black front),
56             InterEpoch IWE1000A, OSBRiDGE m2410/p2410, SparkLAN WX-1590,
57             SparkLAN WX-1590L, D-com WX-1590 web, BOSSWAP
58           - the supported AP table is now sorted according to manufacturer name
59           - added section 'Firmware available free of charge for ATMEL12350 MIB
60             devices'
61           - made WARNING notices more accurate
62         * THANKS:
63           - added entry with thanks to EZYNET
64         * Makefile.am:
65           - reordered directory components so that 'intl' and 'po' will be
66             built as last ones. This helps on systems with old/broken auto*
67             tools, where building 'po' may fail (it still will do, but its
68             failure now wont prevent building other components).
69         * Documentation/mibs-atmel:
70           - created & populated with all AT76C510 MIB prototypes that should
71             be supported by ap-utils
72         * ap-gl/ap-gl.c, ap-gl/stations.c:
73           - backport of few changes from respective counterparts in src/,
74             to stay compatible with changed color scheme definitions
75             and format of 'Stations' output (btw, there is now no difference!)
76         * ap-gl/auth.c:
77           - backported few non-invasive changes from auth.c
78         * lib/ap-utils.h:
79           - added DONE_WRITING_APCONF & ERR_WRITING_APCONF, since they are
80             now referred from connect_options() as well as get_opts()
81           - added new structs AssociatedSTAsInfo_ATMEL410,
82             AssociatedSTAsInfo_ATMEL12350, NetworkSettings_ATMEL410_SBRIDGES
83             and NetworkSettings_ATMEL12350_EZYNET in favour of unified support
84             across most available vendor-enhanced MIBs
85         * lib/common.c:
86           - connect_options() is now verbose about status of writing
87             ~/.ap-config file, through DONE_WRITING_APCONF & ERR_WRITING_APCONF
88           - bugfix: fixed ap_vendorexts[ap_type][] boundary check error;
89             no more segfaults when manually specifying MIB type as "ATMEL12350"
90           - bugfix: get_mib_details() no longer relies on OUI part of device's
91             eth. MAC address as authoritative info for MIB vendor extension
92             determination. This was 1. giving totally fake results
93             if someone changed device's MAC, and 2. giving false results
94             for people with devices whose firmware has had certain MIB vendor
95             extensions available (for example SparkLan users with GEMTEK
96             firmware). Autodetection should now work for much broader range
97             of devices with AP firmware.
98         * lib/file.c:
99           - added functionality for HOME, END, PGUP and PGDN keys
100         * lib/input.c:
101           - bugfix: in get_value(), use wmove()/wrefresh() instead of wechochar
102             with 0x08 char. (backspace) as parameter - this fixes visual effect
103             of disrespecting leftmost bound on platforms with older ncurses
104           - bugfix: get_mac() now forces user to specify all 12 numbers of MAC,
105             avoiding ambiguous results
106         * lib/menu.c:
107           - squeezed the number of wrefresh(menu) calls to a minimum
108           - mark and highlighting of current menu item are now
109             cleared/restored upon entering/leaving atmel_set_oeminfo()
110         * lib/oui.c: added OUIs:
111           - 000F3D (D-Link Corporation)
112           - 00112F (ASUSTek Computer Inc.)
113         * lib/scr.c:
114           - simplified & unified 'Stations' menu output section in
115             scroll_rows() - it is now used for all ATMEL AP types.
116             Part separately dealing with APs using SmartBridges firmware
117             has been eliminated.
118           - shorten screen output of print_top_rssi()
119           - bugfix: in scroll_rows(), clear_main(3) changed to
120             clear_main(row), to make the first-row offset of scroll list
121             really configurable (required by auth.c)
122         * lib/set_community.c:
123           - left boundaries of community fields now start at offset 37
124         * lib/set_oeminfo.c:
125           - now also shows board VID & PID
126           - added possibility to configure # of calibrated channels
127           Reached 100% compatibility with original utility.
128         * lib/snmp.c:
129           - removed RETRIES constant. Instead, snmp_retries now keeps
130             the default amount of retries. This was somewhat necessary,
131             as we may eventually influence amount of retries one snmp() call
132             will attempt, in src/aplink.c
133         * lib/test.c:
134           - since test() is not yet ATMEL12350-ready, temporary kludge
135             has been added to disable this menu for devices with
136             such a MIB
137         * lib/wlan.c:
138           - bugfix: fix utility crash, that could previously happen if
139             someone changed value of Fragm. threshold from default to
140             value < length of typical expected SNMP response packet,
141             on device managed with ap-config via wireless port.
142             The return value of snmp() is now checked against the number
143             of varbinds members entering snmp() (it covers return value
144             <= 0 as well).
145             NOTE: IT IS _VERY_ UNWISE AND RISKY TO CHANGE 'RTS threshold'
146             AND 'Fragmentation threshold' VALUES ON DEVICE MANAGED VIA
147             WIRELESS PORT, SINCE THEY HAVE DIRECT IMPACT ON PACKETS TRANSMITTED
148             VIA WIRELESS PORT, AND IF THE VALUE IS BEHIND CERTAIN THRESHOLD,
149             THE DEVICE MAY BECOME COMPLETELY _UNMANAGEABLE_ VIA WIRELESS PORT.
150             If this happens and you have management access to the device
151             via wireless port only, you may try your favourite *-snmp tools to
152             restore RTS threshold and Frag. threshold settings to their
153             default value (2346), but if this fails, the only real way left
154             to fix these values would be through ethernet or USB port. Beware!
155         * lib/set_oeminfo.c, lib/sysinfo.c, lib/wlan.c:
156           - bugfix: changed assumption about selection of proper length
157             sysDeviceInfo OID - this cant be distinguished based on ATMEL MIB
158             type, since, for example, NETGEAR ME102 MIB has ATMEL12350 MIB, but
159             has length of this structure 128 bytes (which most ATMEL410 MIB
160             equipped devices have). Now the proper structure is selected
161             based purely on length of response returned on SysDeviceInfo
162             SNMP query - should 'fix' all places that deal with values
163             generated by query to SysDeviceInfo OID
164         * src/aplink.c:
165           - newly introduced. Embeds atmel_aplink(), which is bound
166             to 'AP link' entry in the 'Info' menu. This entry allows to
167             monitor link state of the device in APclient or WRepeater mode.
168             It will inform user whether the APclient device is actually
169             associated to the AP or not, and if yes, what is the RSSI level of
170             the link (as well as Link Quality in case of device with
171             SmartBridges firmware, or actual connection speed in case of device
172             with EZYNET firmware), MAC of joined BSSID, ESSID, and used
173             RF channel.
174             RSSI top value per entire measurement session is also available.
175             Since the RSSI indication may be somewhat unstable (at least
176             with EZYNET firmware), showing of RSSI average from up to
177             99999 samples has also been implemented.
178             Note that the code will currently only work for ATMEL410 / SBRIDGES
179             or ATMEL12350 / EZYNET MIB devices, as MIBs of firmware from
180             other vendors does not seem to support NetworkSettings OID.
181             Exception is ATMEL12350 / NONE (NetGear ME102), whose APCLientInfo
182             OID is capable to give connection status too, but is not currently
183             implemented, since it uses different OID & structure and I do not
184             possess ME102 board to test with (TODO).
185         * src/ap-auth.c:
186           - hardened input validation for the '-i <ip>' parameter (according to
187             get_ip() in lib/input.c)
188           - added AP MIB type autodetection => utility will now also work
189             for devices with ATMEL12350 MIB. Devices with NWN MIB are yet
190             to be supported (TODO).
191           - assigned credits to Teemu
192         * src/ap-config.c:
193           - added definitions for several 'should be defined by default' color
194             pairs, that are actually used in bargraph code of aplink.c .
195             Previous pairs 1,2,3,4 were redefined to 11,12,13,14 to avoid
196             clash with 'standard' color pairs above. This change has been
197             propagated to all files dealing with color pairs.
198         * src/ap-mrtg.c:
199           - the same level of changes as in src/ap-auth.c. As side result,
200             it is no longer needed to specify AP MIB type (it will be
201             autodetected).
202           - bugfix: take into account different length of wirelessStatistics
203             structure in ATMEL12350 MIB & EZYNET extensions => '-t w'
204             will now also work for devices with this MIB & extensions.
205           - bugfix: restrict the '-t l' to ATMEL410 MIB devices in APClient
206             mode (ATMEL12350 MIB devices usually do not return any LinkQuality
207             indicators in wirelessKnownAPs structure).
208         * src/ap-tftp.c:
209           - introduced tftp client for upgrading ATMEL-based AP firmware.
210             Should work with boards utilising either 1.4x.y firmware (generally
211             AT76C510+INTERSIL boards, such as D-Link 1150, W-Link WEN-2021,
212             SmartBridges APPO, etc.), and boards utilising 0.x.y.z firmware
213             (generally AT76C510+RFMD boards, such as Tellus A14, Sparklan
214             WX-1590L, NetGear ME-102, OSBRiDGE p2410/m2410, etc.).
215             Use with care and NEVER EVER try to use this utility to upload
216             firmware that is from different vendor than your AP, unless you
217             perfectly know what you are doing, of course - otherwise,
218             you may irreversibly turn your AP into paperweight quite easily.
219             ATMEL APs are well known for their general firmware upload
220             design flaw (no authorization necessary for firmware upgrade),
221             that has caused many destroyed APs by joe-blow users uploading
222             incorrect firmware, and even APs destroyed by malicious users
223             that have intentionally uploaded incorrect firmware. See manpage
224             for details.
225             You have been warned.
226         * src/ap-trapd.c:
227           - recognise ATMEL12350 enterprise ID => will now react to traps
228             sent by devices with ATMEL 12350 enterprise MIB
229           - will now also print Trap number along with its string
230             representation
231           - bugfix: fixed problem with printing trap strings from
232             non-SmartBridges traplist when '-s' given, and vice versa
233         * src/auth.c:
234           - introduced as replacement for old 'auth_mac.c'. Simple 'auth'
235             name reflects its purpose better - it now contains not just
236             MAC-based "auth.", but also other auth. types (Radius, 802.1x)
237             based on the available MIB vendor "extensions".
238           - now properly distinguishes between authorization error and
239             invalid data error for SET snmp() operation. Particularly imporant
240             when user tries to enter Config/MAC Auth menu with user community
241             (which only permits reading, but not writing, and since writing
242             is basically required even for pure showing of authorized MAC
243             addresses, we need to distinguish these errors).
244             If the AP is accessed with 'user' community and it has record(s)
245             in MAC auth. list, it will print '(insufficient community used)'
246             in the first row of the MAC auth. list field.
247             public
248           - bugfix: it is now possible to delete last MAC entry too
249           - bugfix: when no MAC address left on the list, disallow 'Delete'
250             function
251           - should now be ready for move to lib/. (and purging in src/)
252           - it is now possible to 'escape' from prompt that appears after
253             pressing 'd' (delete MAC), upon entering '0'
254           - by default, if number of defined MACs is greater than the
255             visible scrolling area, the list tail will be shown
256           - if adding new MAC addresses, the list will advance to the last
257             (currently added) MAC entry to show its position in the MAC table
258           - added functionality for HOME, END, PGUP and PGDN keys
259           - added functionality for extra Auth. enhancements present in
260             ATMEL410 MIB with SBRIDGES extensions (Radius auth.), and
261             in ATMEL12350 MIBs with EZYNET extensions (802.1X auth.)
262           - now properly distinguishes MIBs with 2-mode AuthorizationMacEnable
263             OID, and those with 3-mode AuthorizationMacEnable OID
264           - added check against entering duplicated MAC to the MAC table
265         * src/bridge.c:
266           - bugfixes: since SBRIDGES and GEMTEK represent same lvalue, each
267             occurence of ap_vendorext comparison with value SBRIDGES or GEMTEK
268             must be and-ed with result of comparison against ap_type value
269             or all sorts of weirdness may occur (such as non-working options
270             for specific vendor extensions, although they normally should)
271           - bugfixes: revised presence of all OIDs in all actually supported
272             vendor-extended MIBs. Result: all available OIDs relevant to
273             this menu should now also be correctly supported on devices
274             with SmartBridges APPO firmware and NetGear ME102 device firmware.
275           - Label 'Wireless' for config-enabled port mode changed to
276             'Wireless (can be risky)'. I've finally made a resolution
277             to step forward in this - setting config-enabled port to
278             wireless-only can even be deadly for non-USB equipped devices,
279             if configured improperly, if no second ATMEL-based device
280             is handy for fixing conf. on the peer via its wireless port,
281             for outdoor installations, and in couple of other scenarios.
282             REALLY THINK MANY TIMES PRIOR SETTING THIS TO wireless-only !!!
283         * configure.in, src/Makefile.am:
284           - avoid needless linking with curses library for several utilities
285             (ap-auth, ap-mrtg, ap-tftp, ap-trapd).
286         * Sysinfo menu will now also show current 'Operational mode'
287         * bugfix: all conditions that check return value of to snmp(,i,GET)
288           with i > 1, changed from '<= 0' condition to '< i' condition.
289           This is very important in cases when the device does not return _all_
290           the requested varbinds members filled up, which would usually lead
291           either to memory corruption often followed by ap-config crash
292           with 'segmentation fault' reason. If there's unreliable media
293           between the managed device and ap-config, this could previously
294           happen - typically, devices managed via their wireless port
295           or incorrectly configured devices (bad Frag. threshold and/or
296           RTS threshold) may respond with incomplete replies.
297         * naming convention of many variables, structures and OID names changed
298           to respect this scheme (cosmetics, intended coding standard):
299           - names of several #defines changed to be descriptive as
300             'STATUS_DESCRIPTION'
301           - OID names, unless absolutely necessary, should be always named
302             EXACTLY after the corresponding OID name in MIBs for easier
303             referencing
304           - names of structures named after OID, should end with '_s' or
305             '_' followed by something reasonable
306           - variable names should reflect their whole purpose
307
308 2004-12-09 Roman Festchook
309         * lib/common.c: fixed getting additional character into AP label during autodetection
310
311 2004-12-09 Michel Robitaille
312         * po/fr.po: updated translation
313
314 2004-11-28 Roman Festchook
315         * Documentation/ap-gl.8, Documentation/README.ap-gl: info from
316             Documentation/README.ap-gl moved to ap-gl man page, removed
317             Documentation/README.ap-gl
318         * Documentation/README.ap-auth:
319              removed because all info now in ap-auth man page
320
321 2004-11-28 Roman Festchook
322         * lib/common.c: added checking then function called from ap-gl utility
323             in connect_options() automatic detecting MIB, extention. Now community
324             must be entered manually
325         * lib/ap_search.c: reverted back to scan oid Wireless info string (that find APs even
326             with wrong community) raser than APName oid; info string now truncated only if it
327             cant be displayed at current screen width (now it screen width independed)
328         * Makefile.am: into dist-hook added command to remove po/*.gmo files from
329             final distribution package to decrease size
330         * ap-gl/ap-gl.c: in ap-gl utility reverted back to ATMEL_PRISM rather than ATMEL410 naming
331         * Documentation/ap-config.8: fixed minor bug in example key for 64-bit WEP encryption
332             (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=243208)
333         * Documentation/ap-gl.8, Documentation/Makefile.am: added man page for ap-gl utility
334         * Documentation/ap-auth.8, Documentation/Makefile.am: added man page for ap-auth utility
335         * po/fr.po: fixed coredump in Config menu with French locale (now just removed long
336              translated string from po file)
337              (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=259645)
338         * po/uk.po: updated translation
339         * ap-gl/stations.c: fixed RSSI dBm representation
340         * configure.in: version 1.5pre1_FreedomOfUkraine
341         
342 2004-11-24 Jan Rafaj
343         * README:
344           - made WARNING2 more accurate; added WARNING3
345         * lib/Makefile.am:
346           - added set_oeminfo.c to the list of source modules
347         * lib/ap-utils.h:
348           - QHELP and SELECT #defines moved here from lib/stat.c, as we now
349             reuse them. QHELP renamed to QTHELP (+ toggling mode).
350           - added #defines for NONE, SBRIDGES, TELLUS and VERNET constants
351             with numbering according to new ap_vendorexts[][]. Actual values
352             of these are hold within newly introduced ap_vendorext global
353             (similar to meaning of ap_type global).
354           - new data type 'rdprops', used to describe regulatory domain
355             properties (code, description, first channel, last channel)
356           - formatting fixes (cosmetic)
357           - now #includes lib/ap-curses.h
358         * lib/ap_search.c:
359           - output formatting changes (unification)
360           - in case the length of AP NAME being displayed for actually
361             scanned AP exceeds 27 characters, truncate the display
362             to first 27 characters (80x25 screen limit) and append
363             '>' character to indicate that not full AP NAME has been
364             displayed
365           - user is now prompted for a community, that will be used
366             to detect APs, prior scanning
367         * lib/common.c:
368           - introduced new char *ap_vendorexts[][]; moved char *ap_type[]
369             here from src/ap-config.c and ap-gl/ap-gl.c
370           - in favour of proper naming, renamed all *APNAME #defines
371             to *APLABEL (same for texts, with a help message that clearly
372             states that AP LABEL is _independent_ of AP NAME (AP NAME = name
373             stored inside the AP), to prevent eventual user confusion.
374           - all references to 'name' changed to 'label' in order to respect
375             that AP label != AP name (see above). permitted length of label
376             is now max. of 16 characters.
377           - implemented ability to manually select MIB vendor extension
378             along with MIB type (previously just 'AP type:'). This was
379             really necessary as we couldn't rely on get_mib_details()
380             probing especially when the target AP was not available.
381           - if AP MIB type & vendor extension has been _autodetected_, or if
382             there's a good belief that the to-be-connected AP (via
383             connect_options()) is really alive (when we enter connect_options()
384             from ap_search()), then offer possibility to use AP NAME
385             as AP LABEL. However, as AP NAME may have max. length of 31
386             characters, it will be always truncated to first 16 chars
387             (max. length of AP LABEL), and user will be warned if this happens.
388           - introduced new 'rdprops regdom_types[]' field to unify reg. domain
389             description. Along with newly introduced regdom_types[]
390             and regdom_idx(), it enables us to get reg. domain properties
391             related to specific reg. domain code at any time, anywhere.
392             Merged reg. domain codes & properties of MKK1 & ISRAEL freq.
393             domains. Change: MKK domain defines only channel 14.
394           - squashed ch_list() in favour of regdom_types[] => killed malloc()s
395             in wlan.c & test.c. char *channels[] now keeps statically what
396             ch_list() was used to generate on demand before
397           - avoid asking for community upon entering connect_options()
398             called from ap_search(), as we already know the community
399           - thrown myself into about()
400         * lib/file.c:
401           - all references to 'name' changed to 'label' in order to respect
402             that AP LABEL != necessarilly AP NAME (see above)
403           - implemented storing of MIB vendor extension into ~/.ap-config
404           - changed name of stored file with MAC authorised addresses
405             in the AP from '~/ap-MIBTYPE.stations' to
406             'ap-IP-MIBTYPE-MIBEXT.stations'
407           - output formatting changes (in AP list code):
408             - 'NAME' -> 'LABEL', 'TYPE' -> 'MIB TYPE', newly introduced:
409               'MIB EXT'; accomodate to new layout
410           - in parse_db_str(), truncate displayed length of AP NAME to 16
411             characters (80x25 screen limit), upon length of label being read
412             > 16 characters (80x25 screen width limit), and append '>'
413             character to indicate that it has not been displayed
414             in its full length (TODO: remove screen width limits)
415           - fixed numerous memleaks caused by missing free()ing of
416             ip, passwd and label parts of APList structure in get_opts()
417           - option writing ~/.ap-config is now verbose. Required moving
418             main print_help() to the while(1) cycle body.
419           - save_Stations() is now verbose at minimum level
420         * lib/input.c:
421           - patched get_value() so that zero-length ANY_STRING type input
422             can be optionally allowed. Selected string input fields now accept
423             empty value. minv & maxv arguments switched from int to unsigned
424             int so that we may cover full uint32 range - also involved
425             switching from atoi() to strtoul(), as we need to check a condition
426             when errno == ERANGE (given value bigger than 0xFFFFFFFF).
427           - implemented wait_key() as unified means to wait for user input
428             selection different ways. The actual input mode with respect
429             to waiting is being held in wait_mode global, that can
430             be toggled using 't/T' keys in statistic views where appropriate
431             (SysInfo, Ethernet statistics, Wireless statistics).
432           - added help_ysn() as preferred & unified way to wait for user Y/N
433             choice. Prints Y/ safe N help message; clear settings subwin
434             & returns 0 upon pressing y/Y or 1 upon n/N. All Y/N code
435             everywhere has been replaced with single call to help_syn().
436         * lib/menu.c:
437           - added hidden call to atmel_set_oeminfo (secret 'OEM info settings'
438             menu), based on set_oeminfo_allowed global from set_oeminfo.c
439         * lib/scr.c:
440           - print_bottom() now also prints MIB vendor extension info
441             in form of 'Ext: <TAG>'
442           - introduced print_bold() to decrease high amount of low-level
443             attribute-setting stuff everywhere (involved conversion
444             to print_bold() wherever possible)
445           - removed print_viewtype() and all references to this replaced
446             with print_bold()
447         * lib/set_oeminfo.c:
448           - newly introduced. Actually only functional for ATMEL CPU-based
449             APs. ALLOWS TO CHANGE OEM INFORMATIONS STORED WITHIN THE AP,
450             AFTER PRESSING 'S' KEY WHILE IN 'Config' MENU. Note that this
451             is a HIDDEN function, since it is really only suitable for large
452             WISPs & repair shops. Compatibility level that has been achieved
453             with original windows utility is around 96%. Use with care.
454         * lib/snmp.c:
455           - added (currently commented out) new function ber_decode_uint().
456             It may come in handy elsewhere in the future.
457         * lib/sysinfo.c:
458           - atmel_sysinfo() now uses select() to wait for user keyboard input.
459             'q' or 'Q' key quits, others force update without clearing screen.
460           - (hopefully) fixed conversion of raw input buffer value to int
461             for uptime-displaying code
462         * lib/sysinfo.c, lib/sysinfo_set.c, lib/wlan.c, lib/ap-utils.h:
463           (cosmetical):
464           - added #include <time.h>, missing on some platforms
465           - renamed ptr410 and ptr12350 to str410 and str12350
466           - renamed SysDeviceInfo_* to sysDeviceInfo (MIB conformance)
467           - fixed interpretation of (long) INT value returned by the AP
468             in UpTime-displaying code
469           - implemented toggling of polling mode through 'T' [works
470             only with ATMEL12350 VERNET MIB-compatible devices]
471           - uses select() instead of getch() when polling is active
472           - indentation fixes (cosmetic)
473         * lib/test.c:
474           - changes to use channels[] and regdom_types[] instead of
475             ch_list() and malloc()s
476         * lib/wlan.c:
477           - changes to use channels[] and regdom_types[] instead of
478             ch_list() and malloc()s
479           - fix: added missing print_help(WAIT_RET)
480         * ap-gl/ap-gl.c:
481           - few indentation fixes (cosmetic)
482           - changes to keep sync with new lib functionality (MIB vendor
483             extensions code)
484         * ap-gl/stations.c, src/stations.c:
485           - print_help() is now called from within while(1) cycle, in order
486             to be compatible with updated save_Stations()
487         * src/bridge.c:
488           - fix: added missing print_help(WAIT_RET)
489         * 'RegulationDomain' renamed to 'RegulatoryDomain' for MIB conformance
490         * further optimisations everywhere for reusing print_bold()
491         * load of small bugfixes
492         * print_title() replaced with new print_top() that will also
493           handle displaying "view" type (on LHS) along with menu title
494           (on RHS) using single pass. This was really in need of unification.
495           Side effect: no need to redraw title strip on each screen update
496           anymore (no two separate ways to write to same location).
497         * some spelling, indentation & accuracy fixes here and there
498
499 2004-11-09 Jan Rafaj
500         * README:
501           - removed reference to HARDWARE-NOTES, that didnt made it into
502             previous ap-utils versions by accident
503           - added WARNING 1 and WARNING 2 sections (originally intended to be
504             in HARDWARE-NOTES, but the magnitude of their importance deserves
505             to put them straight into README)
506         * TODO: updated
507         * lib/ap-utils.h:
508           - added "(valid)" to the ERR_RET message, which more accurately
509             reflects what may actually happen (AP actually _may_ return
510             data, but in an unexpected format)
511           - enhanced WirelessStatistics structure for TransmittedPackets_11Mbps,
512             TransmittedPackets_55Mbps, TransmittedPackets_2Mbps, and
513             TransmittedPackets_1Mbps so that we can support functionally
514             enhanced firmware from VERNET WISP.
515         * lib/ap_search.c:
516           - in third column, display operAccessPointName OUI using label
517             "Name" instead of Wireless OUI. Makes more sense.
518           - made the number of APs per screen, as well as the offset at which
519             the info about whats actually scanned, is printed, relative
520             to the actual screen height (so to increase maximum hard-coded
521             amount of APs displayed, just switch from 80x25 console font
522             to a bigger one, or use X terminal window)
523         * lib/aps.c:
524           - reverted displaying back to RSSI & LQ both in % in screen 1.
525             This is becouse a) we want to keep as close to the view of the
526             original ATMEL utility as possible here, and b) huge dispersion
527             in dBm versus raw value of RSSI exists among different flavours
528             of APs, and the dBm formula unfortunately often gives results
529             very far from real values. So we want to display something thats
530             less jittering in the scope of inter-AP comparison.
531           - cosmetic fixes (2-line legend instead of 3-line)
532           - rebound the 'refresh' from 's' key to otherwise unused keys,
533             in favour of keyboard interface unification
534         * lib/common.c:
535           - created get_mib_details() to provide vendor-specific private
536             ATMEL MIB detection
537           - fixed a bug introduced by the 'name' patch, resulting in
538             omission to clear screen properly when user has given
539             insufficient credentials (bad password) to detect new AP type
540           - made the 'name'-patch code malloc-free (and memleak #2 free).
541             There's no point to use malloc()d space here since we dont
542             reuse it elsewhere (contrary to char *community).
543           - fixed bad variable boundary-handling introduced by 'name'-patch
544             that might result in crash of utility under circumstance
545             when ~/.ap-config didnt previously exist and user attempted
546             to add new AP with name of length >= 7 characters
547           - added possibility to skip name definition if user wants to
548             (useful for example when the newly added AP's IP will be used
549             solely for testing purposes :)
550         * vendor-specific private ATMEL MIB detection is now referred to
551           get_mib_details() everywhere
552         * lib/file.c:
553           - a lot of indentation fixes
554           - in get_opts(): fixed couple of bugs:
555             - it was possible to issue 'Connect' command when the AP list
556               was empty (was leading to endless loop)
557             - 'Delete' command failed to remove last remaining AP from the
558               list, ending up in endless loop (as get_value() doesnt do
559               sanity checking on its input paremeters)
560           - fixed a memleak #1 possibly introduced by 'name' patch - we need
561             to free char *name after its use
562           - in _scroll_rows(), fixed the AP MIB TYPE cutoff-by-format-string,
563             introduced by 'name' patch, and enhanced message size to accomodate
564             the true max. row size instead
565           - in get_opts() appended '(in ~/.ap-config)' behind the user-defined
566             APs list banner, to better reflect the real meaning of 'NAME'
567             (and other fields), to prevent someone from f.e. thinking
568             that the NAME here is the name stored in AP's configuration
569             (which it is NOT, of course).
570         * lib/oui.c: added OUIs:
571           - 000B46 (Cisco)
572           - 000D54 (3Com Europe Ltd)
573           - 000D88 (D-Link Corporation)
574           - 000EA6 (ASUSTEK COMPUTER INC.)
575         * lib/radio.c:
576           - fixed non-working radio menu with ATMEL12350 APs by merging the
577             initial TestModeRadioConfiguration and operAntennaSettings OID
578             modifications when ap_type == ATMEL12350
579         * lib/stat.c:
580           - replaced ERR_RET_PRESS with ERR_RET
581           - simplified; no more forking, goto's reduced, no need of
582             pipe(), alarm() or sig*jmp(); use select() for waiting -
583             it is now possible to quit (by pressing 'q' or 'Q') immediately.
584             Also, the counters now get updated immediately after pressing
585             whatever key != q.
586           - fixed a bug that, due to previous use of sig*jmp(), resulted
587             in lockup when attempting to quit ap-config after it has received
588             invalid packet, by pressing 'q' key several times
589           - WirelessStat(): implemented support of ATMEL 12350 functionally
590             enhanced MIB by VERNET WISP.
591         * lib/sysinfo.c:
592           - enhanced atmel_sysinfo() for displaying system uptime using
593             UpTime OID from ATMEL12350 VERNET MIB.
594         * lib/wlan.c:
595           - fixed showing/setting of BeaconPeriod value for ATMEL12350_TELLUS -
596             acceptable value range is now 0 - 65535 as originally intended
597           - new: implemented showing/setting of 'SIFS time' parameter, specific
598             to APs with ATMEL12350_VERNET firmware/MIB
599         * spelling & indentation fixes
600         * lib/scr.c, src/stations.c:
601           - implemented support for viewing statistics
602             produced by enhanced ATMEL 12350 firmware by VERNET
603           - implemented toggling of RSSI between 'dBm' view, '%' view, and
604             raw view - added new functions print_viewtype_rssi(), conv_rssi().
605             [TODO: update ap-gl/stations.c, too]
606           - pressing other than the selected keys will now result in refresh
607             of all values
608
609 2004-10-24 Roman Festchook
610         * lib/common.c: fix to clear display before displaying AP type 
611         * configure.in: version 1.4.2pre1
612
613 2004-10-24 Przemyslaw Stanislaw Knycz
614         * po/pl.po: translation updated
615
616 2004-10-18 Roman Festchook
617         * lib/common.c: fix to use get_value instead of get_pass for input AP name
618         * po/uk.po: translation updated
619
620 2004-10-18 Teemu Kiviniemi
621         * src/ap-auth.c: command line utility to change the list of authorised MAC addresses added
622         * Documentation/README.ap-auth: some docs for ap-auth utility
623
624 2004-10-18 Aleksey Korenkov
625         * lib/common.c, lib/file.c, src/ap-config.c: patch that adds name to list of APs
626
627 2004-08-08 Dan Pelleg
628         * lib/ap_search.c: fix error when build ap-utils on freebsd.
629
630 2004-06-22 Elif Bilge Maden
631         * po/tr.po: Turkish translation added
632
633 2004-05-16 Roman Festchook
634         * configure.in: version 1.4.1
635         * NEWS: main changes added
636
637 2004-05-16 Michel Robitaille
638         * po/fr.po: updated translation
639
640 2004-05-04 Roman Festchook
641         * lib/ap_search.c: Compiler Error for ap-utils on Darwin 7.3 (Mac OS X 10.3.3) fix
642
643 2004-04-04 Dieter Fiebelkorn
644         * lib/ap_search.c: Compiler Error for ap-utils on Darwin 7.3 (Mac OS X 10.3.3) fix
645
646 2004-03-20 Roman Festchook
647         * ap-gl/bridge.c: Isolate wireless clients status displaying fixed
648         * lib/snmp.c: decreased timeout waiting for snmp reply packet to 1 second
649         * src/ap-mrtg.c: to decrease usage of network and AP CPU AP name only requested if -n option specified
650
651 2004-03-06 Roman Festchook
652         * src/ap-trapd.c: MAc address logging changed to common ap-utils format (without any dividers)
653         * configure.in: version 1.4.1pre3
654
655 2004-02-27 Roman Festchook
656         * lib/ap-curses.h, configure.in: updates to build with SysV curses lib if ncurses not found
657
658 2004-02-27 Daniel Eisenbud
659         * lib, src, ap-gl: Solaris and SysV curses build fixes
660
661 2004-02-26 Roman Festchook
662         * lib/sysinfo.c, lib/wlan.c: fixed Bus error when getting SysInfo structure data from AP on Sun Sparc64 processor
663         * po/uk.po: updated translation
664         * lib, ap-gl, src: removed dublicated includes
665         * lib/ap-utils.h, lib/ap-curses.h, configure.in: updates to build on Solaris with SysV curses lib
666         * THANKS: updated
667
668 2004-02-25 Vladimir N.Velychko
669         * Documentation/Ukrainian/*: translation spelling fixes
670
671 2004-02-25 Roman Festchook
672         * lib, ap-gl, src: removed including config.h from files that include ap-utils.h
673         * lib/ap-utils.h, configure.in: another updates to MacOS X build
674
675 2004-02-24 Daniel Eisenbud
676         * lib/wlan.c: fix to make ap-config able to set ESSID on powerpc and probably other bigendian machines
677
678 2004-02-22 Roman Festchook
679         * src/stations.c; ap-gl/stations.c: added check if AP in Client mode with corresponding warning message to user
680         * configure.in: version 1.4.1pre2
681         
682 2004-02-21 Roman Festchook
683         * configure.in: updated to build under MacOS X
684
685 2004-02-10 Roman Festchook
686         * lib/scr.c: fixed memory leak in scroll_rows function
687         * lib/wlan.c: fixed wrong keys for changing values for NWN APs
688
689 2004-02-04 Roman Festchook
690         * configure.in: version 1.4
691         * NEWS: main changes added
692
693 2004-01-30 Roman Festchook
694         * Documentatin/README.ap-gl: added file with notes about ap-gl utility
695         * TODO: updated
696
697 2004-01-29 Roman Festchook
698         * ap-gl: changed ATMEL410 -> ATMEL_PRISM name, for safe use removed Config port blocking, merged wireless client isolation (unicast & broadcast).
699
700 2003-12-30 Roman Festchook
701         * ap-gl: added new utility for ATMEL410 AP with 1.4k.1 firmware and support for RADIUS auth, wireless clients isolation, Repeater mode, Config port blocking, connected APs extended info (MAC, IP, Parent IP, RSSI, LQ, Status, Port)
702         * lib, src, ap.gl: a lot of internal code moving from program to lib sources
703         * po/uk.po: translation updated
704         * TODO: updated
705         * configure.in: version 1.4pre2 "Happy New Year" release
706         * src/bridge.c: renamed options "Send back broadcast/unicast traffic) to Isolate wireless clients
707         
708 2003-12-28 Ashley Gittins
709         * src/ap-mrtg.c: changes to support ATMEL12350/ME-102 
710
711 2003-11-27 Roman Festchook
712         * TODO: updated
713
714 2003-11-27 Jacek Pliszka
715         * ap-utils.spec, Documentation/README.RPM: added spec file for rpm building
716
717 2003-11-25 Roman Festchook
718         * po/uk.po: updated
719
720 2003-11-23 Roman Festchook
721         * po/uk.po: updated to current sources
722         * src/common.c: changed copyright years to 2001-2003
723         * src/ap-mrtg.c: changed copyright years to 2002-2003
724         * src/aps.c: table header legenda increased to 3 lines
725         * TODO: updated with current goals and removed working now things
726         * configure.in: version 1.3.4pre1
727
728 2003-11-15 Jacek Pliszka
729         * src/ap-mrtg.c: added -n name option to ap-mrtg that, if used, checks if name of the AP polled is same as one given
730
731 2003-11-11 Roman Festchook
732         * src/ap-mrtg.c: fixed to return 999999999 for outgoing traffic when error connecting to AP exist 
733
734 2003-10-27 Jan Rafaj
735         * README,THANKS,TODO: modified
736         * HARDWARE-NOTES: added. This should keep important hardware-related
737           informations that the users _must_ read prior using ap-utils.
738         * reverted parameters order for on_off(), menu_choose() so that
739           we always use <row,col> order everywhere
740         * src/aps.c:
741           - made ap_viewtype global so that the selected view type
742             sustains for whole session
743           - replaced snmp() for SiteSurveyCommand scan with sendto(),
744             as buggy ATMEL12350 firmware does not confirm SiteSurveyCommand
745             reception, but goes straight to internal scanning loop.
746             This allows for attempts to perform SiteSurveyCommand
747             via wireless interface of the AP, which would previously
748             time out due to the reluctance of the firmware to send
749             confirmation, as described above.
750         * src/bridge.c: disallow remote BSSID option key if AP is in
751           Access Point mode
752         * src/common.c:
753           - again changed/corrected the order of autodetection.
754             We cannot check against sysDescr OID of ATMEL12350 in first step
755             becouse ATMEL410 devices would pass this check too and would
756             be falsely marked as ATMEL12350.
757           - added back possibility to manually select the AP type.
758             User is given a choice to either autodetect the device
759             (default), or specify type manually. The latter may have
760             advantage if the AP is not actually available via network.
761           - hide cursor again after user turns back from the subshell
762         * src/radio.c: implemented detection & setup functions for APs
763           that give response to operAntennaSettings OID query in 1-byte
764           format. It seems that these devices do not distinguish between
765           receiving and transmitting antennas. This is true even for some
766           APs with single antenna output (Tellus A14 as an example),
767           where this OID gives really no good to the sum of resulting
768           functionality (why would you ever need to set up which antenna
769           is left, right or diversity, if you got just one ? :^)
770         * lib/ap-utils.h, src/common.c, src/input.c:
771           - added new function get_pass(). This code has been taken from
772             common.c, modified and moved to input.c.
773           - AP type is now displayed once it is selected or autodetected
774           - maximum password length is 16 characters, not more (originally
775             it was 32). It is quite possible more than 16 may work
776             with some devices, but I've never seen an AP MIB that would
777             define community length > 16 characters.
778           - made the offsets at which the values are displayed, relative
779             to the length of option name strings, to ease work for
780             translators
781           - yes_no(): newly introduced
782           - ignore escape key presses in both get_value() and get_pass()
783         * src/ap_search.c:
784           - indentation fixes
785           - if connect_options() is called for discovered APs, the 'type'
786             argument has to be always > 0, as this is being checked
787             against in connect_options(). We increment it with one all
788             the time and decrement back after the check in connect_options().
789             Now, the user is not prompted for AP type in connect_options()
790             if he should not have to be (originally intended behaviour).
791           - check against duplicated responses from ATMEL410 APs. These
792             are also able to answer queries with 12350 in query OID. This
793             is now being explicitly checked for => no more duplicate
794             ATMEL410 and ATMEL12350 APs with same IPs in the Search menu.
795           - do not attempt to assign const char "public" to 'community'
796             variable, as we attempt to free() it elsewhere. We could use
797             malloc() here, but still, this would have no good reason since
798             user is (and should be) always prompted for a password once
799             he selects desired AP from the 'Search' menu, once it is found =>
800             all password-saving & handling parts have been removed for now.
801             This also fixes a crash that would occur if someone would try
802             to connect to an AP in 'Connect' menu, after unsuccessful
803             'Search' attempt.
804           - implemented searching per multiple network devices. This involved
805             modifying ap_search() and changing it to scan_local_segment(),
806             as well as making scan_local_segment() self-reentrant, plus
807             adding portable code to scan for available network interfaces
808             for their IP/broadcast(ptp) pairs, that are later used to scan
809             segments via scan_local_segment(). Thanks to Dan J. Bernstein
810             for an effort in writing portable SIOCGIFCONF-related code;
811             the current implementation is based on his ipme.c from Qmail.
812             No more using 255.255.255.255 as broadcast as well as source
813             IP scanning. Results are now accurate even on routers with
814             multiple network interfaces of different types. The current
815             ap_search() has been verified/tested with W-Link WEN2021
816             and Tellus TWL-A14 APs on Linux 2.2/2.4 and FreeBSD 4.9 .
817           - the progress is now verbose:
818             - each AP is shown immediately as soon as it is found
819             - the screen is realtime-updated with information about network
820               interface index, its name and AP type, currently scanned for
821           - it is now possible to quit from scanning process by pressing
822             'q' or 'Q' whenever user wants to
823           - do not attempt to connect to an AP by pressing a key with index
824             of AP that is not present in the 'found' table
825         * src/oui.c: added OUIs:
826           - 000C30 (Cisco)
827           - 000C41 (The Linksys Group, Inc.)
828         * configure.in: added check to determine whether the (struct sockaddr)
829           has 'sa_len' member, and if it has, #define HAVE_SA_LEN in order to
830           properly support network interface detection on 4.4BSD-ish systems.
831           Moved AC_CONFIG_AUX_DIR macro behind AC_INIT, to satisfy
832           newer autoconf. Also, moved template definition from acconfig.h here.
833         * acconfig.h: deleted (deprecated for newer autoconfs)
834         * src/menu.c: added hooks for keys, 'q' / 'Q', Home (PageUp), and
835           End (PageDown)
836         * src/set_community.c: use get_pass() for now instead of get_value(),
837           so that the passwords are hidden when someone types them in.
838           We should really use get_value() for this later, and make
839           the password hiding optional.
840
841 2003-10-21 Roman Festchook
842         * configure.in: version 1.3.3, added "thank you" message
843         * src/common.c: falling back to firstly implemented AP type autodetection order - firstly searching for ATMEL410, by default ATMEL12530
844         * NEWS: main changes added
845
846 2003-08-14 Roman Festchook
847         * configure.in: version 1.3.3-pre3
848
849 2003-09-08 Jan Rafaj
850         * README: added several APs to the table of supported hardware
851         * lib/ap-utils.h, src/ap-config.c, src/auth_mac.c: AuthMAC()
852           renamed to atmel_auth_mac()
853         * lib/ap-utils.h, src/input.c, src/test.c, src/set_community.c,
854           src/wep.c, src/wlan.c, src/auth_mac.c, src/bridge.c, src/common.c,
855           src/file.c, src/nwn_advanced.c, src/radio.c:
856           - get_value(): rewritten; now embeds the bounds as well as
857             pressed key checking. The range boundaries, the desired type
858             of input with respect to the acceptable characters, and the
859             pointer to a message to be restored, when a warning about
860             exceeded boundary is printed in the bottom stripe, are accepted
861             as four additional parameters now.
862           - get_ip(), get_mask(): newly introduced
863           - get_ip(), get_mac(): based on get_value(), with additional
864             bounds checking tailored accordingly and moved here from
865             src/bridge.c
866           - get_mask(): based on get_ip() with additional mask correctness
867             checking code moved here from src/bridge.c
868           - all the above functions were used to replace the respective
869             original input functions to match the changed prototypes
870           - the generic message 'Invalid value...' has been replaced
871             with 'Value must be in range %i - %i...'. This is printed
872             in bold-white/red in bottom stripe if the user input value
873             exceeds the predefined boundaries.
874           - added inet_aton()-specific includes to lib/ap-utils.h,
875             and removed elsewhere for multiple reasons
876         * src/wlan.c: fixed code displaying the ESSID - upon its change,
877           previously it could happen that if a newly written ESSID
878           would be shorter than the previous one, the loop that has been used
879           to display ESSID would [erroneously] expect the string to be
880           finished with '\0' (which is not required due to operESSIDLength),
881           and would display garbage with content of and length up to an
882           old ESSID string
883
884 2003-08-27 Jan Rafaj
885        * README: fixed/added some supported AP hardware entries
886        * lib/ap-utils.h, src/ap-config.c, src/bridge.c, src/radio.c,
887          src/set_community.c, src/sysinfo.c, src/test.c, src/wep.c,
888          src/wlan.c: hopefully the last round of changes in naming
889          convention
890        * src/bridge.c, src/wlan.c:
891          utility now distinguishes some extra MIB subtypes: for 410 enter-
892          prises MIBs: "SmartBridges" form, and for 12350 enterprises MIBs:
893          "Tellus" MIB form "prototype". The MIB form is being distinguished
894          based on the OUI part of MAC address of the device.
895          Other than those MIBs named above are considered "generic"
896          forms, becouse are very ubiquitous.
897          This procedure is necessary, becouse despite the fact that
898          many MIBs keep the same enterprises ID, they differ slightly
899          in OID structures (some OIDs are in one MIB and not in other,
900          and same OIDs even may have significantly different meaning -
901          this is a case of Tellus A14 MIB x NetGear ME102 MIB, f.e.).
902          So, unfortunately, there's no other way, but:
903          - make some MIB "prototypes" (aggregate those that contain
904            exactly the same information, based on the supported
905            AP models across all the device manufacturers)
906          - determine the correct MIB based on the OUI part of MAC
907            address of the device (we assume noone changes OUI part
908            of the MAC of his AP)
909          It is quite possible that this approach will need revision
910          in the future, but since there appears to be no 100% reliable
911          way of how to distinguish different device models of one
912          specific manufacturer, the above is currently the finest,
913          although still coarse enough, method to support most devices.
914        * src/bridge.c:
915          - 'Preferred BSSID' keys rebound from 'm/M' to 'r/R'
916          - 'Forward broadcast traffic' keys rebound from 't/T' to 'r/R'
917          - introduced new setting 'Trap-sending port(s)', and bound to 't/T'
918            key. This setting appears only if ATMEL12350 device with
919            "Tellus Group Co." OUI is detected.
920        * src/wlan.c:
921          - fixed 'Beacon period' input/output data formatting/displaying
922          - display/snag/set 'Beacon period' and 'DTIM sending interval'
923            options/their values only if the device uses "generic"
924            ATMEL12350 MIB prototype (that of NetGear ME102 for example).
925            This should fix crashing becouse of missing MIB OIDs for people
926            that use this kind of devices.
927
928 2003-08-25 Roman Festchook
929         * lib/ap-utils.h, configure.in: FreeBSD compile time fixes
930
931 2003-08-19 Roman Festchook
932         * src/ap_search.c: fixed getch delay and restoring current connect options when quiting search screen
933
934 2003-08-18 Jan Rafaj
935         * README, THANKS: modified
936         * most of string #defines moved from lib/ap-utils.h to the corresponding
937           modules in src - lib/ap-utils.h should keep just those that are
938           common to more than 1 module
939         * src/aps.c:
940           - fix bound-checking condition. Some APs with older ATMEL firmware
941             actually provide less space than 16 APs in its KnownAP reply,
942             and we also need to check for condition when lvalue of next MAC
943             entry in the response table is 0 (means end of statistics)
944           - only rewrite the current bridge_mode to 3 (AP client) if the
945             AP is ATMEL12350 type
946         * src/auth_mac.c, src/bridge.c, src/nwn_latest.c, src/sysinfo.c,
947           src/test.c, src/wep.c, src/wlan.c:
948           - stripped the formatting characters from remaining string #defines
949           - made the displaying value in 'Feature: value' dependant on offset
950             computed through strlen() from #defined string - this way,
951             the internationalisation is eased becouse translators dont need
952             to keep with original english strings size
953         * src/bridge.c: implemented new functionality from ATMEL 12350 MIB for:
954           - Configuration-enabled port(s)
955           - ForwardBroadcast
956           - SendBackBcast
957           - SendBackUnicast
958         * src/input.c: enhanced get_mac() for checking invalid MAC values
959           that user may type in; if he does, print generic error and loop
960           unless user gives syntactically correct value.
961         * src/radio.c: changed the 'Key' to '[key]' in bottom message for
962           uniformity.
963         * lib/ap-utils.h, src/sysinfo.c, src/wlan.c: renamed CFG_STRUCT_
964           {ATMEL410,ATMEL12350} to SysDeviceInfo_{ATMEL410,ATMEL12350}
965         * src/wlan.c: corrected offset of displayed values for features:
966           - InterRoaming
967           - BeaconPeriod
968           - DTIM
969
970 2003-08-14 Roman Festchook
971         * src/common.c: changed AP type autodetection order - firstly searching for ATMEL12350, by default ATMEL410
972         * configure.in: version 1.3.3-pre2
973         * src/aps.c: fixed connecting to choosen AP on ATMEL12350 APs in not AP Client mode
974
975 2003-08-14 Elros Cyriatan
976         * po/nl/po: New Dutch PO file for `ap-utils'
977
978 2003-08-11 Jan Rafaj
979         * next round of spelling and indentation fixes
980         * src/aps.c:
981           - made the 'KnownAP' statistics available only if the Access Point
982             is in AP client mode [original behaviour]. Some Access Points
983             may keep the statistics in their RAM, but no update is performed.
984             Even, sometimes, their RAM may contain garbage after reset,
985             which would cause parsing problems.
986         * lib/ap-utils.h, lib/reset.c, src/ap-config.c, src/ap-mrtg.c,
987           src/ap_search.c, src/aps.c, src/auth_mac.c, src/bridge.c,
988           src/cmd.c, src/common.c, src/radio.c, src/set_community.c,
989           src/stat.c, src/stations.c, src/sysinfo.c, src/test.c,
990           src/wep.c, src/wlan.c:
991           - changed all occurences of 'ATMEL' to 'ATMEL410' and
992             for 'ME102' to 'ATMEL12350'
993         * lib/ap-utils.h, src/ap-config.c, src/sysinfo.c:
994           - renamed sysinfo() to atmel_sysinfo()
995         * lib/ap-utils.h, src/ap-config.c, src/wlan.c:
996           - renamed wireless() to atmel_wireless()
997         * src/ap-config.c:
998           - redefined color pair 2 (black ink, green background), and defined
999             new color pair 3 (black ink, green background), and color
1000             pair 4 (white ink, red background). 2 is used for showing
1001             all string values actually changed by the user; 3 is used
1002             for displaying column-info stripe in aps.c, and 4 is used
1003             to display error-related messages in bottom status stripe.
1004         * src/input.c:
1005           - get_value() modified
1006         * src/scr.c, lib/ap-utils.h:
1007           - added new function print_menusel().
1008             Prints a message split up to two parts - first part without
1009             colors, second part in bright. Used in conjunction with get_value()
1010             to display parameters that the user modified, in bold.
1011           - added new function print_helperr(). This is basically the same
1012             as print_help(), with the only difference that it prints
1013             the text in white bold on red background. Uses color pair 4
1014             and bold attribute; see above.
1015         * names of all print_help() functions related to printing error
1016           messages have been changed to print_helperr()
1017         * src/auth_mac.c, src/bridge.c, src/radio.c, src/test.c, src/wep.c,
1018           src/wlan.c, lib/ap-utils.h:
1019           - implemented new colorisation scheme using print_menusel()
1020             and get_value(), get_mac() - if user enters a new value,
1021             the maximum space (in character counts) that can be used,
1022             is displayed in inverse color. As soon as user confirms
1023             the new value by pressing enter, the changed value is displayed
1024             in bold (so that he knows what he has actually changed).
1025         * src/bridge.c:
1026           - when entering AP's IP, mask and gateway, do not allow
1027             to pass further if the user input is invalid - instead, loop unless
1028             user enters valid information
1029           - hardened bounds checking against correct netmask value;
1030             now, invalid netmasks like 255.255.255.129 elicits error
1031             and forces prompt for new value, too
1032         * lib/ap-utils.h, src/ap-mrtg.c, src/ap_search.c: placed
1033           conditinal GLIBC checks => ap-utils now compile/run even
1034           on non-GLIBC (LIBC5-based and such) systems, hopefully.
1035           Actually it has only been tested with libc5-based Linux
1036           system.
1037         * lib/ap-utils.h, src/ap-mrtg.c, src/ap-trapd.c: placed conditional
1038           HAVE_GETTEXT checks around parts using gettext, to get
1039           ap-utils compile on systems without gettext support
1040         * lib/snmp.c, src/file.c: external declaration of ap_type datatype
1041           unified as 'short' and made global to make some old
1042           GNU C compilers happy
1043
1044 2003-08-07 Roman Festchook
1045         * src/brige.c: fixed bug when saving changed ip, netmask and gw
1046
1047 2003-08-07 Jan Rafaj
1048         * various spelling and indentation fixes here and there
1049         * all the ATMEL 12350-specific stuff below has been modelled
1050           using Tellus A14 AP.
1051         * src/aps.c:
1052           - made it malloc()-free. no more potential leaks.
1053           - 'KnownAP' now works for ATMEL 12350-based APs too
1054           - allow of up to 16 concurrent APs to be displayed
1055             in the 'KnownAP', as the packet itself may carry
1056             up to 16 records (768/48). This is also a fix
1057             becouse up to now, the menu has shown just the first
1058             AP entry.
1059           - The button for 'refresh without reset', originally bound to
1060             'g' and 'G' key, has been rebound to 's' ('S') key,
1061             since the keys a-g (A-G) are now used as keys, corresponding
1062             to numbers 10-16 of the APs displayed, when used in
1063             '# connect to this AP' command.
1064           - enhanced '# connect to this AP' functionality for
1065             also setting the appropriate channel through operChannelID
1066             OID
1067           - disallow connection to Ad-Hoc mode bridges
1068           - fixed bad effect of displaying 'Writing data to AP'
1069             after pressing AP number, even if the number of the
1070             selected AP is not actually present in the table
1071           - changed the color scheme to some more eye-pleasant values
1072           - implemented 4 different "views", that can be toggled
1073             via 't' ('T') key:
1074             * view 1: - most usual one; with RSSI and LQ in %
1075                         [ATMEL utility view]
1076             * view 2: - the same as 1; except that RSSI is displayed
1077                         in dBm and LQ in raw
1078             * view 3: - ESSID shown expanded to full length,
1079                         no NetworkType; RSSI displayed in raw,
1080                         LQ displayed in raw
1081             * view 4: - shown only BSSID, and its hardware manufacturer
1082           - the 'KnownAP' statistics is available without reset
1083             if the Access Point is either in any of APclient or AP modes,
1084             not just when it is in APclient mode.
1085         * lib/ap-utils.h:
1086           - HARD_CONFIGURATION_STRUCT is now replaced with two new
1087             structures: CFG_STRUCT_ATMEL (for ATMEL 410-based devices),
1088             and CFG_STRUCT_ME102 (for ATMEL 12350-based devices).
1089         * src/sysinfo.c:
1090           - sysinfo() made malloc()-free, and made both ATMEL 410-
1091             and ATMEL 12350-aware => SysInfo for APs of both ATMEL types
1092             is now displayed correctly
1093         * src/oui.c:
1094           - added OUI 000CCE (Cisco Systems)
1095         * lib/ap-utils.h, src/wlan.c:
1096           - made it fully ATMEL 410- and ATMEL 12350-aware
1097             (displaying/setting of additional InterRoaming, BeaconPeriod
1098             and DTIM parameters in case of ATMEL12350). Note that
1099             it is possible to regulate BeaconPeriod in range 0-65407
1100             and DTIM in range 0-255, but the boundary limits may vary
1101             with different hardware. I've tried to make as broad
1102             range coverage as possible. Anyway, for example, Tellus A14
1103             resets the BeaconPeriod internally to 100, if you write
1104             it with value out of 1-1000 interval.
1105           - rebound key for ESSID from 'd' ('D') to 'e' ('E')
1106
1107 2003-07-26 Roman Festchook
1108         * src/ap_search.c, src/common.c: changed AP types ATMEL to ATMEL410 and ME102 to ATMEL12350
1109         * src/common.c: added AP type autodetection - by default ATMEL12350
1110         * src/common.c, src/ap_search.c, lib/ap-utils.h: now its possible to choose working AP from AP search result
1111         * po/uk.po: updated translation
1112         * lib/ap-utils.h, src/brige.c: bigendian fixes when setting ip, netmask and gw
1113         * configure.in: version 1.3.3-pre1
1114
1115 2003-06-20 Roman Festchook
1116         * configure.in, acconfig.h, lib/ap-utils.h: small fix to compile under OpenBSD
1117         * po/*.po: fixed some fuzzy translations
1118         
1119 2003-06-03 Eugen Hoanca
1120         * po/ro.po, configure.in: added Romanian translation
1121
1122 2003-05-28 Roman Festchook
1123         * configure.in, NEWS: version 1.3.2
1124
1125 2003-05-26 Roman Festchook
1126         * config/config.guess, config/config.sub: updated from latest autoconf
1127
1128 2003-05-21 Roman Festchook
1129         * README: new supported AP added
1130         * configure.in: version 1.3.2-pre4
1131
1132 2003-05-20 Roman Festchook
1133         * src/ap-mrtg.c: fix bug like 2003-05-20 Peter 'p2' De Schrijver patch fixes
1134
1135 2003-05-20 Peter 'p2' De Schrijver
1136         * src/auth_mac.c, src/stat.c, src/sysinfo.c, lib/ap-utils.h: patch to fix ap-config for 64bit archs such as the alpha. It also fixes a minor bug on big endian machines. Patch tested on alpha, ia32, parisc and powerpc.
1137
1138 2003-04-29 Michel Robitaille 
1139         * po/fr.po: updated translation
1140
1141 2003-04-28 Roman Festchook
1142         * README: new supported APs added
1143         * src/auth_mac.c: small compile error with old gcc fixed
1144
1145 2003-04-26 Roman Festchook
1146         * README: new supported APs added
1147
1148 2003-04-15 Roman Festchook
1149         * po/pl.po: updated translation
1150         * lib/Makefile.am: not used code exluded for faster compilation
1151         * lib/ap-utils.h: code rearangement
1152         * src/scr.c: some updates for more faster screen handling
1153         * configure.in: version 1.3.2-pre3
1154
1155 2003-04-15 Przemyslaw Stanislaw Knycz
1156         * po/pl.po: fix to correct displaying polish chars
1157
1158 2003-03-13 Roman Festchook
1159         * README: new supported AP from SVEC
1160
1161 2003-02-27 Roman Festchook
1162         * FAQ: updates
1163
1164 2003-02-26 Roman Festchook
1165         * lib/*, src/*, README: added support fpr new Netgear ME102 enterprase in old Atmel mib (ME102 type)
1166         * configure.in: version 1.3.2-pre2
1167
1168 2003-02-25 Roman Festchook
1169         * README: new supported hardware from DCom removed (it's WLink hardware:)
1170
1171 2003-02-23 Roman Festchook
1172         * README: new supported hardware from DCom
1173
1174 2003-02-23 Roman Festchook
1175         * src/menu.c, src/input.c: added new vi-like keys to menu movement
1176         * Documentation/ap-config.8: added info about vi-like keys to menu movement
1177         * configure.in: version 1.3.2-pre1
1178
1179 2003-02-14 Roman Festchook
1180         * TODO: support for ME102 new mib
1181         * configure.in, NEWS: version 1.3.1
1182
1183 2003-02-11 Roman Festchook
1184         * src/wep.c, src/wlan.c: fixed for warnins when compiling by egcs-2.91
1185
1186 2003-02-08 Roman Festchook
1187         * src/common.c: removed unnecessary debug message 
1188
1189 2003-02-06 Roman Festchook
1190         * src/input.c, src/mac_auth.c, src/bridge.c. src/nwn_latest.c, src/sysinfo.c, lib/ap-utils.h: mac adresseses now dysplayed and entered like XXXXXXXXXXXX
1191         * Documentation/FAQ: added info about new ME102 AP
1192         * src/ap-search.c: fixed bug with closing sock descriptor after making search - what make impossible working with current AP without reconnect
1193
1194 2003-02-04 Roman Festchook
1195         * src/file.c: fixed updating options file bug
1196
1197 2003-02-03 Roman Festchook
1198         * src/wep.c, Documentation/ap-config.8: added info about WEP key values
1199
1200 2003-01-10 Roman Festchook
1201         * src/common.c: fixed options file name mismatch
1202
1203 2002-12-22 Roman Festchook
1204         * src/file.c: added keys for fast selecting one from first 9 APs, fixed coredump when parsing file in wrong format
1205         * po/uk.po: updated translation
1206
1207 2002-12-16 Roman Festchook
1208         * src/ap-mrtg.c: command line parameters parsing small fix
1209
1210 2002-12-15 Roman Festchook
1211         * configure.in: build cleanups
1212         * src/file.c, src/common.c: now connect option for many APs can be stored in file and current AP can be choosed from it
1213         * src/*, lib/*: many code cleanups and fixes
1214
1215 2002-12-10 Roman Festchook
1216         * configure.in, src/Makefile.am: fixes to build on OpenBSD
1217         * README: new supported OS OpenBSD
1218
1219 2002-12-05 Roman Festchook
1220         * README: supported hardware table updated
1221         * configure.in, NEWS: version 1.3
1222
1223 2002-12-02 Roman Festchook
1224         * src/ap-mrtg.c: fixed printing warning in non verbose mode when getting Link Quality stats
1225         * src/ap-mrtg.c, man/ap-mrtg.8: Signal Strenght returned in dBm
1226
1227 2002-11-25 Roman Festchook
1228         * man/ap-config.8: removed dead link
1229
1230 2002-11-25 Wolfgang Fuschlberger
1231         * Documentation/Ovislink-HOWTO.html: updated howto
1232
1233 2002-11-20 Roman Festchook
1234         * configure.in: defined LIBS and INSTALL variables to compile under QNX (nto-qnx)
1235         * INSTALL: updated with info about installing on QNX
1236         * README: new supported OS added
1237         * src/Makefile.am, configure.in: removed checking for ncurses libs and LIBS difinition moved to Makefile (I think its wrong but useful:)
1238         * src/aps.c, man/ap-config.8: RSSI now displayed in dBm (thanks to Ivan Korshun)
1239         * po/*.po: translations updates
1240
1241 2002-11-11 Michel Robitaille
1242         * po/fr.po: updated french translation
1243
1244 2002-11-10 Roman Festchook
1245         * man/*.8: removed referrer to ap-atmel and ap-nwn
1246
1247 2002-11-10 Dan Pelleg
1248         * src/wlan.c: patch to build on FreeBSD
1249
1250 2002-11-04 Wolfgang Fuschlberger
1251         * Documentation/Ovislink-HOWTO.html: howto use ap-utils with Ovislink hardware
1252         * README: new supported hardware from Ovislink
1253
1254 2002-11-01 Wojciech Puchar
1255         * po/pl.po: polish localization
1256
1257 2002-11-01 Roman Festchook
1258         * lib/common.c, po/*.po: spelling fixes 
1259
1260 2002-10-31 Roman Festchook
1261         * src/aps.c: fixed getting info from APs manufactured by CC&C Technologies
1262         * po/*.po: translations updates
1263
1264 2002-10-30 Roman Festchook
1265         * README: new supported hardware
1266         * src/aps.c: check for right channel added
1267
1268 2002-10-29 Rahul G
1269         * lib/ber.c: function to ber encode object identifiers added
1270
1271 2002-10-24 Roman Festchook
1272         * configure.in, NEWS: version 1.2
1273
1274 2002-10-21 Pawel P. Kaszynski
1275         * README: new supported hardware from Intellinet
1276
1277 2002-10-17 Michel Robitaille
1278         * po/fr.po: updated french translation  
1279
1280 2002-10-15 Roman Festchook
1281         * configure.in: more fixes to compile under netbsd
1282
1283 2002-10-11 Roman Festchook
1284         * lib/common.c: added option to disable saving connect options to file
1285
1286 2002-10-10 Roman Festchook
1287         * src/wlan.c: fixed fail to set essid because wrong len
1288         * Documentation/mib/atmel: new mib added form airBrige device
1289         * src/ap-trapd.c, man/ap-trapd.8: added support for Smartbridges
1290         airBrige traps, run utility with -s key
1291         * src/brige.c: added support for Smartbridges airBrige speciffic oid
1292
1293 2002-10-09 Roman Festchook
1294         * src/brige.c: added check for getted from AP values
1295         * configure.in: added CC variable to compile under netbsd
1296         * README, INSTALL, mib/ap-config.8: updates about merging utilites to ap-config
1297
1298 2002-10-07 Roman Festchook
1299         * src/ap-config.c, lib/common.c, lib/ap-search.c: connect and
1300         search procedure updates
1301
1302 2002-10-07 Dan Pelleg
1303         * lib/ap-search.c: fix to compile under FreeBSD 
1304
1305 2002-10-03 Roman Festchook
1306         * src: ap-nwn and ap-atmel merged to one utility ap-config
1307         * lib/snmp.c: decreased timeout waiting for reply from agent - in general it result more faster read SNMP data
1308
1309 2002-10-02 Roman Festchook
1310         * common/ap-search.c: socklen_t variables redefined to uint32_t for build package under MacOS-X 
1311         * common/file.c: char variable j redefined as unsigned to socessful build where char is per default unsigned on arm, powerpc and s390.
1312         * nwn/wlan.c: form handling code cleanups, fixed display refreshing after changing antenna and rate options
1313         * README: new supported hardware
1314         * configure.in, NEWS: version 1.1.1
1315
1316 2002-09-29 Roman Festchook
1317         * nwn/advanced.c, man/ap-nwn.8: added some advanced options to optimize long range links and antenna tuning
1318
1319 2002-09-28 Roman Festchook
1320         * atmel/aps.c: now after setting master AP from displated list also setted mode to AP client and ESSID to master AP ESSID, also now AP resets when getting stat only if brige mode = Access Point
1321         * nwn/reset.c, nwn/ap-nwn.c: added option to reset AP
1322         * atmel/wep.c: WEP encryption after fixes works - tested WEP64 crypted link between CompexWP11 and GL2411AP as client
1323         * atmel/ap-trapd.c, man/ap-trapd.8: updated traps list with new traps from 1.4j.1 firmware
1324         * atmel/brige.c: added Repeater mode to Brige modes
1325         * nwn/nwn.c: now possible to define 4 WEP keys and choose default key
1326
1327 2002-09-26 Roman Festchook
1328         * atmel/ap-mrtg.c: small fixes about link quality displaying
1329         * atmel/ap-trapd.c: small log format changes
1330         * README: new supported hardware Smartbridges airBrige and airPoint
1331
1332 2002-09-20 Roman Festchook
1333         * configure.in, NEWS: version 1.1
1334
1335 2002-09-19 Roman Festchook
1336         * atmel/aps.c: interface updates
1337         * po/uk.po, po/fr.po: small translations update
1338
1339 2002-09-19 Andy Igoshin
1340         * atmel/radio.c: now wors fin on big_andian
1341
1342 2002-09-17 Andy Igoshin
1343         * common/ap-utils.h, atmel/wlan.c: basic rates display fix
1344         * man/*.8: man page formatting updates
1345
1346 2002-09-17 Roman Festchook
1347         * nwn/stations.c: rewrited code that get associated stations info to avoid problems with invisible stations
1348         * nwn/stations.c, atmel/stations.c: fixed display last value problem
1349         * po/uk.po, po/fr.po: small translations update
1350         
1351 2002-09-16 Roman Festchook
1352         * nwn/stations.c, atmel/aps.c, man/ap-atmel.8, man/ap-nwn.8: display linkquality and signal strenght without any modification on returned values, documentation updates about it
1353         * po/uk.po: translation update
1354         * atmel/aps.c: added option to connect to one of the displayed known APs, also now possible reget and refresh (with reset) stats
1355         * atmel/ap-mrtg.c, man/ap-mrtg.8: aded option to reset AP when getting link quality stats, documentation updates about it, also after reset 10 second timeout set
1356
1357 2002-09-15 Andy Igoshin
1358         * atmel/ap-mrtg.c, atmel/aps.c, atmel/bridge.c, atmel/cmd.c, atmel/stat.c,
1359           atmel/stations.c, atmel/wep.c, atmel/wlan.c, common/ap-utils.h: code cleanups
1360         * nwn/sysinfo.c: code cleanups
1361
1362 2002-09-12 Andy Igoshin
1363         * configure.in: small fix for AIX
1364         * atmel/auth_mac.c, atmel/wep.c: case statement code cleanups
1365         * atmel/auth_mac.c: now works good with big_endian
1366         * common/ap-utils.h: additional macros for data conversion on big_endian
1367         * atmel/brige.c: removed any ip adderess converting on big-endian arch
1368         * atmel/wep.c: now encryption enable and key num works good with big_endian
1369         
1370 2002-09-12 Roman Festchook
1371         * nwn/sysinfo.c: removed any ip adderess converting on big-endian arch
1372         * atmel/auth_mac.c: changed type to mib defined
1373         * common/ap-utils.h: swap2 definition to little_endian arch
1374         * atmel/wep.c: some variables declaration moved to up to compile on old gcc compilers
1375
1376 2002-09-11 Roman Festchook
1377         * atmel/wlan.c: fixed unpackeing RegulatoryDomain on big_endian computers
1378         * atmel/bridge.c, nwn/sysinfo.c: fixed ip adderess converting on big-endian arch
1379
1380 2002-09-11 Andy Igoshin
1381         * atmel/sysinfo.c: fixed displaying RegulatoryDomain on big_endian computers
1382         * configure.in: OS definition now standart macro, AIX compilation options  
1383         * atmel/auth_mac.c: mac auth foxes for big_endian
1384
1385 2002-09-08 Andy Igoshin
1386         * atmel/Makefile.am, common/Makefile.am, common/ap_search.c,
1387           common/menu.c, common/scr.c, nwn/Makefile.am: patch to compile
1388           by native compiler under AIX 4.3.3
1389
1390 2002-09-08 Roman Festchook
1391         * README: new supported hardware Micronet SP918 and OS AIX 4.3.3 added
1392         * configure.in, common/ap-utils.h, acconfig.h: now big_endian defined
1393          using standart configure macro AC_C_BIGENDIAN (thanks Andy Igoshin
1394          for suggection)
1395
1396 2002-09-06 Roman Festchook
1397         * atmel/bridge.c, nwn/sysinfo.c: fixed ip adderess displaying on big-endian arch
1398         * README: new supported OS MacOS-X
1399         * configure.in: new big_endian arch Power Macintosh
1400
1401 2002-09-04 Roman Festchook
1402         * nwn/wlan.c, atmel/wlan.c: fixed setting channel bug under
1403             Spain and France regulatory domain
1404         * man/nwn.8: additional info about Search AP option
1405         * README: new supported hardware Dlink-1000AP
1406         * nwn/auth_mac.c: displaying mac autorization status fixed
1407
1408 2002-09-02 Roman Festchook
1409         * configure.in, NEWS: version 1.0.5
1410         * po/uk.po: ukrainian translation updates
1411
1412 2002-08-29 Roman Festchook
1413         * atmel/ap-mrtg.c, man/ap-mrtg.8, aclocal.h, configure.in, INSTALL: enable report to MRTG when unable to get stats 
1414         from AP now sturtup option, also command line arguments now parse using getopt() in ap-mrtg
1415         * atmel/ap-trapd.c, man/ap-trapd.8, aclocal.h, configure.in, INSTALL: option to change defaul unprivileged user
1416         now sturtup option, also command line arguments now parse using getopt() in ap-trapd
1417         * atmel/brige.c: entering AP mac address in Client mode fix
1418         * common.c, configure.in: macro for check big-endian arch (sparc and mips) now set variable AP_BIG_ENDIAN
1419
1420 2002-08-28 Roman Festchook
1421         * atmel/*.c, nwn/*.c, common/*.c: getting pressed key fixes to avoid reactions to neutral keys pressed by user
1422
1423 2002-08-28 Michel Robitaille 
1424         * po/fr.po: french localization
1425
1426 2002-08-27 Roman Festchook
1427         * atmel/stat.c, atmel/test.c, atmel/sysinfo.c, nwn/stat.c: applayed macro swap4 from Erik Rossen for display long values
1428         * configure.in: macro for check big-endian arch (sparc and mips) added
1429
1430 2002-08-27 Erik Rossen
1431         * common/ap-utils.h: added swap4 - a quick-and-dirty macro to unconditionally swap bytes in 4-byte integers between big-endian and little-endian ordering
1432         * INSTALL: instruction to compile under Sparc Linux
1433
1434 2002-08-26 Roman Festchook
1435         * README: updates and spelling
1436         * atmel/test.c: user interface in test mode improvements and fallback when error reading test stat from AP now will not quit tests to make possible restoring normal AP functionality, regulation domain restriction removed
1437
1438 2002-08-19 17:42  Dan Pelleg
1439         * nwn/ap-nwn.c: minor change for compile under FreeBSD 
1440
1441 2002-08-08 22:56  Roman Festchook
1442         * configure.in, NEWS: version 1.0.4
1443
1444 2002-08-02 20:29  Roman Festchook
1445         * configure.in: moved configuration utilites into config dir 
1446         * atmel/*.c: code rewrited to don't use struct to unpack data that
1447          comes from network (as suggect Erik Rossen its may fix problems
1448          running utility on nonintel computer architectures).
1449
1450 2002-07-24 01:06  Roman Festchook
1451         * configure.in, common/common.c, acconfig.h, INSTALL: added compile
1452          time option to disable regulation domain channel restrictions
1453
1454 2002-07-22 00:02  Roman Festchook
1455         * man/ap-atmel.8, man/ap-nwn.8: added manpages for ap-atmel and ap-nwn
1456
1457 2002-07-21 20:02  Roman Festchook
1458         * man/ap-trapd.8, man/ap-mrtg.8: added manpages for ap-trapd and ap-mrtg
1459
1460 2002-07-21 15:06  Roman Festchook
1461         * nwn/stations.c, atmel/auth_mac.c: getting data from AP algorithms
1462          optimization
1463
1464 2002-07-21 01:24  Roman Festchook
1465         * common/oui.c: added displaying AP manufacturer using OUI value
1466         * README: spelling fixes
1467
1468 2002-07-18 14:53  Roman Festchook
1469         * nwn/stations.c: added info about waiting for data when getting
1470          data from AP
1471
1472 2002-07-16 01:04  Roman Festchook
1473         * configure.in: version 1.0.3
1474         * common/ap_search.c, common/set_community.c: code of search and auth
1475          functions moved into common for both utilites functions
1476         * Makefile.am: now packages will be compressed by bzip2 (to save
1477          bandwith)
1478
1479 2002-07-15 19:31  Roman Festchook
1480         * common/scr.c, common/common.c, common/ap-utils.h: added info about
1481          current AP at right bottom of the screen
1482
1483 2002-07-14 00:20  Roman Festchook
1484         * po, intl, m4: integration with GNU gettext for simlying localization
1485          and translation
1486         * src: a lot of internal code optimization and spelling
1487         * nwn/search.c: AP search fixes
1488         * po/uk.po: ukrainian localization
1489
1490 2002-07-07  gettextize  <bug-gnu-gettext@gnu.org>
1491         * Makefile.am (SUBDIRS): Add intl.
1492         (ACLOCAL_AMFLAGS): New variable.
1493         (EXTRA_DIST): New variable.
1494         * configure.in (AC_OUTPUT): po/Makefile.in, m4/Makefile.
1495
1496 2002-07-07 05:20  Roman Festchook
1497         * ap-trapd: log additiomal info about agent that generate trap
1498
1499 2002-07-05 02:00 Roman Festchook
1500         * common/ap-cnf.h, *.c: common/ap-cnf.h renamed to common/ap-utils.h
1501         * nwn/menu.c, atmel/menu.c, common/menu.c, common/ap-utils.h,
1502          common/Makefile.am: menu handling code rewrited to one universal
1503           routine
1504
1505 2002-07-04 15:44 Roman Festchook
1506         * configure.in: version 1.0.2
1507
1508 2002-06-29 20:15 Roman Festchook
1509         * nwn/search.c: error messages fixes
1510         * configure.in: added test for Linux
1511         * atmel/ap-trapd.c: fixed displaying new IP when SettingPingIPAddress
1512          trap received, also displaying mac address limited to related traps, 
1513          bind to device code compiled only at Linux
1514         * Documentation/README.trapd: info about bind to device option code
1515          work only at Linux
1516         * Documentation/THANKS: new contributor Dan Pelleg
1517         * common/ap-cnf.h, README: changed project name to Wireless Access
1518          Point Utilites for Unix
1519
1520 2002-06-28 17:14 Roman Festchook
1521         * atmel/Makefile.am, nwn/Makefile.am, common/Makefile.am: added options
1522          to compile on FreeBSD
1523
1524 2002-06-28 16:45 Dan Pelleg
1525         * atmel/ap-atmel.c, atmel/ap-mrtg.c, atmel/ap-trapd.c, atmel/bridge.c,
1526         atmel/radio.c, atmel/search.c, common/common.c, common/file.c,
1527         common/snmp.c, nwn/ap-nwn.c, nwn/search.c, nwn/sysinfo.c, nwn/wlan.c:
1528          patch to compile and run on FreeBSD
1529
1530 2002-06-26 15:53 Roman Festchook
1531         * configure.in: version 1.0.1
1532
1533 2002-06-24 23:40 Roman Festchook
1534         * ap-trapd: by default installed into '/usr/local/sbin'
1535         * src: code cleanups and compiler warnings fixes
1536
1537 2002-06-21 16:34 Roman Festchook
1538         * */Makefile.am: added target style
1539         * atmel/ap-mrtg: code rearangement
1540
1541 2002-06-17 09:24  Roman Festchook
1542         * README: ap-amtel does work with an D-Link DWL 900AP wich is
1543           (according to some google research it's an Linksys WAP11). Reported
1544           by Jens Link <jenslink at quux dot de>. 
1545
1546 2002-06-16 18:48  Roman Festchook
1547         * ap-trapd: added compile time option to set nonprivileged account
1548          for running utility
1549
1550 2002-06-16 03:12  Roman Festchook
1551         * Makefile: now Makefiles generated by GNU autoconf and automake
1552         * INSTALL: updated with info about new instalation procedures
1553         * ap-mrtg: added compile time option to disable warnings when unable
1554          to get data from AP
1555         * atmel/aps.c: removed unnecessary code that read/set remote brige
1556          BSSID
1557         * atmel/search.c, atmel/wlan.c, nwn/search.c, nwn/wlan.c: compile
1558          time warnings fixed
1559
1560 2002-06-15 02:10  Roman Festchook
1561         * ap-atmel: added try to restore settings when fail to get KnownAPs
1562          info
1563
1564 2002-06-09 23:33  Roman Festchook
1565         * version: 1.0
1566         * ap-mrtg: removed email from usage message
1567         * ap-mrtg and ap-trapd code: placed into atmel directory
1568         * Makefile: some optimization at subdirs and at top level
1569         * Documentation: mibs now back to package
1570         * NEWS, AUTHORS: added
1571
1572 2002-06-08 01:03  Roman Festchook
1573         * ap-trapd: fixed getting data from old trap body when processing
1574             new trap
1575
1576 2002-06-06 14:29  Roman Festchook
1577         * ap-trapd: rewriten to log shorter messages without informative
1578             data lost
1579         * Documentations: some updates for preparing to version 1.0
1580
1581 2002-06-05 00:01  Roman Festchook
1582         * ap-atmel: added warnings in potentially dangerous options:
1583                 KnownAPs, Reset, Upload, Defaults, Restore
1584
1585 2002-06-01 00:20  Roman Festchook
1586         * version: 1.0pre3
1587         * ap-mrtg: added selecting AP to which get
1588             Link Quality/Signal Strenght statistics, also updated documentation
1589
1590 2002-05-31 00:50  Scott L. Thomas, Roman Festchook
1591         * ap-mrtg: option to get Link Quality/Signal Strenght stat from AP in
1592                 client mode added
1593         * Documentation/README.mrtg: description about getting Link
1594          Quality/Signal Strenght stat from AP in client mode added
1595         * Documentation/README.nwn: added info about basic rates setting
1596         * ap-atmel, ap-nwn: added backspace support when entering password
1597
1598 2002-05-30 14:05  Roman Festchook
1599         * ap-trapd: option to bind listening for traps
1600                 on a specific interface added
1601         * Documentation/README.trapd: option to bind listening
1602             for traps on a specific interface described
1603         * Documentation/README.nwn: added info about associated stations
1604
1605 2002-05-29 19:30  Roman Festchook
1606         * ap-nwn: fixed basic rates, AP name and ESSID displaying
1607         * ap-atmel, ap-nwn: some optimization for size 
1608         * snmp.c: memory leaks fixes when parsing received packets
1609         * ap-nwn: uptime displaying fixed
1610
1611 2002-05-27 00:03  Roman Festchook
1612         * version: 1.0pre2
1613         * ap-atmel: added Regulation domain restriction to select channel
1614          in Test Mode
1615         * ap-atmel, ap-nwn: added floating dropdown menus for choose from
1616          the list of options
1617
1618 2002-05-26 16:45  Roman Festchook
1619         * ap-nwn: fixed lenght bug in setting AP name
1620
1621 2002-05-25 14:05  Roman Festchook
1622         * Documentation: added banner image:))
1623
1624 2002-05-22 00:19  Roman Festchook
1625         * version: 1.0pre1
1626         * Documentation: additions and spelling
1627         * src: removed unused code
1628
1629 2002-05-21 20:06  Roman Festchook
1630         * ap-nwn: added option to find connected APs
1631
1632 2002-05-20 01:37  Roman Festchook
1633         * ap-nwn: added basic rates choose options, added WEP key set options,
1634                 added setting prefered channel to operational channel value
1635         * Documentation: mibs excluded from program package (they come with
1636          devices), also excluded power hack docs (readme has links to this
1637          pages) - this greatly reduce package size:)
1638
1639 2002-05-18 19:51  Roman Festchook
1640         * ap-atmel: fixed bug with unable to repeat APs search,
1641             other search fixes and improvements
1642
1643 2002-05-17 15:51  Roman Festchook
1644         * version: 0.9.6
1645         * ap-atmel: added option to find connected APs
1646
1647 2002-05-16 00:12  Roman Festchook
1648         * atmel/aps.c: removed timeout when getting KnownAPs stat
1649             from AP in client mode
1650
1651 2002-05-15 20:57  Roman Festchook
1652         * ap-mrtg: added option to get associated stations stat
1653         * README.mrtg: info about stations stat
1654         
1655 2002-05-11 08:49  Erik Rossen
1656         * src: fixed compile time errors and warnings
1657         * atmel/scr.c, nwn/scr.c: patch to get rid of the annoying flicker
1658                 every time one changes a menu
1659
1660 2002-05-06 02:42  Roman Festchook
1661         * common/file.c: now AP ip and community string saved
1662             in config file ~/.<utility_name>, so no need to
1663             input it after each program start
1664         * common/common.c: connection password at input
1665             displayed with '*'
1666         * wlan.c: added Regulation Domain limit on setting channel
1667         * atmel/aps.c: Now KnownAP stat may be get without AP reset if AP
1668             in client mode
1669         * atmel/radio.c: Antenna checks on Atmel, so user can't disable both
1670             antenna, if he do this and save conf - AP restores factory
1671             defaults, now it fixed
1672         
1673 2002-05-05 22:39  Roman Festchook 
1674         * common/file.c: now Associated Stations list
1675             may be saved to file ~/<utility_name>.stations.
1676
1677 2002-05-04 23:26  Roman Festchook 
1678         * version: 0.9.5
1679         * README.atmel: added description of most configuration options
1680         * Documentation: updated documentations
1681         * source tree: changed structure
1682         * ap-cnf: renamed to ap-atmel
1683
1684 2002-05-04 18:46  Roman Festchook 
1685         * ap-nwn: added utility to config Compex WP11
1686
1687 2002-05-02 18:46  Roman Festchook 
1688         * ap-atmel/auth.c: fixed mac number error when deleting addresses
1689          from list
1690         * snmp.c: now returned from agent oid accessible in program
1691
1692 2002-05-01 17:43  Roman Festchook 
1693         * snmp.c: added support for Compex WP11 SNMP-agent
1694
1695 2002-05-01 13:01  Roman Festchook 
1696         * FAQ: added FAQ 
1697
1698 2002-04-30 16:40  Roman Festchook 
1699         * src/ap-trapd.c: fixed bug with SettingPingIPAddress trap message 
1700
1701 2002-04-27 00:17  Roman Festchook 
1702         * src/sysinfo.c: added description for Regulation Domain
1703
1704 2002-04-23 21:12  Roman Festchook 
1705         * version: 0.9
1706         * src/test.c: finished test mode
1707         * docs: documentation updates
1708
1709 2002-04-23 19:00  Roman Festchook 
1710         * src/radio.c: added option to enable/disable antennas
1711         * src/menu.c: small menu rearangement again:))
1712
1713 2002-04-22 17:08  Roman Festchook 
1714         * src/auth.c: fixed mac number error when deleting addresses from list
1715         * src/menu.c: small menu rearangement
1716
1717 2002-04-15 20:20 Kucherak Sergij, Roman Festchook 
1718         * version: 0.8.2
1719         * INSTALL, README.ap-cnf: added ukrainian docs
1720
1721 2002-04-15 20:01  Roman Festchook 
1722         * src/aps.c: added displaying Link Quality and Signal Strenght
1723
1724 2002-04-14 23:18  Roman Festchook 
1725         * src/stat.c: fixed bug, that cause unable to exit
1726             problem when can't to get Ethernet or Wireless stat
1727         * src/aps.c: addded showing Preambule and Wep, also fixed
1728             bug with displaying Network Type
1729         * src/test.c: added unknown OID (see doc/todo),
1730             test mode still not work
1731         * src/snmp.c: fixed some warnings from gcc version pre3    
1732
1733 2002-04-14 00:12  Roman Festchook 
1734         * src/ap-cnf.c: showing cursor when entering
1735             password/community in connect screen
1736
1737 2002-04-12 00:14  Roman Festchook 
1738         * src/auth.c: fixed displaying and setting mac authorization status
1739
1740 2002-04-07 22:32  Roman Festchook 
1741         * version: 0.8.1
1742         * src/menu.c: added printing tips to all menu options
1743         
1744 2002-04-07 13:52  Roman Festchook 
1745         * src/Makefile: added 'install' option
1746
1747 2002-04-06 23:50  Roman Festchook 
1748         * name: changed name to Access Point SNMP Utils for Linux
1749         * src/stat.c: added mac address displaying in SysInfo,
1750             correctly printed sysinfo string
1751         * README: splited docs at top level directory - added
1752             INSTALL and README.util, added additional info
1753
1754 2002-04-04 22:50  Roman Festchook 
1755         * src/ap-trapd.c: after opening socket changed UID and GID
1756             to non root user, I think it's more secure; also
1757             added check from what enterprise this trap came
1758         * src/ap-cnf.c: added info about not displayed characters
1759             when entering password/community
1760
1761 2002-04-04 01:12  Roman Festchook 
1762         * src: added info about retrieving/setting data on help string
1763         * src/aps.c: more informative help string
1764         * src/menu.c: option APs renamed to KnownAPs
1765
1766 2002-04-02 14:34  Roman Festchook 
1767         * version: 0.8
1768         * src/aps.c: more verbose info when searching for APs
1769         * README: added warnins about using Statistics/APs option
1770                 and info about ap-trapd
1771         * src: code cleanups to remove some warning when compiling gcc 2.9x
1772
1773 2002-04-01 21:36  Roman Festchook 
1774         * src/wlan.c: fixed bug with AP name lenght when setting AP name,
1775             this may cause ip address change like
1776             192.168.97.32 => 0.192.168.97. So I think it's critical bug.
1777
1778 2002-03-31 22:58  Roman Festchook 
1779         * src/wlan.c: fixed bug with ESSID lenght when setting ESSID,
1780             this make impossible to set ESSID in some cases
1781         * src/trapd.c: added SNMP traps processing daemon
1782
1783 2002-03-27 13:58  Roman Festchook 
1784         * version: 0.7.6
1785         * src/ap-mrtg: error reports fixes
1786         * src/power.c: power level settings changed,
1787             now optimal values may be experimentally choosed    
1788
1789 2002-03-21 14:32  Roman Festchook 
1790         * src/smnp.c: conection timeout fixes
1791
1792 2002-03-23 23:16  Roman Festchook 
1793         * version: 0.7.5
1794         * src/auth.c: fixed bug with mac addresses num = 65535, which mean 0,
1795             this may cause problems configuring absolutelly new AP
1796         * src/aps.c: more safe KnownAPs function - now it restores parameters
1797          after requesting known aps info
1798         * src/cmd.c: upload configuration fixes    
1799
1800 2002-03-11 02:01  Roman Festchook 
1801         * src/snmp.c: SNMP packets assembly rewriten to work correctly
1802              with packets which size more than 128 bytes
1803
1804 2002-03-09 02:15  Roman Festchook 
1805         * version: 0.7.4
1806         * src: more verbose parameters description, removed unused code
1807         * ap-cnf: added screen "About", just about me and my program:))
1808         * ap-mrtg: errors printed in MRTG parsable format
1809         * TODO: new goals
1810
1811 2002-03-07 11:20  Roman Festchook 
1812         * version: 0.7.3
1813         * src/snmp.c: fixed bug with alarm handler
1814         * src/stat.c, src/auth.c: removed mac addresses limit, added
1815             option to save Associated Stations mac addresses to file.
1816
1817 2002-03-03 13:22  Roman Festchook 
1818         * version: 0.7.2
1819         * src: many small bugfixes and code cleanups
1820         * src/stat.c: Ethernet, Wireless and Wireless environment screens
1821             now refreshed every second with updated data
1822         * src/test.c: start working on test mode settings, but it not useful
1823          for now
1824         * README: new homepage url
1825
1826 2002-03-01 23:53  Roman Festchook 
1827         * version: 0.7.1-pre
1828         * src/snmp.c: Wireless stat now count all packets not only Unicast
1829         * src/power.c: setting power level changes
1830         * README: changed info about setting power level
1831
1832 2002-02-28 00:52  Roman Festchook 
1833         * src/snmp.c, src/ap-cnf.c, src/ap-mrtg.c: connect blocks fixes
1834
1835 2002-02-27 20:15  Roman Festchook 
1836         * src/power.c: power level now displayed with some kind of graph
1837
1838 2002-02-26 14:22  Roman Festchook 
1839         * version: 0.7
1840         * src/wep.c: added Privacy settings, please test
1841
1842 2002-02-25 16:44  Roman Festchook 
1843         * spelling: spelling heads up:)) (thanks Charles Henderson)
1844
1845 2002-02-25 14:35  Roman Festchook
1846         * version: 0.6.1
1847         * src/ap-mrtg.c: added utility to use MRTG for create stats graphics
1848         * README: added info about using MRTG to request AP
1849
1850 2002-02-24 01:10  Roman Festchook
1851         * src/power.c: added Signal Power settings
1852         * README: added info about Signal Power settings
1853         * version: 0.6
1854
1855 2002-02-23 16:53  Roman Festchook
1856         * src/bridge.c: added SNMP Traps switch option
1857         * src/wireless.c: interface improvement when setting Basic and
1858          Supported rates
1859         * src/auth.c: socket to AP now opened in nonblock mode
1860         * src/snmp.c: disabled program halt when timeout data read from socket
1861         * TODO: new goals
1862         * THANKS: added
1863
1864 2002-02-21 22:52  Roman Festchook
1865         * src/bridge.c: fixed broken setting RemoteBSSID in no
1866                         Access Point operational modes
1867
1868 2002-02-21 14:17  Roman Festchook
1869         * doc/: added some docs about setting signal power
1870         * doc/mib: added mibs from another APs
1871         * TODO: added setting signal power
1872         * README: added additional info
1873         * src/: new features - new code, version 0.5
1874
1875 2002-02-13 23:22  Roman Festchook
1876         * ChangeLog: There was no ChangeLog here, so I added one.