]> git.decadent.org.uk Git - ap-utils.git/blobdiff - ChangeLog
Imported Upstream version 1.5~pre2
[ap-utils.git] / ChangeLog
index 8a8b8650603068094766da5f00f60c85cd387b46..78b80e1a35bfb451b54c723901c29253670b767c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,307 @@
+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
+       <jr-aputils at cedric dot unob dot cz>.
+
+       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 <ip>' 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