+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
+
+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: <TAG>'
+ - 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 <time.h>, 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
+