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