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 * 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 2004-03-06 Roman Festchook * src/ap-trapd.c: MAc address logging changed to common ap-utils format (without any dividers) * configure.in: version 1.4.1pre3 2004-02-27 Roman Festchook * lib/ap-curses.h, configure.in: updates to build with SysV curses lib if ncurses not found 2004-02-27 Daniel Eisenbud * lib, src, ap-gl: Solaris and SysV curses build fixes 2004-02-26 Roman Festchook * lib/sysinfo.c, lib/wlan.c: fixed Bus error when getting SysInfo structure data from AP on Sun Sparc64 processor * po/uk.po: updated translation * lib, ap-gl, src: removed dublicated includes * lib/ap-utils.h, lib/ap-curses.h, configure.in: updates to build on Solaris with SysV curses lib * THANKS: updated 2004-02-25 Vladimir N.Velychko * Documentation/Ukrainian/*: translation spelling fixes 2004-02-25 Roman Festchook * lib, ap-gl, src: removed including config.h from files that include ap-utils.h * lib/ap-utils.h, configure.in: another updates to MacOS X build 2004-02-24 Daniel Eisenbud * lib/wlan.c: fix to make ap-config able to set ESSID on powerpc and probably other bigendian machines 2004-02-22 Roman Festchook * src/stations.c; ap-gl/stations.c: added check if AP in Client mode with corresponding warning message to user * configure.in: version 1.4.1pre2 2004-02-21 Roman Festchook * configure.in: updated to build under MacOS X 2004-02-10 Roman Festchook * lib/scr.c: fixed memory leak in scroll_rows function * lib/wlan.c: fixed wrong keys for changing values for NWN APs 2004-02-04 Roman Festchook * configure.in: version 1.4 * NEWS: main changes added 2004-01-30 Roman Festchook * Documentatin/README.ap-gl: added file with notes about ap-gl utility * TODO: updated 2004-01-29 Roman Festchook * ap-gl: changed ATMEL410 -> ATMEL_PRISM name, for safe use removed Config port blocking, merged wireless client isolation (unicast & broadcast). 2003-12-30 Roman Festchook * 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) * lib, src, ap.gl: a lot of internal code moving from program to lib sources * po/uk.po: translation updated * TODO: updated * configure.in: version 1.4pre2 "Happy New Year" release * src/bridge.c: renamed options "Send back broadcast/unicast traffic) to Isolate wireless clients 2003-12-28 Ashley Gittins * src/ap-mrtg.c: changes to support ATMEL12350/ME-102 2003-11-27 Roman Festchook * TODO: updated 2003-11-27 Jacek Pliszka * ap-utils.spec, Documentation/README.RPM: added spec file for rpm building 2003-11-25 Roman Festchook * po/uk.po: updated 2003-11-23 Roman Festchook * po/uk.po: updated to current sources * src/common.c: changed copyright years to 2001-2003 * src/ap-mrtg.c: changed copyright years to 2002-2003 * src/aps.c: table header legenda increased to 3 lines * TODO: updated with current goals and removed working now things * configure.in: version 1.3.4pre1 2003-11-15 Jacek Pliszka * 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 2003-11-11 Roman Festchook * src/ap-mrtg.c: fixed to return 999999999 for outgoing traffic when error connecting to AP exist 2003-10-27 Jan Rafaj * README,THANKS,TODO: modified * HARDWARE-NOTES: added. This should keep important hardware-related informations that the users _must_ read prior using ap-utils. * reverted parameters order for on_off(), menu_choose() so that we always use order everywhere * src/aps.c: - made ap_viewtype global so that the selected view type sustains for whole session - replaced snmp() for SiteSurveyCommand scan with sendto(), as buggy ATMEL12350 firmware does not confirm SiteSurveyCommand reception, but goes straight to internal scanning loop. This allows for attempts to perform SiteSurveyCommand via wireless interface of the AP, which would previously time out due to the reluctance of the firmware to send confirmation, as described above. * src/bridge.c: disallow remote BSSID option key if AP is in Access Point mode * src/common.c: - again changed/corrected the order of autodetection. We cannot check against sysDescr OID of ATMEL12350 in first step becouse ATMEL410 devices would pass this check too and would be falsely marked as ATMEL12350. - added back possibility to manually select the AP type. User is given a choice to either autodetect the device (default), or specify type manually. The latter may have advantage if the AP is not actually available via network. - hide cursor again after user turns back from the subshell * src/radio.c: implemented detection & setup functions for APs that give response to operAntennaSettings OID query in 1-byte format. It seems that these devices do not distinguish between receiving and transmitting antennas. This is true even for some APs with single antenna output (Tellus A14 as an example), where this OID gives really no good to the sum of resulting functionality (why would you ever need to set up which antenna is left, right or diversity, if you got just one ? :^) * lib/ap-utils.h, src/common.c, src/input.c: - added new function get_pass(). This code has been taken from common.c, modified and moved to input.c. - AP type is now displayed once it is selected or autodetected - maximum password length is 16 characters, not more (originally it was 32). It is quite possible more than 16 may work with some devices, but I've never seen an AP MIB that would define community length > 16 characters. - made the offsets at which the values are displayed, relative to the length of option name strings, to ease work for translators - yes_no(): newly introduced - ignore escape key presses in both get_value() and get_pass() * src/ap_search.c: - indentation fixes - if connect_options() is called for discovered APs, the 'type' argument has to be always > 0, as this is being checked against in connect_options(). We increment it with one all the time and decrement back after the check in connect_options(). Now, the user is not prompted for AP type in connect_options() if he should not have to be (originally intended behaviour). - check against duplicated responses from ATMEL410 APs. These are also able to answer queries with 12350 in query OID. This is now being explicitly checked for => no more duplicate ATMEL410 and ATMEL12350 APs with same IPs in the Search menu. - do not attempt to assign const char "public" to 'community' variable, as we attempt to free() it elsewhere. We could use malloc() here, but still, this would have no good reason since user is (and should be) always prompted for a password once he selects desired AP from the 'Search' menu, once it is found => all password-saving & handling parts have been removed for now. This also fixes a crash that would occur if someone would try to connect to an AP in 'Connect' menu, after unsuccessful 'Search' attempt. - implemented searching per multiple network devices. This involved modifying ap_search() and changing it to scan_local_segment(), as well as making scan_local_segment() self-reentrant, plus adding portable code to scan for available network interfaces for their IP/broadcast(ptp) pairs, that are later used to scan segments via scan_local_segment(). Thanks to Dan J. Bernstein for an effort in writing portable SIOCGIFCONF-related code; the current implementation is based on his ipme.c from Qmail. No more using 255.255.255.255 as broadcast as well as source IP scanning. Results are now accurate even on routers with multiple network interfaces of different types. The current ap_search() has been verified/tested with W-Link WEN2021 and Tellus TWL-A14 APs on Linux 2.2/2.4 and FreeBSD 4.9 . - the progress is now verbose: - each AP is shown immediately as soon as it is found - the screen is realtime-updated with information about network interface index, its name and AP type, currently scanned for - it is now possible to quit from scanning process by pressing 'q' or 'Q' whenever user wants to - do not attempt to connect to an AP by pressing a key with index of AP that is not present in the 'found' table * src/oui.c: added OUIs: - 000C30 (Cisco) - 000C41 (The Linksys Group, Inc.) * configure.in: added check to determine whether the (struct sockaddr) has 'sa_len' member, and if it has, #define HAVE_SA_LEN in order to properly support network interface detection on 4.4BSD-ish systems. Moved AC_CONFIG_AUX_DIR macro behind AC_INIT, to satisfy newer autoconf. Also, moved template definition from acconfig.h here. * acconfig.h: deleted (deprecated for newer autoconfs) * src/menu.c: added hooks for keys, 'q' / 'Q', Home (PageUp), and End (PageDown) * src/set_community.c: use get_pass() for now instead of get_value(), so that the passwords are hidden when someone types them in. We should really use get_value() for this later, and make the password hiding optional. 2003-10-21 Roman Festchook * configure.in: version 1.3.3, added "thank you" message * src/common.c: falling back to firstly implemented AP type autodetection order - firstly searching for ATMEL410, by default ATMEL12530 * NEWS: main changes added 2003-08-14 Roman Festchook * configure.in: version 1.3.3-pre3 2003-09-08 Jan Rafaj * README: added several APs to the table of supported hardware * lib/ap-utils.h, src/ap-config.c, src/auth_mac.c: AuthMAC() renamed to atmel_auth_mac() * lib/ap-utils.h, src/input.c, src/test.c, src/set_community.c, src/wep.c, src/wlan.c, src/auth_mac.c, src/bridge.c, src/common.c, src/file.c, src/nwn_advanced.c, src/radio.c: - get_value(): rewritten; now embeds the bounds as well as pressed key checking. The range boundaries, the desired type of input with respect to the acceptable characters, and the pointer to a message to be restored, when a warning about exceeded boundary is printed in the bottom stripe, are accepted as four additional parameters now. - get_ip(), get_mask(): newly introduced - get_ip(), get_mac(): based on get_value(), with additional bounds checking tailored accordingly and moved here from src/bridge.c - get_mask(): based on get_ip() with additional mask correctness checking code moved here from src/bridge.c - all the above functions were used to replace the respective original input functions to match the changed prototypes - the generic message 'Invalid value...' has been replaced with 'Value must be in range %i - %i...'. This is printed in bold-white/red in bottom stripe if the user input value exceeds the predefined boundaries. - added inet_aton()-specific includes to lib/ap-utils.h, and removed elsewhere for multiple reasons * src/wlan.c: fixed code displaying the ESSID - upon its change, previously it could happen that if a newly written ESSID would be shorter than the previous one, the loop that has been used to display ESSID would [erroneously] expect the string to be finished with '\0' (which is not required due to operESSIDLength), and would display garbage with content of and length up to an old ESSID string 2003-08-27 Jan Rafaj * README: fixed/added some supported AP hardware entries * lib/ap-utils.h, src/ap-config.c, src/bridge.c, src/radio.c, src/set_community.c, src/sysinfo.c, src/test.c, src/wep.c, src/wlan.c: hopefully the last round of changes in naming convention * src/bridge.c, src/wlan.c: utility now distinguishes some extra MIB subtypes: for 410 enter- prises MIBs: "SmartBridges" form, and for 12350 enterprises MIBs: "Tellus" MIB form "prototype". The MIB form is being distinguished based on the OUI part of MAC address of the device. Other than those MIBs named above are considered "generic" forms, becouse are very ubiquitous. This procedure is necessary, becouse despite the fact that many MIBs keep the same enterprises ID, they differ slightly in OID structures (some OIDs are in one MIB and not in other, and same OIDs even may have significantly different meaning - this is a case of Tellus A14 MIB x NetGear ME102 MIB, f.e.). So, unfortunately, there's no other way, but: - make some MIB "prototypes" (aggregate those that contain exactly the same information, based on the supported AP models across all the device manufacturers) - determine the correct MIB based on the OUI part of MAC address of the device (we assume noone changes OUI part of the MAC of his AP) It is quite possible that this approach will need revision in the future, but since there appears to be no 100% reliable way of how to distinguish different device models of one specific manufacturer, the above is currently the finest, although still coarse enough, method to support most devices. * src/bridge.c: - 'Preferred BSSID' keys rebound from 'm/M' to 'r/R' - 'Forward broadcast traffic' keys rebound from 't/T' to 'r/R' - introduced new setting 'Trap-sending port(s)', and bound to 't/T' key. This setting appears only if ATMEL12350 device with "Tellus Group Co." OUI is detected. * src/wlan.c: - fixed 'Beacon period' input/output data formatting/displaying - display/snag/set 'Beacon period' and 'DTIM sending interval' options/their values only if the device uses "generic" ATMEL12350 MIB prototype (that of NetGear ME102 for example). This should fix crashing becouse of missing MIB OIDs for people that use this kind of devices. 2003-08-25 Roman Festchook * lib/ap-utils.h, configure.in: FreeBSD compile time fixes 2003-08-19 Roman Festchook * src/ap_search.c: fixed getch delay and restoring current connect options when quiting search screen 2003-08-18 Jan Rafaj * README, THANKS: modified * most of string #defines moved from lib/ap-utils.h to the corresponding modules in src - lib/ap-utils.h should keep just those that are common to more than 1 module * src/aps.c: - fix bound-checking condition. Some APs with older ATMEL firmware actually provide less space than 16 APs in its KnownAP reply, and we also need to check for condition when lvalue of next MAC entry in the response table is 0 (means end of statistics) - only rewrite the current bridge_mode to 3 (AP client) if the AP is ATMEL12350 type * src/auth_mac.c, src/bridge.c, src/nwn_latest.c, src/sysinfo.c, src/test.c, src/wep.c, src/wlan.c: - stripped the formatting characters from remaining string #defines - made the displaying value in 'Feature: value' dependant on offset computed through strlen() from #defined string - this way, the internationalisation is eased becouse translators dont need to keep with original english strings size * src/bridge.c: implemented new functionality from ATMEL 12350 MIB for: - Configuration-enabled port(s) - ForwardBroadcast - SendBackBcast - SendBackUnicast * src/input.c: enhanced get_mac() for checking invalid MAC values that user may type in; if he does, print generic error and loop unless user gives syntactically correct value. * src/radio.c: changed the 'Key' to '[key]' in bottom message for uniformity. * lib/ap-utils.h, src/sysinfo.c, src/wlan.c: renamed CFG_STRUCT_ {ATMEL410,ATMEL12350} to SysDeviceInfo_{ATMEL410,ATMEL12350} * src/wlan.c: corrected offset of displayed values for features: - InterRoaming - BeaconPeriod - DTIM 2003-08-14 Roman Festchook * src/common.c: changed AP type autodetection order - firstly searching for ATMEL12350, by default ATMEL410 * configure.in: version 1.3.3-pre2 * src/aps.c: fixed connecting to choosen AP on ATMEL12350 APs in not AP Client mode 2003-08-14 Elros Cyriatan * po/nl/po: New Dutch PO file for `ap-utils' 2003-08-11 Jan Rafaj * next round of spelling and indentation fixes * src/aps.c: - made the 'KnownAP' statistics available only if the Access Point is in AP client mode [original behaviour]. Some Access Points may keep the statistics in their RAM, but no update is performed. Even, sometimes, their RAM may contain garbage after reset, which would cause parsing problems. * lib/ap-utils.h, lib/reset.c, src/ap-config.c, src/ap-mrtg.c, src/ap_search.c, src/aps.c, src/auth_mac.c, src/bridge.c, src/cmd.c, src/common.c, src/radio.c, src/set_community.c, src/stat.c, src/stations.c, src/sysinfo.c, src/test.c, src/wep.c, src/wlan.c: - changed all occurences of 'ATMEL' to 'ATMEL410' and for 'ME102' to 'ATMEL12350' * lib/ap-utils.h, src/ap-config.c, src/sysinfo.c: - renamed sysinfo() to atmel_sysinfo() * lib/ap-utils.h, src/ap-config.c, src/wlan.c: - renamed wireless() to atmel_wireless() * src/ap-config.c: - redefined color pair 2 (black ink, green background), and defined new color pair 3 (black ink, green background), and color pair 4 (white ink, red background). 2 is used for showing all string values actually changed by the user; 3 is used for displaying column-info stripe in aps.c, and 4 is used to display error-related messages in bottom status stripe. * src/input.c: - get_value() modified * src/scr.c, lib/ap-utils.h: - added new function print_menusel(). Prints a message split up to two parts - first part without colors, second part in bright. Used in conjunction with get_value() to display parameters that the user modified, in bold. - added new function print_helperr(). This is basically the same as print_help(), with the only difference that it prints the text in white bold on red background. Uses color pair 4 and bold attribute; see above. * names of all print_help() functions related to printing error messages have been changed to print_helperr() * src/auth_mac.c, src/bridge.c, src/radio.c, src/test.c, src/wep.c, src/wlan.c, lib/ap-utils.h: - implemented new colorisation scheme using print_menusel() and get_value(), get_mac() - if user enters a new value, the maximum space (in character counts) that can be used, is displayed in inverse color. As soon as user confirms the new value by pressing enter, the changed value is displayed in bold (so that he knows what he has actually changed). * src/bridge.c: - when entering AP's IP, mask and gateway, do not allow to pass further if the user input is invalid - instead, loop unless user enters valid information - hardened bounds checking against correct netmask value; now, invalid netmasks like 255.255.255.129 elicits error and forces prompt for new value, too * lib/ap-utils.h, src/ap-mrtg.c, src/ap_search.c: placed conditinal GLIBC checks => ap-utils now compile/run even on non-GLIBC (LIBC5-based and such) systems, hopefully. Actually it has only been tested with libc5-based Linux system. * lib/ap-utils.h, src/ap-mrtg.c, src/ap-trapd.c: placed conditional HAVE_GETTEXT checks around parts using gettext, to get ap-utils compile on systems without gettext support * lib/snmp.c, src/file.c: external declaration of ap_type datatype unified as 'short' and made global to make some old GNU C compilers happy 2003-08-07 Roman Festchook * src/brige.c: fixed bug when saving changed ip, netmask and gw 2003-08-07 Jan Rafaj * various spelling and indentation fixes here and there * all the ATMEL 12350-specific stuff below has been modelled using Tellus A14 AP. * src/aps.c: - made it malloc()-free. no more potential leaks. - 'KnownAP' now works for ATMEL 12350-based APs too - allow of up to 16 concurrent APs to be displayed in the 'KnownAP', as the packet itself may carry up to 16 records (768/48). This is also a fix becouse up to now, the menu has shown just the first AP entry. - The button for 'refresh without reset', originally bound to 'g' and 'G' key, has been rebound to 's' ('S') key, since the keys a-g (A-G) are now used as keys, corresponding to numbers 10-16 of the APs displayed, when used in '# connect to this AP' command. - enhanced '# connect to this AP' functionality for also setting the appropriate channel through operChannelID OID - disallow connection to Ad-Hoc mode bridges - fixed bad effect of displaying 'Writing data to AP' after pressing AP number, even if the number of the selected AP is not actually present in the table - changed the color scheme to some more eye-pleasant values - implemented 4 different "views", that can be toggled via 't' ('T') key: * view 1: - most usual one; with RSSI and LQ in % [ATMEL utility view] * view 2: - the same as 1; except that RSSI is displayed in dBm and LQ in raw * view 3: - ESSID shown expanded to full length, no NetworkType; RSSI displayed in raw, LQ displayed in raw * view 4: - shown only BSSID, and its hardware manufacturer - the 'KnownAP' statistics is available without reset if the Access Point is either in any of APclient or AP modes, not just when it is in APclient mode. * lib/ap-utils.h: - HARD_CONFIGURATION_STRUCT is now replaced with two new structures: CFG_STRUCT_ATMEL (for ATMEL 410-based devices), and CFG_STRUCT_ME102 (for ATMEL 12350-based devices). * src/sysinfo.c: - sysinfo() made malloc()-free, and made both ATMEL 410- and ATMEL 12350-aware => SysInfo for APs of both ATMEL types is now displayed correctly * src/oui.c: - added OUI 000CCE (Cisco Systems) * lib/ap-utils.h, src/wlan.c: - made it fully ATMEL 410- and ATMEL 12350-aware (displaying/setting of additional InterRoaming, BeaconPeriod and DTIM parameters in case of ATMEL12350). Note that it is possible to regulate BeaconPeriod in range 0-65407 and DTIM in range 0-255, but the boundary limits may vary with different hardware. I've tried to make as broad range coverage as possible. Anyway, for example, Tellus A14 resets the BeaconPeriod internally to 100, if you write it with value out of 1-1000 interval. - rebound key for ESSID from 'd' ('D') to 'e' ('E') 2003-07-26 Roman Festchook * src/ap_search.c, src/common.c: changed AP types ATMEL to ATMEL410 and ME102 to ATMEL12350 * src/common.c: added AP type autodetection - by default ATMEL12350 * src/common.c, src/ap_search.c, lib/ap-utils.h: now its possible to choose working AP from AP search result * po/uk.po: updated translation * lib/ap-utils.h, src/brige.c: bigendian fixes when setting ip, netmask and gw * configure.in: version 1.3.3-pre1 2003-06-20 Roman Festchook * configure.in, acconfig.h, lib/ap-utils.h: small fix to compile under OpenBSD * po/*.po: fixed some fuzzy translations 2003-06-03 Eugen Hoanca * po/ro.po, configure.in: added Romanian translation 2003-05-28 Roman Festchook * configure.in, NEWS: version 1.3.2 2003-05-26 Roman Festchook * config/config.guess, config/config.sub: updated from latest autoconf 2003-05-21 Roman Festchook * README: new supported AP added * configure.in: version 1.3.2-pre4 2003-05-20 Roman Festchook * src/ap-mrtg.c: fix bug like 2003-05-20 Peter 'p2' De Schrijver patch fixes 2003-05-20 Peter 'p2' De Schrijver * 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. 2003-04-29 Michel Robitaille * po/fr.po: updated translation 2003-04-28 Roman Festchook * README: new supported APs added * src/auth_mac.c: small compile error with old gcc fixed 2003-04-26 Roman Festchook * README: new supported APs added 2003-04-15 Roman Festchook * po/pl.po: updated translation * lib/Makefile.am: not used code exluded for faster compilation * lib/ap-utils.h: code rearangement * src/scr.c: some updates for more faster screen handling * configure.in: version 1.3.2-pre3 2003-04-15 Przemyslaw Stanislaw Knycz * po/pl.po: fix to correct displaying polish chars 2003-03-13 Roman Festchook * README: new supported AP from SVEC 2003-02-27 Roman Festchook * FAQ: updates 2003-02-26 Roman Festchook * lib/*, src/*, README: added support fpr new Netgear ME102 enterprase in old Atmel mib (ME102 type) * configure.in: version 1.3.2-pre2 2003-02-25 Roman Festchook * README: new supported hardware from DCom removed (it's WLink hardware:) 2003-02-23 Roman Festchook * README: new supported hardware from DCom 2003-02-23 Roman Festchook * src/menu.c, src/input.c: added new vi-like keys to menu movement * Documentation/ap-config.8: added info about vi-like keys to menu movement * configure.in: version 1.3.2-pre1 2003-02-14 Roman Festchook * TODO: support for ME102 new mib * configure.in, NEWS: version 1.3.1 2003-02-11 Roman Festchook * src/wep.c, src/wlan.c: fixed for warnins when compiling by egcs-2.91 2003-02-08 Roman Festchook * src/common.c: removed unnecessary debug message 2003-02-06 Roman Festchook * 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 * Documentation/FAQ: added info about new ME102 AP * src/ap-search.c: fixed bug with closing sock descriptor after making search - what make impossible working with current AP without reconnect 2003-02-04 Roman Festchook * src/file.c: fixed updating options file bug 2003-02-03 Roman Festchook * src/wep.c, Documentation/ap-config.8: added info about WEP key values 2003-01-10 Roman Festchook * src/common.c: fixed options file name mismatch 2002-12-22 Roman Festchook * src/file.c: added keys for fast selecting one from first 9 APs, fixed coredump when parsing file in wrong format * po/uk.po: updated translation 2002-12-16 Roman Festchook * src/ap-mrtg.c: command line parameters parsing small fix 2002-12-15 Roman Festchook * configure.in: build cleanups * 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 * src/*, lib/*: many code cleanups and fixes 2002-12-10 Roman Festchook * configure.in, src/Makefile.am: fixes to build on OpenBSD * README: new supported OS OpenBSD 2002-12-05 Roman Festchook * README: supported hardware table updated * configure.in, NEWS: version 1.3 2002-12-02 Roman Festchook * src/ap-mrtg.c: fixed printing warning in non verbose mode when getting Link Quality stats * src/ap-mrtg.c, man/ap-mrtg.8: Signal Strenght returned in dBm 2002-11-25 Roman Festchook * man/ap-config.8: removed dead link 2002-11-25 Wolfgang Fuschlberger * Documentation/Ovislink-HOWTO.html: updated howto 2002-11-20 Roman Festchook * configure.in: defined LIBS and INSTALL variables to compile under QNX (nto-qnx) * INSTALL: updated with info about installing on QNX * README: new supported OS added * src/Makefile.am, configure.in: removed checking for ncurses libs and LIBS difinition moved to Makefile (I think its wrong but useful:) * src/aps.c, man/ap-config.8: RSSI now displayed in dBm (thanks to Ivan Korshun) * po/*.po: translations updates 2002-11-11 Michel Robitaille * po/fr.po: updated french translation 2002-11-10 Roman Festchook * man/*.8: removed referrer to ap-atmel and ap-nwn 2002-11-10 Dan Pelleg * src/wlan.c: patch to build on FreeBSD 2002-11-04 Wolfgang Fuschlberger * Documentation/Ovislink-HOWTO.html: howto use ap-utils with Ovislink hardware * README: new supported hardware from Ovislink 2002-11-01 Wojciech Puchar * po/pl.po: polish localization 2002-11-01 Roman Festchook * lib/common.c, po/*.po: spelling fixes 2002-10-31 Roman Festchook * src/aps.c: fixed getting info from APs manufactured by CC&C Technologies * po/*.po: translations updates 2002-10-30 Roman Festchook * README: new supported hardware * src/aps.c: check for right channel added 2002-10-29 Rahul G * lib/ber.c: function to ber encode object identifiers added 2002-10-24 Roman Festchook * configure.in, NEWS: version 1.2 2002-10-21 Pawel P. Kaszynski * README: new supported hardware from Intellinet 2002-10-17 Michel Robitaille * po/fr.po: updated french translation 2002-10-15 Roman Festchook * configure.in: more fixes to compile under netbsd 2002-10-11 Roman Festchook * lib/common.c: added option to disable saving connect options to file 2002-10-10 Roman Festchook * src/wlan.c: fixed fail to set essid because wrong len * Documentation/mib/atmel: new mib added form airBrige device * src/ap-trapd.c, man/ap-trapd.8: added support for Smartbridges airBrige traps, run utility with -s key * src/brige.c: added support for Smartbridges airBrige speciffic oid 2002-10-09 Roman Festchook * src/brige.c: added check for getted from AP values * configure.in: added CC variable to compile under netbsd * README, INSTALL, mib/ap-config.8: updates about merging utilites to ap-config 2002-10-07 Roman Festchook * src/ap-config.c, lib/common.c, lib/ap-search.c: connect and search procedure updates 2002-10-07 Dan Pelleg * lib/ap-search.c: fix to compile under FreeBSD 2002-10-03 Roman Festchook * src: ap-nwn and ap-atmel merged to one utility ap-config * lib/snmp.c: decreased timeout waiting for reply from agent - in general it result more faster read SNMP data 2002-10-02 Roman Festchook * common/ap-search.c: socklen_t variables redefined to uint32_t for build package under MacOS-X * common/file.c: char variable j redefined as unsigned to socessful build where char is per default unsigned on arm, powerpc and s390. * nwn/wlan.c: form handling code cleanups, fixed display refreshing after changing antenna and rate options * README: new supported hardware * configure.in, NEWS: version 1.1.1 2002-09-29 Roman Festchook * nwn/advanced.c, man/ap-nwn.8: added some advanced options to optimize long range links and antenna tuning 2002-09-28 Roman Festchook * 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 * nwn/reset.c, nwn/ap-nwn.c: added option to reset AP * atmel/wep.c: WEP encryption after fixes works - tested WEP64 crypted link between CompexWP11 and GL2411AP as client * atmel/ap-trapd.c, man/ap-trapd.8: updated traps list with new traps from 1.4j.1 firmware * atmel/brige.c: added Repeater mode to Brige modes * nwn/nwn.c: now possible to define 4 WEP keys and choose default key 2002-09-26 Roman Festchook * atmel/ap-mrtg.c: small fixes about link quality displaying * atmel/ap-trapd.c: small log format changes * README: new supported hardware Smartbridges airBrige and airPoint 2002-09-20 Roman Festchook * configure.in, NEWS: version 1.1 2002-09-19 Roman Festchook * atmel/aps.c: interface updates * po/uk.po, po/fr.po: small translations update 2002-09-19 Andy Igoshin * atmel/radio.c: now wors fin on big_andian 2002-09-17 Andy Igoshin * common/ap-utils.h, atmel/wlan.c: basic rates display fix * man/*.8: man page formatting updates 2002-09-17 Roman Festchook * nwn/stations.c: rewrited code that get associated stations info to avoid problems with invisible stations * nwn/stations.c, atmel/stations.c: fixed display last value problem * po/uk.po, po/fr.po: small translations update 2002-09-16 Roman Festchook * 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 * po/uk.po: translation update * atmel/aps.c: added option to connect to one of the displayed known APs, also now possible reget and refresh (with reset) stats * 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 2002-09-15 Andy Igoshin * atmel/ap-mrtg.c, atmel/aps.c, atmel/bridge.c, atmel/cmd.c, atmel/stat.c, atmel/stations.c, atmel/wep.c, atmel/wlan.c, common/ap-utils.h: code cleanups * nwn/sysinfo.c: code cleanups 2002-09-12 Andy Igoshin * configure.in: small fix for AIX * atmel/auth_mac.c, atmel/wep.c: case statement code cleanups * atmel/auth_mac.c: now works good with big_endian * common/ap-utils.h: additional macros for data conversion on big_endian * atmel/brige.c: removed any ip adderess converting on big-endian arch * atmel/wep.c: now encryption enable and key num works good with big_endian 2002-09-12 Roman Festchook * nwn/sysinfo.c: removed any ip adderess converting on big-endian arch * atmel/auth_mac.c: changed type to mib defined * common/ap-utils.h: swap2 definition to little_endian arch * atmel/wep.c: some variables declaration moved to up to compile on old gcc compilers 2002-09-11 Roman Festchook * atmel/wlan.c: fixed unpackeing RegulatoryDomain on big_endian computers * atmel/bridge.c, nwn/sysinfo.c: fixed ip adderess converting on big-endian arch 2002-09-11 Andy Igoshin * atmel/sysinfo.c: fixed displaying RegulatoryDomain on big_endian computers * configure.in: OS definition now standart macro, AIX compilation options * atmel/auth_mac.c: mac auth foxes for big_endian 2002-09-08 Andy Igoshin * atmel/Makefile.am, common/Makefile.am, common/ap_search.c, common/menu.c, common/scr.c, nwn/Makefile.am: patch to compile by native compiler under AIX 4.3.3 2002-09-08 Roman Festchook * README: new supported hardware Micronet SP918 and OS AIX 4.3.3 added * configure.in, common/ap-utils.h, acconfig.h: now big_endian defined using standart configure macro AC_C_BIGENDIAN (thanks Andy Igoshin for suggection) 2002-09-06 Roman Festchook * atmel/bridge.c, nwn/sysinfo.c: fixed ip adderess displaying on big-endian arch * README: new supported OS MacOS-X * configure.in: new big_endian arch Power Macintosh 2002-09-04 Roman Festchook * nwn/wlan.c, atmel/wlan.c: fixed setting channel bug under Spain and France regulatory domain * man/nwn.8: additional info about Search AP option * README: new supported hardware Dlink-1000AP * nwn/auth_mac.c: displaying mac autorization status fixed 2002-09-02 Roman Festchook * configure.in, NEWS: version 1.0.5 * po/uk.po: ukrainian translation updates 2002-08-29 Roman Festchook * atmel/ap-mrtg.c, man/ap-mrtg.8, aclocal.h, configure.in, INSTALL: enable report to MRTG when unable to get stats from AP now sturtup option, also command line arguments now parse using getopt() in ap-mrtg * atmel/ap-trapd.c, man/ap-trapd.8, aclocal.h, configure.in, INSTALL: option to change defaul unprivileged user now sturtup option, also command line arguments now parse using getopt() in ap-trapd * atmel/brige.c: entering AP mac address in Client mode fix * common.c, configure.in: macro for check big-endian arch (sparc and mips) now set variable AP_BIG_ENDIAN 2002-08-28 Roman Festchook * atmel/*.c, nwn/*.c, common/*.c: getting pressed key fixes to avoid reactions to neutral keys pressed by user 2002-08-28 Michel Robitaille * po/fr.po: french localization 2002-08-27 Roman Festchook * atmel/stat.c, atmel/test.c, atmel/sysinfo.c, nwn/stat.c: applayed macro swap4 from Erik Rossen for display long values * configure.in: macro for check big-endian arch (sparc and mips) added 2002-08-27 Erik Rossen * 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 * INSTALL: instruction to compile under Sparc Linux 2002-08-26 Roman Festchook * README: updates and spelling * 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 2002-08-19 17:42 Dan Pelleg * nwn/ap-nwn.c: minor change for compile under FreeBSD 2002-08-08 22:56 Roman Festchook * configure.in, NEWS: version 1.0.4 2002-08-02 20:29 Roman Festchook * configure.in: moved configuration utilites into config dir * atmel/*.c: code rewrited to don't use struct to unpack data that comes from network (as suggect Erik Rossen its may fix problems running utility on nonintel computer architectures). 2002-07-24 01:06 Roman Festchook * configure.in, common/common.c, acconfig.h, INSTALL: added compile time option to disable regulation domain channel restrictions 2002-07-22 00:02 Roman Festchook * man/ap-atmel.8, man/ap-nwn.8: added manpages for ap-atmel and ap-nwn 2002-07-21 20:02 Roman Festchook * man/ap-trapd.8, man/ap-mrtg.8: added manpages for ap-trapd and ap-mrtg 2002-07-21 15:06 Roman Festchook * nwn/stations.c, atmel/auth_mac.c: getting data from AP algorithms optimization 2002-07-21 01:24 Roman Festchook * common/oui.c: added displaying AP manufacturer using OUI value * README: spelling fixes 2002-07-18 14:53 Roman Festchook * nwn/stations.c: added info about waiting for data when getting data from AP 2002-07-16 01:04 Roman Festchook * configure.in: version 1.0.3 * common/ap_search.c, common/set_community.c: code of search and auth functions moved into common for both utilites functions * Makefile.am: now packages will be compressed by bzip2 (to save bandwith) 2002-07-15 19:31 Roman Festchook * common/scr.c, common/common.c, common/ap-utils.h: added info about current AP at right bottom of the screen 2002-07-14 00:20 Roman Festchook * po, intl, m4: integration with GNU gettext for simlying localization and translation * src: a lot of internal code optimization and spelling * nwn/search.c: AP search fixes * po/uk.po: ukrainian localization 2002-07-07 gettextize * Makefile.am (SUBDIRS): Add intl. (ACLOCAL_AMFLAGS): New variable. (EXTRA_DIST): New variable. * configure.in (AC_OUTPUT): po/Makefile.in, m4/Makefile. 2002-07-07 05:20 Roman Festchook * ap-trapd: log additiomal info about agent that generate trap 2002-07-05 02:00 Roman Festchook * common/ap-cnf.h, *.c: common/ap-cnf.h renamed to common/ap-utils.h * nwn/menu.c, atmel/menu.c, common/menu.c, common/ap-utils.h, common/Makefile.am: menu handling code rewrited to one universal routine 2002-07-04 15:44 Roman Festchook * configure.in: version 1.0.2 2002-06-29 20:15 Roman Festchook * nwn/search.c: error messages fixes * configure.in: added test for Linux * atmel/ap-trapd.c: fixed displaying new IP when SettingPingIPAddress trap received, also displaying mac address limited to related traps, bind to device code compiled only at Linux * Documentation/README.trapd: info about bind to device option code work only at Linux * Documentation/THANKS: new contributor Dan Pelleg * common/ap-cnf.h, README: changed project name to Wireless Access Point Utilites for Unix 2002-06-28 17:14 Roman Festchook * atmel/Makefile.am, nwn/Makefile.am, common/Makefile.am: added options to compile on FreeBSD 2002-06-28 16:45 Dan Pelleg * atmel/ap-atmel.c, atmel/ap-mrtg.c, atmel/ap-trapd.c, atmel/bridge.c, atmel/radio.c, atmel/search.c, common/common.c, common/file.c, common/snmp.c, nwn/ap-nwn.c, nwn/search.c, nwn/sysinfo.c, nwn/wlan.c: patch to compile and run on FreeBSD 2002-06-26 15:53 Roman Festchook * configure.in: version 1.0.1 2002-06-24 23:40 Roman Festchook * ap-trapd: by default installed into '/usr/local/sbin' * src: code cleanups and compiler warnings fixes 2002-06-21 16:34 Roman Festchook * */Makefile.am: added target style * atmel/ap-mrtg: code rearangement 2002-06-17 09:24 Roman Festchook * README: ap-amtel does work with an D-Link DWL 900AP wich is (according to some google research it's an Linksys WAP11). Reported by Jens Link . 2002-06-16 18:48 Roman Festchook * ap-trapd: added compile time option to set nonprivileged account for running utility 2002-06-16 03:12 Roman Festchook * Makefile: now Makefiles generated by GNU autoconf and automake * INSTALL: updated with info about new instalation procedures * ap-mrtg: added compile time option to disable warnings when unable to get data from AP * atmel/aps.c: removed unnecessary code that read/set remote brige BSSID * atmel/search.c, atmel/wlan.c, nwn/search.c, nwn/wlan.c: compile time warnings fixed 2002-06-15 02:10 Roman Festchook * ap-atmel: added try to restore settings when fail to get KnownAPs info 2002-06-09 23:33 Roman Festchook * version: 1.0 * ap-mrtg: removed email from usage message * ap-mrtg and ap-trapd code: placed into atmel directory * Makefile: some optimization at subdirs and at top level * Documentation: mibs now back to package * NEWS, AUTHORS: added 2002-06-08 01:03 Roman Festchook * ap-trapd: fixed getting data from old trap body when processing new trap 2002-06-06 14:29 Roman Festchook * ap-trapd: rewriten to log shorter messages without informative data lost * Documentations: some updates for preparing to version 1.0 2002-06-05 00:01 Roman Festchook * ap-atmel: added warnings in potentially dangerous options: KnownAPs, Reset, Upload, Defaults, Restore 2002-06-01 00:20 Roman Festchook * version: 1.0pre3 * ap-mrtg: added selecting AP to which get Link Quality/Signal Strenght statistics, also updated documentation 2002-05-31 00:50 Scott L. Thomas, Roman Festchook * ap-mrtg: option to get Link Quality/Signal Strenght stat from AP in client mode added * Documentation/README.mrtg: description about getting Link Quality/Signal Strenght stat from AP in client mode added * Documentation/README.nwn: added info about basic rates setting * ap-atmel, ap-nwn: added backspace support when entering password 2002-05-30 14:05 Roman Festchook * ap-trapd: option to bind listening for traps on a specific interface added * Documentation/README.trapd: option to bind listening for traps on a specific interface described * Documentation/README.nwn: added info about associated stations 2002-05-29 19:30 Roman Festchook * ap-nwn: fixed basic rates, AP name and ESSID displaying * ap-atmel, ap-nwn: some optimization for size * snmp.c: memory leaks fixes when parsing received packets * ap-nwn: uptime displaying fixed 2002-05-27 00:03 Roman Festchook * version: 1.0pre2 * ap-atmel: added Regulation domain restriction to select channel in Test Mode * ap-atmel, ap-nwn: added floating dropdown menus for choose from the list of options 2002-05-26 16:45 Roman Festchook * ap-nwn: fixed lenght bug in setting AP name 2002-05-25 14:05 Roman Festchook * Documentation: added banner image:)) 2002-05-22 00:19 Roman Festchook * version: 1.0pre1 * Documentation: additions and spelling * src: removed unused code 2002-05-21 20:06 Roman Festchook * ap-nwn: added option to find connected APs 2002-05-20 01:37 Roman Festchook * ap-nwn: added basic rates choose options, added WEP key set options, added setting prefered channel to operational channel value * Documentation: mibs excluded from program package (they come with devices), also excluded power hack docs (readme has links to this pages) - this greatly reduce package size:) 2002-05-18 19:51 Roman Festchook * ap-atmel: fixed bug with unable to repeat APs search, other search fixes and improvements 2002-05-17 15:51 Roman Festchook * version: 0.9.6 * ap-atmel: added option to find connected APs 2002-05-16 00:12 Roman Festchook * atmel/aps.c: removed timeout when getting KnownAPs stat from AP in client mode 2002-05-15 20:57 Roman Festchook * ap-mrtg: added option to get associated stations stat * README.mrtg: info about stations stat 2002-05-11 08:49 Erik Rossen * src: fixed compile time errors and warnings * atmel/scr.c, nwn/scr.c: patch to get rid of the annoying flicker every time one changes a menu 2002-05-06 02:42 Roman Festchook * common/file.c: now AP ip and community string saved in config file ~/., so no need to input it after each program start * common/common.c: connection password at input displayed with '*' * wlan.c: added Regulation Domain limit on setting channel * atmel/aps.c: Now KnownAP stat may be get without AP reset if AP in client mode * atmel/radio.c: Antenna checks on Atmel, so user can't disable both antenna, if he do this and save conf - AP restores factory defaults, now it fixed 2002-05-05 22:39 Roman Festchook * common/file.c: now Associated Stations list may be saved to file ~/.stations. 2002-05-04 23:26 Roman Festchook * version: 0.9.5 * README.atmel: added description of most configuration options * Documentation: updated documentations * source tree: changed structure * ap-cnf: renamed to ap-atmel 2002-05-04 18:46 Roman Festchook * ap-nwn: added utility to config Compex WP11 2002-05-02 18:46 Roman Festchook * ap-atmel/auth.c: fixed mac number error when deleting addresses from list * snmp.c: now returned from agent oid accessible in program 2002-05-01 17:43 Roman Festchook * snmp.c: added support for Compex WP11 SNMP-agent 2002-05-01 13:01 Roman Festchook * FAQ: added FAQ 2002-04-30 16:40 Roman Festchook * src/ap-trapd.c: fixed bug with SettingPingIPAddress trap message 2002-04-27 00:17 Roman Festchook * src/sysinfo.c: added description for Regulation Domain 2002-04-23 21:12 Roman Festchook * version: 0.9 * src/test.c: finished test mode * docs: documentation updates 2002-04-23 19:00 Roman Festchook * src/radio.c: added option to enable/disable antennas * src/menu.c: small menu rearangement again:)) 2002-04-22 17:08 Roman Festchook * src/auth.c: fixed mac number error when deleting addresses from list * src/menu.c: small menu rearangement 2002-04-15 20:20 Kucherak Sergij, Roman Festchook * version: 0.8.2 * INSTALL, README.ap-cnf: added ukrainian docs 2002-04-15 20:01 Roman Festchook * src/aps.c: added displaying Link Quality and Signal Strenght 2002-04-14 23:18 Roman Festchook * src/stat.c: fixed bug, that cause unable to exit problem when can't to get Ethernet or Wireless stat * src/aps.c: addded showing Preambule and Wep, also fixed bug with displaying Network Type * src/test.c: added unknown OID (see doc/todo), test mode still not work * src/snmp.c: fixed some warnings from gcc version pre3 2002-04-14 00:12 Roman Festchook * src/ap-cnf.c: showing cursor when entering password/community in connect screen 2002-04-12 00:14 Roman Festchook * src/auth.c: fixed displaying and setting mac authorization status 2002-04-07 22:32 Roman Festchook * version: 0.8.1 * src/menu.c: added printing tips to all menu options 2002-04-07 13:52 Roman Festchook * src/Makefile: added 'install' option 2002-04-06 23:50 Roman Festchook * name: changed name to Access Point SNMP Utils for Linux * src/stat.c: added mac address displaying in SysInfo, correctly printed sysinfo string * README: splited docs at top level directory - added INSTALL and README.util, added additional info 2002-04-04 22:50 Roman Festchook * src/ap-trapd.c: after opening socket changed UID and GID to non root user, I think it's more secure; also added check from what enterprise this trap came * src/ap-cnf.c: added info about not displayed characters when entering password/community 2002-04-04 01:12 Roman Festchook * src: added info about retrieving/setting data on help string * src/aps.c: more informative help string * src/menu.c: option APs renamed to KnownAPs 2002-04-02 14:34 Roman Festchook * version: 0.8 * src/aps.c: more verbose info when searching for APs * README: added warnins about using Statistics/APs option and info about ap-trapd * src: code cleanups to remove some warning when compiling gcc 2.9x 2002-04-01 21:36 Roman Festchook * src/wlan.c: fixed bug with AP name lenght when setting AP name, this may cause ip address change like 192.168.97.32 => 0.192.168.97. So I think it's critical bug. 2002-03-31 22:58 Roman Festchook * src/wlan.c: fixed bug with ESSID lenght when setting ESSID, this make impossible to set ESSID in some cases * src/trapd.c: added SNMP traps processing daemon 2002-03-27 13:58 Roman Festchook * version: 0.7.6 * src/ap-mrtg: error reports fixes * src/power.c: power level settings changed, now optimal values may be experimentally choosed 2002-03-21 14:32 Roman Festchook * src/smnp.c: conection timeout fixes 2002-03-23 23:16 Roman Festchook * version: 0.7.5 * src/auth.c: fixed bug with mac addresses num = 65535, which mean 0, this may cause problems configuring absolutelly new AP * src/aps.c: more safe KnownAPs function - now it restores parameters after requesting known aps info * src/cmd.c: upload configuration fixes 2002-03-11 02:01 Roman Festchook * src/snmp.c: SNMP packets assembly rewriten to work correctly with packets which size more than 128 bytes 2002-03-09 02:15 Roman Festchook * version: 0.7.4 * src: more verbose parameters description, removed unused code * ap-cnf: added screen "About", just about me and my program:)) * ap-mrtg: errors printed in MRTG parsable format * TODO: new goals 2002-03-07 11:20 Roman Festchook * version: 0.7.3 * src/snmp.c: fixed bug with alarm handler * src/stat.c, src/auth.c: removed mac addresses limit, added option to save Associated Stations mac addresses to file. 2002-03-03 13:22 Roman Festchook * version: 0.7.2 * src: many small bugfixes and code cleanups * src/stat.c: Ethernet, Wireless and Wireless environment screens now refreshed every second with updated data * src/test.c: start working on test mode settings, but it not useful for now * README: new homepage url 2002-03-01 23:53 Roman Festchook * version: 0.7.1-pre * src/snmp.c: Wireless stat now count all packets not only Unicast * src/power.c: setting power level changes * README: changed info about setting power level 2002-02-28 00:52 Roman Festchook * src/snmp.c, src/ap-cnf.c, src/ap-mrtg.c: connect blocks fixes 2002-02-27 20:15 Roman Festchook * src/power.c: power level now displayed with some kind of graph 2002-02-26 14:22 Roman Festchook * version: 0.7 * src/wep.c: added Privacy settings, please test 2002-02-25 16:44 Roman Festchook * spelling: spelling heads up:)) (thanks Charles Henderson) 2002-02-25 14:35 Roman Festchook * version: 0.6.1 * src/ap-mrtg.c: added utility to use MRTG for create stats graphics * README: added info about using MRTG to request AP 2002-02-24 01:10 Roman Festchook * src/power.c: added Signal Power settings * README: added info about Signal Power settings * version: 0.6 2002-02-23 16:53 Roman Festchook * src/bridge.c: added SNMP Traps switch option * src/wireless.c: interface improvement when setting Basic and Supported rates * src/auth.c: socket to AP now opened in nonblock mode * src/snmp.c: disabled program halt when timeout data read from socket * TODO: new goals * THANKS: added 2002-02-21 22:52 Roman Festchook * src/bridge.c: fixed broken setting RemoteBSSID in no Access Point operational modes 2002-02-21 14:17 Roman Festchook * doc/: added some docs about setting signal power * doc/mib: added mibs from another APs * TODO: added setting signal power * README: added additional info * src/: new features - new code, version 0.5 2002-02-13 23:22 Roman Festchook * ChangeLog: There was no ChangeLog here, so I added one.