X-Git-Url: https://git.decadent.org.uk/gitweb/?p=ap-utils.git;a=blobdiff_plain;f=ChangeLog;h=c004cc08ffc9a1129bdc183950d7eed398c469cf;hp=52e910c70636b7b4663cead3dbe6594b7dda274e;hb=HEAD;hpb=09ed626f25fb3e7c57ad7a59e5261ea005aa498f diff --git a/ChangeLog b/ChangeLog index 52e910c..c004cc0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,8 +1,797 @@ +2005-03-07 Roman Festchook + * src/ap-rrd.c: changed format of error messages + * configure.in, NEWS: version 1.5 + +2005-03-06 Jan Rafaj + Since one of the users has provided me with SmartBridges APPO, + the support for latest APPO firmware (1.4k5) can now hopefully + be finished as originally intended. + * TODO: updated + * Documentation/FAQ: updated + * ap-gl/Makefile.am: + - bugfix: added missing @CURSESLIBS@ to the target + * lib/ap-utils.h: + - Q_HELP is gone + - added dbmconv() macro to correctly handle dBm computing for + smartBridges firmware + * lib/ap_search.c: + - 'Wireless' OID is really 'sysDescr' OID + - no longer ask for community, since device will respond to + sysDescr query no matter what community is currently being used + (Roman, thanks for notifying!) + - bugfix: 'AP NAME' changed to 'FW TYPE (VERSION) AP NAME', to + reflect better whats being displayed + - bugfix: scan_local_segment() now triggers screen-width truncation + limit correctly + * lib/common.c: + - cosmetics: screen is now properly cleared with exit_program() + * lib/input.c: + - bugfix: exclusive use of getch() in wait_key() instead of + escape-sequences-not-aware getc() results in greater robustness + of input code (it is now a lot harder to end up with buffered + content in stdin, that would otherwise lead to odd results + elsewhere) + - get_value() almost completely rewritten. switched from getchar() + to getch() to get correct output on older terminals, as well as + to avoid displaying of escape-sequences and to interpret escape- + sequences for the following usual keys, that now work: + INSERT (toggles Insert/Overwrite mode) + DELETE (rightside delete) + BACKSPACE (leftside delete) + LEFT ARROW (move cursor back 1 character) + RIGHT ARROW (advance cursor forward 1 character) + HOME (move to the beginning of the string) + END (move to the end of the string) + - bugfix: get_value() will now omit leading zeros from correct number + given by the user (they will be eaten upon user's ENTER keypress) + - bugfix: in get_mask(), trans_count must be always reset upon + failure to validate user input, or after single failure, all + subsequent attempts would (previously) fail + * lib/oui.c: added OUIs: + - 000E2E (Edimax Technology Co., Ltd.) + - 000F66 (Cisco-Linksys) + - 00117C (e-zy.net) :) + * lib/set_oeminfo.c: + - prepended 'USB ' in front of 'Vendor ID' and 'Product ID' + (cosmetic) + * lib/snmp.c: + - bugfix: eliminated leak by unfreed malloc'ed memory in snmp() using + static buffer + - introduced three new functions: close_sockfd(), open_sockfd() + and reopen_sockfd(). They should really be in common.c, but then + again, they are low-level stuff that should primarily be used + only in snmp(), and snmp.c itself contains no ncurses stuff + so functions it defines can be reused by external non-ncurses- + - in snmp(), switched from sig*jmp()/alarm() timeout code to select() + in favor of simplicity and possibility to monitor stdin read-state + change at the same time + - snmp() will now return with 0 immediately upon keypress, if + snmp_quit_by_keypress = 1 and type = GET. This has been added + to allow user-requested last-resort quit from blocking state + (for example when the target AP does not respond). The decision + of what to do is up to the calling code, that has to check + stdin content and act accordingly (currently this is used for + immediate quit using q/Q key from otherwise blocking snmp() calls). + - sockfd is now globally defined here + - snmp() now always 'flushes' sockfd prior further network processing + so that eventual packet received on sockfd prior snmp() call + wont cause desync errors + - snmp_retries global is gone. We need to wait at least 1 second + past sendto() for response packet, and do everything necessary + to avoid 'response for previous request received in next snmp() + call' => extra TODO: check, whether the OID part of received packet + matches with OID of preceding request, and if not, flush sockfd + and do an extra retry of sendto()/recv() + dependant programs. + * Documentation/ap-tftp.8: + - (introduced in previous patchset) + - added warning that it is unsafe to try upgrading devices for whose + there's no vendor firmware nor upgrade utilities (such as + Tellus A13 a.k.a. i-Tec AP GOLD with blue front) + * src/Makefile.am: + - ap-tftp needs to be linked to libap.a from now on + * src/ap-tftp.c: + - bugfix: computation of percentage was not really correct in v1.0 + - bugfix: fixed memleak caused by unfreed strdup() + - cleanup; use of float type eliminated + - it should be now possible to reuse tftp() for .cfg upload, too + (.cfg upload code still not there) + - revamp of config. parameters + - added capability to upgrade all AT76C510-based SmartBridges + devices (those with FCC ID 'PWG DOLPHIN') + * src/aplink.c: + - polling mode is now always enforced + - LQ top value is now computed/shown for devices with ATMEL410 + SBRIDGES MIB + - bugfix: screen is now correctly cleaned up upon transition + from 'associated: yes' to 'associated: no' state + - added pause possibility (using 'q' or 'Q' key) + - big facelift: added RSSI 'rounding' (a.k.a. RSSI average / last + 20 samples) gauge, and a general side-scrolling bargraph + showing the history of RSSI, RSSI average, RSSI rounding, and, + in case of smartBridges firmware, also Link Quality. Views + can be toggled using 't' or 'T' key. At the moment, all values + are presented in percentage, since this (compared to dBm) + does not fluctuate a lot among different firmware versions. + User may just pause the polling process and see the corresponding + dBm value for the bar currently shown in graph, near the + corresponding gauge. + * src/auth.c: + - bugfixes: shown ea_dest_port, ea_time and ea_port values are now + properly decoded + * src/bridge.c: + - renamed cf_trap_ports to cf_ports (cosmetic) + - bugfix: fixed up order of cf_ports to respect MIB-defined order. + Interresting note: ATMEL12350 EZYNET MIB firmware actually + returns config_port = 0 when it should return 3 ('Both' ports) => + this case is now taken care of. + * lib/common.c: + - screen is now cleared upon exiting ap-config + * bugfix: fixed rare ap-config crash when sysDeviceInfo OID query + would return structure length of 92 bytes instead of 128. Suspection: + returning 128 might be a snmp() state machinery error? + * squashed any sockfd lowlevel-manipulating stuff (socket(), bind(), + close()) everywhere in favour of already globally declared sockfd + in snmp.c and eventual reopen_sockfd() call. Lets forget about + sockfd if we use just snmp(). TODO: re-evaluate necessity to use + reopen_sockfd() in common.c and file.c . + * dbmconv() is now used in every place that handles raw->dBm + conversion - TODO: just the ap_mrtg needs to be fixed (add + detection for SBRIDGES ap_vendorext, then dbmconv()) + * cosmetics: highlighting over changed values will now disappear, + once they are written (using 'W' key) + * ERR_CREATING_SOCKET and ERR_BINDING_SOCKET replaced with one single, + more generic ERR_SOCKET + * new feature: it is now possible to change polling interval in + range from <0,1;86400> seconds (default is 1 second) + +2005-01-16 Jan Rafaj + * ap-gl/auth.c: small bugfix + +2005-01-15 Roman Festchook + * src/ap-rrd.c: added utility to store stats from AP into RRD database + * src/wlan.c: added 'ACK timeout' additional info into [T] SIFS time (msec) + option description + * configure.in, NEWS: version 1.5pre2 + +2005-01-11 Jan Rafaj + Note to SmartBridges PTE: you could have nice support in ap-utils + at cost of sending me one APPO sample. Since I actually have + no sample to test & verify on, all my support for airPoints is on + blind or 'someones trial and error report' basis. You should really + support OSS developers better way. Info about how to reliably load + airPoint PRO firmware to non-SB brand devices, based on the same HW + ref. design, would of course help too. + + NOTE TO ALL USERS: IF YOU HAVE SMARTBRIDGES airPoint PRO (indoor or + outdoor) AND WANT BETTER AP-UTILS SUPPORT, YOU CAN SEND ME ONE SAMPLE + OF THIS DEVICE. OTHERWISE THERE WILL APPARENTLY BE _INCOMPLETE_ SUPPORT + EVEN IN FUTURE! THE LAST APPO I I'VE SEEN IN BAZAAR THAT I WAS PLANNING + TO GET IN ORDER TO IMPROVE SUPPORT IN AP-UTILS, HAS BEEN JUST SOLD + OUT, SO MY PLANS ARE GONE. I'M NOT WILLING TO PAY LIKE $350 + FOR ONE SAMPLE JUST TO SUPPORT THE WORLD. SO UNTIL SOMEONE SUPPORTS + ME WITH SAMPLE DEVICE TO TEST ON, MY SUPPORT FOR SmartBridges + APPO in AP-UTILS IS _OVER_ (and this round of patches is apparently + the last effort to improve support in this area). + I'LL ALSO ACCEPT ANY DEVICE THAT USES THE SAME FIRMWARE / MIB + AS SMARTBRIDGES airPoint PRO. + + You can contact me about the subjects above via e-mail at + . + + Dedicated to memory of cat Micka, my pet. + * EZYNET-enhanced AP firmware is now freely available! Read more about + its availability, upgrade possibilities and caveats in README, + section 'Firmware available free of charge for ATMEL12350 MIB + devices' !!! + * renamed all references of 'VERNET' to 'EZYNET' (true vendor name) + * renamed all references of 'TELLUS' to 'GEMTEK' (Tellus, SparkLan, + etc. appear to be GemTek subsidiaries or at least they seem to use + firmware from GemTek. If someone knows I'm wrong with this + conclusion, please let me know). + * note: my primary focus is on support for devices running firmware + 0.2.x.x, equipped with flash memory AT29LV040A (TSOP1), and + second SRAM, such as Tellus A14, SparkLan WX-1590L, etc. + Easy way of how to tell that the device has second SRAM, is + presence of (poor, locky) web management interface. Older devices + with single SRAM may be supported too, but my older test equipment + is restricted to W-Link WEN2021 and I-TEC AP GOLD / blue, which means + that support for other old ATMEL flavours may or may not work, + despite all effort towards supporting them. + * README: + - added entries for supported APs: i-Tec AP GOLD (black front), + InterEpoch IWE1000A, OSBRiDGE m2410/p2410, SparkLAN WX-1590, + SparkLAN WX-1590L, D-com WX-1590 web, BOSSWAP + - the supported AP table is now sorted according to manufacturer name + - added section 'Firmware available free of charge for ATMEL12350 MIB + devices' + - made WARNING notices more accurate + * THANKS: + - added entry with thanks to EZYNET + * Makefile.am: + - reordered directory components so that 'intl' and 'po' will be + built as last ones. This helps on systems with old/broken auto* + tools, where building 'po' may fail (it still will do, but its + failure now wont prevent building other components). + * Documentation/mibs-atmel: + - created & populated with all AT76C510 MIB prototypes that should + be supported by ap-utils + * ap-gl/ap-gl.c, ap-gl/stations.c: + - backport of few changes from respective counterparts in src/, + to stay compatible with changed color scheme definitions + and format of 'Stations' output (btw, there is now no difference!) + * ap-gl/auth.c: + - backported few non-invasive changes from auth.c + * lib/ap-utils.h: + - added DONE_WRITING_APCONF & ERR_WRITING_APCONF, since they are + now referred from connect_options() as well as get_opts() + - added new structs AssociatedSTAsInfo_ATMEL410, + AssociatedSTAsInfo_ATMEL12350, NetworkSettings_ATMEL410_SBRIDGES + and NetworkSettings_ATMEL12350_EZYNET in favour of unified support + across most available vendor-enhanced MIBs + * lib/common.c: + - connect_options() is now verbose about status of writing + ~/.ap-config file, through DONE_WRITING_APCONF & ERR_WRITING_APCONF + - bugfix: fixed ap_vendorexts[ap_type][] boundary check error; + no more segfaults when manually specifying MIB type as "ATMEL12350" + - bugfix: get_mib_details() no longer relies on OUI part of device's + eth. MAC address as authoritative info for MIB vendor extension + determination. This was 1. giving totally fake results + if someone changed device's MAC, and 2. giving false results + for people with devices whose firmware has had certain MIB vendor + extensions available (for example SparkLan users with GEMTEK + firmware). Autodetection should now work for much broader range + of devices with AP firmware. + * lib/file.c: + - added functionality for HOME, END, PGUP and PGDN keys + * lib/input.c: + - bugfix: in get_value(), use wmove()/wrefresh() instead of wechochar + with 0x08 char. (backspace) as parameter - this fixes visual effect + of disrespecting leftmost bound on platforms with older ncurses + - bugfix: get_mac() now forces user to specify all 12 numbers of MAC, + avoiding ambiguous results + * lib/menu.c: + - squeezed the number of wrefresh(menu) calls to a minimum + - mark and highlighting of current menu item are now + cleared/restored upon entering/leaving atmel_set_oeminfo() + * lib/oui.c: added OUIs: + - 000F3D (D-Link Corporation) + - 00112F (ASUSTek Computer Inc.) + * lib/scr.c: + - simplified & unified 'Stations' menu output section in + scroll_rows() - it is now used for all ATMEL AP types. + Part separately dealing with APs using SmartBridges firmware + has been eliminated. + - shorten screen output of print_top_rssi() + - bugfix: in scroll_rows(), clear_main(3) changed to + clear_main(row), to make the first-row offset of scroll list + really configurable (required by auth.c) + * lib/set_community.c: + - left boundaries of community fields now start at offset 37 + * lib/set_oeminfo.c: + - now also shows board VID & PID + - added possibility to configure # of calibrated channels + Reached 100% compatibility with original utility. + * lib/snmp.c: + - removed RETRIES constant. Instead, snmp_retries now keeps + the default amount of retries. This was somewhat necessary, + as we may eventually influence amount of retries one snmp() call + will attempt, in src/aplink.c + * lib/test.c: + - since test() is not yet ATMEL12350-ready, temporary kludge + has been added to disable this menu for devices with + such a MIB + * lib/wlan.c: + - bugfix: fix utility crash, that could previously happen if + someone changed value of Fragm. threshold from default to + value < length of typical expected SNMP response packet, + on device managed with ap-config via wireless port. + The return value of snmp() is now checked against the number + of varbinds members entering snmp() (it covers return value + <= 0 as well). + NOTE: IT IS _VERY_ UNWISE AND RISKY TO CHANGE 'RTS threshold' + AND 'Fragmentation threshold' VALUES ON DEVICE MANAGED VIA + WIRELESS PORT, SINCE THEY HAVE DIRECT IMPACT ON PACKETS TRANSMITTED + VIA WIRELESS PORT, AND IF THE VALUE IS BEHIND CERTAIN THRESHOLD, + THE DEVICE MAY BECOME COMPLETELY _UNMANAGEABLE_ VIA WIRELESS PORT. + If this happens and you have management access to the device + via wireless port only, you may try your favourite *-snmp tools to + restore RTS threshold and Frag. threshold settings to their + default value (2346), but if this fails, the only real way left + to fix these values would be through ethernet or USB port. Beware! + * lib/set_oeminfo.c, lib/sysinfo.c, lib/wlan.c: + - bugfix: changed assumption about selection of proper length + sysDeviceInfo OID - this cant be distinguished based on ATMEL MIB + type, since, for example, NETGEAR ME102 MIB has ATMEL12350 MIB, but + has length of this structure 128 bytes (which most ATMEL410 MIB + equipped devices have). Now the proper structure is selected + based purely on length of response returned on SysDeviceInfo + SNMP query - should 'fix' all places that deal with values + generated by query to SysDeviceInfo OID + * src/aplink.c: + - newly introduced. Embeds atmel_aplink(), which is bound + to 'AP link' entry in the 'Info' menu. This entry allows to + monitor link state of the device in APclient or WRepeater mode. + It will inform user whether the APclient device is actually + associated to the AP or not, and if yes, what is the RSSI level of + the link (as well as Link Quality in case of device with + SmartBridges firmware, or actual connection speed in case of device + with EZYNET firmware), MAC of joined BSSID, ESSID, and used + RF channel. + RSSI top value per entire measurement session is also available. + Since the RSSI indication may be somewhat unstable (at least + with EZYNET firmware), showing of RSSI average from up to + 99999 samples has also been implemented. + Note that the code will currently only work for ATMEL410 / SBRIDGES + or ATMEL12350 / EZYNET MIB devices, as MIBs of firmware from + other vendors does not seem to support NetworkSettings OID. + Exception is ATMEL12350 / NONE (NetGear ME102), whose APCLientInfo + OID is capable to give connection status too, but is not currently + implemented, since it uses different OID & structure and I do not + possess ME102 board to test with (TODO). + * src/ap-auth.c: + - hardened input validation for the '-i ' parameter (according to + get_ip() in lib/input.c) + - added AP MIB type autodetection => utility will now also work + for devices with ATMEL12350 MIB. Devices with NWN MIB are yet + to be supported (TODO). + - assigned credits to Teemu + * src/ap-config.c: + - added definitions for several 'should be defined by default' color + pairs, that are actually used in bargraph code of aplink.c . + Previous pairs 1,2,3,4 were redefined to 11,12,13,14 to avoid + clash with 'standard' color pairs above. This change has been + propagated to all files dealing with color pairs. + * src/ap-mrtg.c: + - the same level of changes as in src/ap-auth.c. As side result, + it is no longer needed to specify AP MIB type (it will be + autodetected). + - bugfix: take into account different length of wirelessStatistics + structure in ATMEL12350 MIB & EZYNET extensions => '-t w' + will now also work for devices with this MIB & extensions. + - bugfix: restrict the '-t l' to ATMEL410 MIB devices in APClient + mode (ATMEL12350 MIB devices usually do not return any LinkQuality + indicators in wirelessKnownAPs structure). + * src/ap-tftp.c: + - introduced tftp client for upgrading ATMEL-based AP firmware. + Should work with boards utilising either 1.4x.y firmware (generally + AT76C510+INTERSIL boards, such as D-Link 1150, W-Link WEN-2021, + SmartBridges APPO, etc.), and boards utilising 0.x.y.z firmware + (generally AT76C510+RFMD boards, such as Tellus A14, Sparklan + WX-1590L, NetGear ME-102, OSBRiDGE p2410/m2410, etc.). + Use with care and NEVER EVER try to use this utility to upload + firmware that is from different vendor than your AP, unless you + perfectly know what you are doing, of course - otherwise, + you may irreversibly turn your AP into paperweight quite easily. + ATMEL APs are well known for their general firmware upload + design flaw (no authorization necessary for firmware upgrade), + that has caused many destroyed APs by joe-blow users uploading + incorrect firmware, and even APs destroyed by malicious users + that have intentionally uploaded incorrect firmware. See manpage + for details. + You have been warned. + * src/ap-trapd.c: + - recognise ATMEL12350 enterprise ID => will now react to traps + sent by devices with ATMEL 12350 enterprise MIB + - will now also print Trap number along with its string + representation + - bugfix: fixed problem with printing trap strings from + non-SmartBridges traplist when '-s' given, and vice versa + * src/auth.c: + - introduced as replacement for old 'auth_mac.c'. Simple 'auth' + name reflects its purpose better - it now contains not just + MAC-based "auth.", but also other auth. types (Radius, 802.1x) + based on the available MIB vendor "extensions". + - now properly distinguishes between authorization error and + invalid data error for SET snmp() operation. Particularly imporant + when user tries to enter Config/MAC Auth menu with user community + (which only permits reading, but not writing, and since writing + is basically required even for pure showing of authorized MAC + addresses, we need to distinguish these errors). + If the AP is accessed with 'user' community and it has record(s) + in MAC auth. list, it will print '(insufficient community used)' + in the first row of the MAC auth. list field. + public + - bugfix: it is now possible to delete last MAC entry too + - bugfix: when no MAC address left on the list, disallow 'Delete' + function + - should now be ready for move to lib/. (and purging in src/) + - it is now possible to 'escape' from prompt that appears after + pressing 'd' (delete MAC), upon entering '0' + - by default, if number of defined MACs is greater than the + visible scrolling area, the list tail will be shown + - if adding new MAC addresses, the list will advance to the last + (currently added) MAC entry to show its position in the MAC table + - added functionality for HOME, END, PGUP and PGDN keys + - added functionality for extra Auth. enhancements present in + ATMEL410 MIB with SBRIDGES extensions (Radius auth.), and + in ATMEL12350 MIBs with EZYNET extensions (802.1X auth.) + - now properly distinguishes MIBs with 2-mode AuthorizationMacEnable + OID, and those with 3-mode AuthorizationMacEnable OID + - added check against entering duplicated MAC to the MAC table + * src/bridge.c: + - bugfixes: since SBRIDGES and GEMTEK represent same lvalue, each + occurence of ap_vendorext comparison with value SBRIDGES or GEMTEK + must be and-ed with result of comparison against ap_type value + or all sorts of weirdness may occur (such as non-working options + for specific vendor extensions, although they normally should) + - bugfixes: revised presence of all OIDs in all actually supported + vendor-extended MIBs. Result: all available OIDs relevant to + this menu should now also be correctly supported on devices + with SmartBridges APPO firmware and NetGear ME102 device firmware. + - Label 'Wireless' for config-enabled port mode changed to + 'Wireless (can be risky)'. I've finally made a resolution + to step forward in this - setting config-enabled port to + wireless-only can even be deadly for non-USB equipped devices, + if configured improperly, if no second ATMEL-based device + is handy for fixing conf. on the peer via its wireless port, + for outdoor installations, and in couple of other scenarios. + REALLY THINK MANY TIMES PRIOR SETTING THIS TO wireless-only !!! + * configure.in, src/Makefile.am: + - avoid needless linking with curses library for several utilities + (ap-auth, ap-mrtg, ap-tftp, ap-trapd). + * Sysinfo menu will now also show current 'Operational mode' + * bugfix: all conditions that check return value of to snmp(,i,GET) + with i > 1, changed from '<= 0' condition to '< i' condition. + This is very important in cases when the device does not return _all_ + the requested varbinds members filled up, which would usually lead + either to memory corruption often followed by ap-config crash + with 'segmentation fault' reason. If there's unreliable media + between the managed device and ap-config, this could previously + happen - typically, devices managed via their wireless port + or incorrectly configured devices (bad Frag. threshold and/or + RTS threshold) may respond with incomplete replies. + * naming convention of many variables, structures and OID names changed + to respect this scheme (cosmetics, intended coding standard): + - names of several #defines changed to be descriptive as + 'STATUS_DESCRIPTION' + - OID names, unless absolutely necessary, should be always named + EXACTLY after the corresponding OID name in MIBs for easier + referencing + - names of structures named after OID, should end with '_s' or + '_' followed by something reasonable + - variable names should reflect their whole purpose + +2004-12-09 Roman Festchook + * lib/common.c: fixed getting additional character into AP label during autodetection + +2004-12-09 Michel Robitaille + * po/fr.po: updated translation + +2004-11-28 Roman Festchook + * Documentation/ap-gl.8, Documentation/README.ap-gl: info from + Documentation/README.ap-gl moved to ap-gl man page, removed + Documentation/README.ap-gl + * Documentation/README.ap-auth: + removed because all info now in ap-auth man page + +2004-11-28 Roman Festchook + * lib/common.c: added checking then function called from ap-gl utility + in connect_options() automatic detecting MIB, extention. Now community + must be entered manually + * lib/ap_search.c: reverted back to scan oid Wireless info string (that find APs even + with wrong community) raser than APName oid; info string now truncated only if it + cant be displayed at current screen width (now it screen width independed) + * Makefile.am: into dist-hook added command to remove po/*.gmo files from + final distribution package to decrease size + * ap-gl/ap-gl.c: in ap-gl utility reverted back to ATMEL_PRISM rather than ATMEL410 naming + * Documentation/ap-config.8: fixed minor bug in example key for 64-bit WEP encryption + (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=243208) + * Documentation/ap-gl.8, Documentation/Makefile.am: added man page for ap-gl utility + * Documentation/ap-auth.8, Documentation/Makefile.am: added man page for ap-auth utility + * po/fr.po: fixed coredump in Config menu with French locale (now just removed long + translated string from po file) + (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=259645) + * po/uk.po: updated translation + * ap-gl/stations.c: fixed RSSI dBm representation + * configure.in: version 1.5pre1_FreedomOfUkraine + +2004-11-24 Jan Rafaj + * README: + - made WARNING2 more accurate; added WARNING3 + * lib/Makefile.am: + - added set_oeminfo.c to the list of source modules + * lib/ap-utils.h: + - QHELP and SELECT #defines moved here from lib/stat.c, as we now + reuse them. QHELP renamed to QTHELP (+ toggling mode). + - added #defines for NONE, SBRIDGES, TELLUS and VERNET constants + with numbering according to new ap_vendorexts[][]. Actual values + of these are hold within newly introduced ap_vendorext global + (similar to meaning of ap_type global). + - new data type 'rdprops', used to describe regulatory domain + properties (code, description, first channel, last channel) + - formatting fixes (cosmetic) + - now #includes lib/ap-curses.h + * lib/ap_search.c: + - output formatting changes (unification) + - in case the length of AP NAME being displayed for actually + scanned AP exceeds 27 characters, truncate the display + to first 27 characters (80x25 screen limit) and append + '>' character to indicate that not full AP NAME has been + displayed + - user is now prompted for a community, that will be used + to detect APs, prior scanning + * lib/common.c: + - introduced new char *ap_vendorexts[][]; moved char *ap_type[] + here from src/ap-config.c and ap-gl/ap-gl.c + - in favour of proper naming, renamed all *APNAME #defines + to *APLABEL (same for texts, with a help message that clearly + states that AP LABEL is _independent_ of AP NAME (AP NAME = name + stored inside the AP), to prevent eventual user confusion. + - all references to 'name' changed to 'label' in order to respect + that AP label != AP name (see above). permitted length of label + is now max. of 16 characters. + - implemented ability to manually select MIB vendor extension + along with MIB type (previously just 'AP type:'). This was + really necessary as we couldn't rely on get_mib_details() + probing especially when the target AP was not available. + - if AP MIB type & vendor extension has been _autodetected_, or if + there's a good belief that the to-be-connected AP (via + connect_options()) is really alive (when we enter connect_options() + from ap_search()), then offer possibility to use AP NAME + as AP LABEL. However, as AP NAME may have max. length of 31 + characters, it will be always truncated to first 16 chars + (max. length of AP LABEL), and user will be warned if this happens. + - introduced new 'rdprops regdom_types[]' field to unify reg. domain + description. Along with newly introduced regdom_types[] + and regdom_idx(), it enables us to get reg. domain properties + related to specific reg. domain code at any time, anywhere. + Merged reg. domain codes & properties of MKK1 & ISRAEL freq. + domains. Change: MKK domain defines only channel 14. + - squashed ch_list() in favour of regdom_types[] => killed malloc()s + in wlan.c & test.c. char *channels[] now keeps statically what + ch_list() was used to generate on demand before + - avoid asking for community upon entering connect_options() + called from ap_search(), as we already know the community + - thrown myself into about() + * lib/file.c: + - all references to 'name' changed to 'label' in order to respect + that AP LABEL != necessarilly AP NAME (see above) + - implemented storing of MIB vendor extension into ~/.ap-config + - changed name of stored file with MAC authorised addresses + in the AP from '~/ap-MIBTYPE.stations' to + 'ap-IP-MIBTYPE-MIBEXT.stations' + - output formatting changes (in AP list code): + - 'NAME' -> 'LABEL', 'TYPE' -> 'MIB TYPE', newly introduced: + 'MIB EXT'; accomodate to new layout + - in parse_db_str(), truncate displayed length of AP NAME to 16 + characters (80x25 screen limit), upon length of label being read + > 16 characters (80x25 screen width limit), and append '>' + character to indicate that it has not been displayed + in its full length (TODO: remove screen width limits) + - fixed numerous memleaks caused by missing free()ing of + ip, passwd and label parts of APList structure in get_opts() + - option writing ~/.ap-config is now verbose. Required moving + main print_help() to the while(1) cycle body. + - save_Stations() is now verbose at minimum level + * lib/input.c: + - patched get_value() so that zero-length ANY_STRING type input + can be optionally allowed. Selected string input fields now accept + empty value. minv & maxv arguments switched from int to unsigned + int so that we may cover full uint32 range - also involved + switching from atoi() to strtoul(), as we need to check a condition + when errno == ERANGE (given value bigger than 0xFFFFFFFF). + - implemented wait_key() as unified means to wait for user input + selection different ways. The actual input mode with respect + to waiting is being held in wait_mode global, that can + be toggled using 't/T' keys in statistic views where appropriate + (SysInfo, Ethernet statistics, Wireless statistics). + - added help_ysn() as preferred & unified way to wait for user Y/N + choice. Prints Y/ safe N help message; clear settings subwin + & returns 0 upon pressing y/Y or 1 upon n/N. All Y/N code + everywhere has been replaced with single call to help_syn(). + * lib/menu.c: + - added hidden call to atmel_set_oeminfo (secret 'OEM info settings' + menu), based on set_oeminfo_allowed global from set_oeminfo.c + * lib/scr.c: + - print_bottom() now also prints MIB vendor extension info + in form of 'Ext: ' + - introduced print_bold() to decrease high amount of low-level + attribute-setting stuff everywhere (involved conversion + to print_bold() wherever possible) + - removed print_viewtype() and all references to this replaced + with print_bold() + * lib/set_oeminfo.c: + - newly introduced. Actually only functional for ATMEL CPU-based + APs. ALLOWS TO CHANGE OEM INFORMATIONS STORED WITHIN THE AP, + AFTER PRESSING 'S' KEY WHILE IN 'Config' MENU. Note that this + is a HIDDEN function, since it is really only suitable for large + WISPs & repair shops. Compatibility level that has been achieved + with original windows utility is around 96%. Use with care. + * lib/snmp.c: + - added (currently commented out) new function ber_decode_uint(). + It may come in handy elsewhere in the future. + * lib/sysinfo.c: + - atmel_sysinfo() now uses select() to wait for user keyboard input. + 'q' or 'Q' key quits, others force update without clearing screen. + - (hopefully) fixed conversion of raw input buffer value to int + for uptime-displaying code + * lib/sysinfo.c, lib/sysinfo_set.c, lib/wlan.c, lib/ap-utils.h: + (cosmetical): + - added #include , missing on some platforms + - renamed ptr410 and ptr12350 to str410 and str12350 + - renamed SysDeviceInfo_* to sysDeviceInfo (MIB conformance) + - fixed interpretation of (long) INT value returned by the AP + in UpTime-displaying code + - implemented toggling of polling mode through 'T' [works + only with ATMEL12350 VERNET MIB-compatible devices] + - uses select() instead of getch() when polling is active + - indentation fixes (cosmetic) + * lib/test.c: + - changes to use channels[] and regdom_types[] instead of + ch_list() and malloc()s + * lib/wlan.c: + - changes to use channels[] and regdom_types[] instead of + ch_list() and malloc()s + - fix: added missing print_help(WAIT_RET) + * ap-gl/ap-gl.c: + - few indentation fixes (cosmetic) + - changes to keep sync with new lib functionality (MIB vendor + extensions code) + * ap-gl/stations.c, src/stations.c: + - print_help() is now called from within while(1) cycle, in order + to be compatible with updated save_Stations() + * src/bridge.c: + - fix: added missing print_help(WAIT_RET) + * 'RegulationDomain' renamed to 'RegulatoryDomain' for MIB conformance + * further optimisations everywhere for reusing print_bold() + * load of small bugfixes + * print_title() replaced with new print_top() that will also + handle displaying "view" type (on LHS) along with menu title + (on RHS) using single pass. This was really in need of unification. + Side effect: no need to redraw title strip on each screen update + anymore (no two separate ways to write to same location). + * some spelling, indentation & accuracy fixes here and there + +2004-11-09 Jan Rafaj + * README: + - removed reference to HARDWARE-NOTES, that didnt made it into + previous ap-utils versions by accident + - added WARNING 1 and WARNING 2 sections (originally intended to be + in HARDWARE-NOTES, but the magnitude of their importance deserves + to put them straight into README) + * TODO: updated + * lib/ap-utils.h: + - added "(valid)" to the ERR_RET message, which more accurately + reflects what may actually happen (AP actually _may_ return + data, but in an unexpected format) + - enhanced WirelessStatistics structure for TransmittedPackets_11Mbps, + TransmittedPackets_55Mbps, TransmittedPackets_2Mbps, and + TransmittedPackets_1Mbps so that we can support functionally + enhanced firmware from VERNET WISP. + * lib/ap_search.c: + - in third column, display operAccessPointName OUI using label + "Name" instead of Wireless OUI. Makes more sense. + - made the number of APs per screen, as well as the offset at which + the info about whats actually scanned, is printed, relative + to the actual screen height (so to increase maximum hard-coded + amount of APs displayed, just switch from 80x25 console font + to a bigger one, or use X terminal window) + * lib/aps.c: + - reverted displaying back to RSSI & LQ both in % in screen 1. + This is becouse a) we want to keep as close to the view of the + original ATMEL utility as possible here, and b) huge dispersion + in dBm versus raw value of RSSI exists among different flavours + of APs, and the dBm formula unfortunately often gives results + very far from real values. So we want to display something thats + less jittering in the scope of inter-AP comparison. + - cosmetic fixes (2-line legend instead of 3-line) + - rebound the 'refresh' from 's' key to otherwise unused keys, + in favour of keyboard interface unification + * lib/common.c: + - created get_mib_details() to provide vendor-specific private + ATMEL MIB detection + - fixed a bug introduced by the 'name' patch, resulting in + omission to clear screen properly when user has given + insufficient credentials (bad password) to detect new AP type + - made the 'name'-patch code malloc-free (and memleak #2 free). + There's no point to use malloc()d space here since we dont + reuse it elsewhere (contrary to char *community). + - fixed bad variable boundary-handling introduced by 'name'-patch + that might result in crash of utility under circumstance + when ~/.ap-config didnt previously exist and user attempted + to add new AP with name of length >= 7 characters + - added possibility to skip name definition if user wants to + (useful for example when the newly added AP's IP will be used + solely for testing purposes :) + * vendor-specific private ATMEL MIB detection is now referred to + get_mib_details() everywhere + * lib/file.c: + - a lot of indentation fixes + - in get_opts(): fixed couple of bugs: + - it was possible to issue 'Connect' command when the AP list + was empty (was leading to endless loop) + - 'Delete' command failed to remove last remaining AP from the + list, ending up in endless loop (as get_value() doesnt do + sanity checking on its input paremeters) + - fixed a memleak #1 possibly introduced by 'name' patch - we need + to free char *name after its use + - in _scroll_rows(), fixed the AP MIB TYPE cutoff-by-format-string, + introduced by 'name' patch, and enhanced message size to accomodate + the true max. row size instead + - in get_opts() appended '(in ~/.ap-config)' behind the user-defined + APs list banner, to better reflect the real meaning of 'NAME' + (and other fields), to prevent someone from f.e. thinking + that the NAME here is the name stored in AP's configuration + (which it is NOT, of course). + * lib/oui.c: added OUIs: + - 000B46 (Cisco) + - 000D54 (3Com Europe Ltd) + - 000D88 (D-Link Corporation) + - 000EA6 (ASUSTEK COMPUTER INC.) + * lib/radio.c: + - fixed non-working radio menu with ATMEL12350 APs by merging the + initial TestModeRadioConfiguration and operAntennaSettings OID + modifications when ap_type == ATMEL12350 + * lib/stat.c: + - replaced ERR_RET_PRESS with ERR_RET + - simplified; no more forking, goto's reduced, no need of + pipe(), alarm() or sig*jmp(); use select() for waiting - + it is now possible to quit (by pressing 'q' or 'Q') immediately. + Also, the counters now get updated immediately after pressing + whatever key != q. + - fixed a bug that, due to previous use of sig*jmp(), resulted + in lockup when attempting to quit ap-config after it has received + invalid packet, by pressing 'q' key several times + - WirelessStat(): implemented support of ATMEL 12350 functionally + enhanced MIB by VERNET WISP. + * lib/sysinfo.c: + - enhanced atmel_sysinfo() for displaying system uptime using + UpTime OID from ATMEL12350 VERNET MIB. + * lib/wlan.c: + - fixed showing/setting of BeaconPeriod value for ATMEL12350_TELLUS - + acceptable value range is now 0 - 65535 as originally intended + - new: implemented showing/setting of 'SIFS time' parameter, specific + to APs with ATMEL12350_VERNET firmware/MIB + * spelling & indentation fixes + * lib/scr.c, src/stations.c: + - implemented support for viewing statistics + produced by enhanced ATMEL 12350 firmware by VERNET + - implemented toggling of RSSI between 'dBm' view, '%' view, and + raw view - added new functions print_viewtype_rssi(), conv_rssi(). + [TODO: update ap-gl/stations.c, too] + - pressing other than the selected keys will now result in refresh + of all values + +2004-10-24 Roman Festchook + * lib/common.c: fix to clear display before displaying AP type + * configure.in: version 1.4.2pre1 + +2004-10-24 Przemyslaw Stanislaw Knycz + * po/pl.po: translation updated + +2004-10-18 Roman Festchook + * lib/common.c: fix to use get_value instead of get_pass for input AP name + * po/uk.po: translation updated + +2004-10-18 Teemu Kiviniemi + * src/ap-auth.c: command line utility to change the list of authorised MAC addresses added + * Documentation/README.ap-auth: some docs for ap-auth utility + +2004-10-18 Aleksey Korenkov + * lib/common.c, lib/file.c, src/ap-config.c: patch that adds name to list of APs + +2004-08-08 Dan Pelleg + * lib/ap_search.c: fix error when build ap-utils on freebsd. + +2004-06-22 Elif Bilge Maden + * po/tr.po: Turkish translation added + +2004-05-16 Roman Festchook + * configure.in: version 1.4.1 + * NEWS: main changes added + +2004-05-16 Michel Robitaille + * po/fr.po: updated translation + +2004-05-04 Roman Festchook + * lib/ap_search.c: Compiler Error for ap-utils on Darwin 7.3 (Mac OS X 10.3.3) fix + 2004-04-04 Dieter Fiebelkorn * lib/ap_search.c: Compiler Error for ap-utils on Darwin 7.3 (Mac OS X 10.3.3) fix 2004-03-20 Roman Festchook - * ap-gl/bridge.c: Isolate wireless clients status displaying fixed + * ap-gl/bridge.c: Isolate wireless clients status displaying fixed * lib/snmp.c: decreased timeout waiting for snmp reply packet to 1 second * src/ap-mrtg.c: to decrease usage of network and AP CPU AP name only requested if -n option specified