Release Notes PN 93000716_F ConnectPort X2D 82002549_F EOS Version 2.17.0.6 INTRODUCTION This is a production release of firmware for Digi's ConnectPort X2D gateway. The ConnectPort X2D gateway uses a Digi Connect ME 9210 module with 8 MB of Flash, and 16 MB of RAM. The ConnectPort X2D gateway provides support for communication to end nodes in a wireless PAN from a parent application running on an IP network. The behavior of the gateway can be customized through the Python development environment. This firmware can support applications that require communicating directly with the wireless PAN module in the ConnectPort X2D gateway via RealPort, Modbus, or UDP/TCP sockets. SUPPORTED PRODUCTS ConnectPort X2D ConnectPort X2D 9XTend HIGHLIGHTED PRODUCT CHANGES Starting with the 2.17.0.6 firmware version, IDigi is rebranded as Device Cloud Starting with the 2.14.0.7 firmware version, the following feature has been incorporated: NEW iDIGI MANAGEMENT DEFAULTS Firmware defaults have been changed to enable connectivity to the iDigi(R) Device Cloud and automatic registration of the device to the iDigi(R) Support+ account. Services for registered devices include remote Digi Technical Support, with access to a wider range of remote capabilities through the creation of an iDigi Manager Pro account. iDigi Manager Pro is a web-based service that provides central and remote device management tools including: o Downloading of new software and updates o Editing of configurations and settings o Establishing user accounts with privileges o Selecting additional security measures For more information, visit www.idigi.com. To disable the iDigi default connection: 1. Open the web UI of the gateway using the method outlined in the Quick Start Guide. 2. Navigate to the "Configuration > iDigi" section 3. Uncheck the box labeled "Enable Device-Initiated iDigi Connection" 4. Press the "Apply" button 5. Re-boot the gateway Starting with the 2.13.0 firmware version, the changes described below are incorporated in this product. CLOCK (TIME) SOURCE MANAGEMENT SUPPORT The "Clock Source" functionality of the system has been replaced so as to simplify the behavior and improve the consistency of the time values delivered by the system, while still allowing the system to maintain a level of synchronization with external time sources. The updated feature includes a ranking system for clock sources. If a sample is taken from a better clock source than what has thus far been received (has a smaller number), the sample will be used to influence the baseline of our time measurements, and all sources of a less significant rank will be temporarily disabled. This allows the system to get a relatively accurate sense of time as quickly as possible, but eventually to run only listening to the best possible external sources. Internally, on products that have an RTC, the RTC itself is given a ranking of 50. This allows clock sources to be configured with a lower ranking... arranging so that they are only enabled when the RTC has not yet been initialized with a time value, essentially assigning them as one-shot programmers of the RTC. The rankings are re-evaluated when the clock sources are reconfigured, or when a user interface causes a "jump" in the time. Event logging of time-related events also is improved. The event log may be displayed using the "display logging" CLI or via the web UI. ENHANCEMENTS Rebranded "iDigi" as "Device Cloud" Enabled Python Watchdog support. Exposed "Static Position Coordinates" via GPS Stats BUG fIXES Don't block forever when radio serial port is flow controlled. Part of a fix for (NDS-19) Treat self-addressed TX status (0x23) as a successful transmission. Needed to support 2xB1 and 4x23 and future XBee firmware. Fixed a bug that updated XBee last contact time for a node no longer on the network during ZDO node discovery Fix XBee bug that sent repeated LQI requests when response contains no entries. Happens during ZDO node discovery with 4023 firmware. Cancel queued and pending XBee commands when gateway is disabled. Caused 900HP and potentially others to lock up when re-enabled (NDS-20). Fix a bug that used too small a buffer when processing ZDO address, routing, and LQI responses from an S2C node. DBL-143: Use the gateway as the default node for xbee child_table and neighbor_table commands. Fixed a bug where an unauthenticated user could delete a file from the filesystem (NDS-69) KNOWN ISSUES None. DOCUMENTATION ERRATA None. ADDITIONAL INFORMATION None. HISTORY 82002549_F (2.17.0.6) See ENHANCEMENTS information above. 82002549_E (2.16.0.2) - December 21, 2012 ENHANCEMENTS Add support for XBee-Pro 900HP S3B radio, including OTA firmware updates XBee ZB OTA update improvements: - Recover nodes that have failed an OTA update and are on the default channel after reset or losing power. Requires XBee firmware 2xAA or later on the updater node. - Restart update using a different updater node after a failure when automatically selecting an updater. - Use source routes to choose an updater with the shortest route, reject updaters further away in the route than the target, and increase timeouts for longer routes. This is effective only when source routing is enabled. - Use updaters from a previous attempt if updaters cannot be found after an update failure. - When "stop on error" option is enabled, stop all updates when an error occurs, not just automatic updates. - When "stop on error" option is disabled, repeatedly try to update the same node if an error occurs, until cancelled by the user. - Work around XBee bootloader bug that sends NAK on retransmitted block 0xff. Add the CR parameter for XBee ZB radio to XBee advanced settings web page, "set xbee" command, and RCI . (41292) Support differential configuration backups via the web user interface and command line interface (CLI), containing only settings groups whose values differ from the device defaults (settings class and custom defaults). This produces a smaller backup file that is more readily reviewed and perhaps edited for use as a defaults.rci file (custom factory defaults). Implement changes for possible programming issues that were identified by a static code analysis tool. The identified issues were reviewed and triaged, with changes resulting in many cases. Issues addressed include possible memory leak elimination, removal of unneeded code, improved error detection and handling, data initialization and buffer overflow prevention. While none of the changes are directly linked to issues reported by customers, the changes do improve overall firmware quality. BUG FIXES Fix "xbee factory_default" command error on non-ZigBee radios. Fix an XBee Python issue: Don't throw exception on register joining device status 0xb1, which means key not found. Set get_node_list() clear parameter default value to True only if performing node discovery. (45027) For XBee, allow sending to a 16-bit network address (e.g. [1234]!) on XBee firmware versions that support it. For XBee, allow RCI get_lqi command on XBee with smart energy firmware. For XBee, fix an incorrect error status following gateway firmware update. (45789) 82002549_D1 (2.15.0.8) - August 17, 2012 ENHANCEMENTS: None. BUG FIXES: Fix a bug that could corrupt the tuple returned by the Python method xbee.get_node_list() when previously discovered nodes are cleared from the list and are no longer discovered. (44746) Fix a bug in which the "file copy ..." CLI command might fail if the destination is a directory rather than a file. 82002549_D (2.15.0.3) - July 9, 2012 ENHANCEMENTS: iDigi changes: - Change the default for the iDigi client connection method from TCP to SSL as a security improvement. - Add event log and trace messages for the "Disconnect" iDigi protocol message, to help with troubleshooting the loss of iDigi connections. - Always indicate that device data service is available, even if no targets are registered yet. (40837) - Send message with succes status and zero-length response when Python data service callback function returns no value. (41422) - Add a feature to execute a CLI command using RCI via the general request do_command target="cli". This is accessed through iDigi Manager Pro. Add support to perform configuration backup/restore operations via the CLI "backup" command and the web UI. Files are in the internal WEB filesystem. Add the CLI "file" command that can copy, remove, rename and list files in the Digi flash filesystems. For security reasons, the file options copy, remove and rename are not permitted for files in subdirectories of the WEB filesystem (e.g., "python"). The "file" command also supports the display of total/used/available filesystem space. The options are described by "help file". New Packet Capture (PCAP) feature: Add support to the network stack for internal packet captures from various network interfaces. Users can capture packets from eth0, eth1, wln0, mobile0, wmx0 and pppN (serial, N=0-9), with the possible network interfaces differing among Digi products. Only a single interface at a time can be captured. Capture output is a standard PCAP-format stream that can be interpreted by common capture analysis tools. The feature adds a CLI "pcap" command with a variety of options to manage and perform captures. As a security measure, by default, the packet capture capability is disabled when a device boots. There are no stored settings -- all configuration and use of PCAP is a runtime matter after a device boots. The pcap command is hidden from the usual command help unless it is explicitly invoked. Trace output for "pcap" is added to trace capture actions and activity for debugging purposes. Packet captures can be obtained locally to the device from the CLI, with the output written to a local file in the WEB flash filesystem. Local captures may be performed as "foreground" or "background" tasks. Captures also can be obtained by connecting to the configured PCAP capture TCP port of the NDS device, when such "network" captures are enabled by the user. This permits "clients" such as netcat to connect and capture the packet stream. Such remote packet captures should not be performed by connecting over the network interface whose packets are being captured. The CLI "pcap" help text documents the various options and caveats for use of the packet capture feature. Improve the network stack's support for unpredictable IP ID use. The change provides better protection against a potential attacker as well as addresses a possible issue with IP fragmentation and reassembly. Implement changes for possible programming issues that were identified by a static code analysis tool. The identified issues were reviewed and triaged, with changes resulting in many cases. Issues addressed include possible memory leak elimination, removal of unneeded code, improved error detection and handling, data initialization and buffer overflow prevention. While none of the changes are directly linked to issues reported by customers, the changes do improve overall firmware quality. Add event logging and a CLI command to report status of Custom Factory Defaults (CFD). If custom defaults are applied, or if some error occurs while trying to process them at start-up time, a "system" event log record is created. A hidden "cfd" CLI command will display the status of CFD processing. This is added to "display techsupport" as well. This is provided as an aid for troubleshooting. Add event logging and trace for an internal API that can disconnect the iDigi connection, via Python. Helpful for troubleshooting. Optimize the internal na_pton() API to immediately fail look-ups when an empty string (IP address or domain name) is passed to that API. This improves performance in application code such that the eventual failure is more immediate XBee changes: - Add command to reset radio to factory default settings to Factory Default Settings web page, XBee Device Operations web page, xbee CLI command, and RCI . (41893) - Change max value for JN parameter to 1. (42084) - Expose D6 parameter on ZB gateway radio to enable RTS flow control. - Allow manually scheduled OTA firmware updates even if OTA update setting is disabled. - Add "xbee restart" CLI command to restart gateway radio. - Add ability to include XBee gateway radio settings in the configuration backup file. - Add option to Backup/Restore web page and CLI backup command. - Change RciProcessor and QueryCommands to generate backup directly, rather than changing query_setting to set_setting afterwards. - Add support for DigiMesh 865/868LP radio, including OTA firmware updates. - Add OTA update progress messages, improve error messages. - Check for a valid gateway firmware file before starting update. - Fix threading bug that returned an empty node list when another thread cleared the node list, causing a Python exception. - Indicate "unknown" instead of "end device" if node type is not known. - OTA firmware update improvements (customer-requested: - Invalidate network address on all transmit errors. - Improve command timeout handling. - Give preference to local radio as updater. - Test updater with smaller payload to allow room for encryption and and source routes. - Add RCI to allow commands directly specified to be executed on the Zigbee module. - Add SN parameter for DigiMesh and Smart Energy. - Don't enable RTS flow control (set D6=1) on ZB radio to avoid dropping data in the XBee module when fragmentation is enabled. This is because RTS and fragmentation aren't supported at the same time. (41307) - Improve handling of node discovery results for CLI and Python. - Update radio parameter tables. - Use POSIX file system API so OTA firmware update works on all file system types (including YAFFS). - Update configuration web page help for ZB. - Add support for the S2C (surface mount) radio. Improve the Python xbee module: - Add source_route member to nodes returned by get_node_list(). - Add option to clear node list to get_node_list(). Improve the web pages for the Alarms Settings: - For the individual alarm configuration page in the web UI, add a link to the SNMP Settings page in existing page text where the SNMP trap can be enabled for the alarm. If no trap destination is configured, display "(not configured)" as the destination value rather than nothing. - Improve error detection in the alarm edit web page. Add "display serial" and "info serial" to "display techsupport" command list. Add the undocumented "full" option to "display dnsserver" in the "display techsupport" command list. This is useful for troubleshooting. Add the Python version number to the RCI query_state/device_info reply. Improve memory use by the firmware update feature such that somewhat less memory is used during the upgrade. While all upgrade types are improved (web UI, CLI, iDigi), the CLI upgrade method is most improved. (40391) Reduce memory use by various firmware features. Eliminate unneeded code and data to reduce runtime memory use. BUG FIXES: Fix a problem in which the Digi device disconnects momentarily from the iDigi Manager server when the iDigi Manager Pro user opens Device's Properties Page. The problem occurs when the device uses the SSL connection type when connecting to the iDigi Manager server. It may occur over any network connection type (LAN or WAN) but is more likely to be observed over a WAN cellular connection. (39837) Fix a problem in which DSA security does not work with the Digi SSL implementation. (42451) Fix a bug in which autoconnect was failing to attempt a sslauth connection. (42575) Fix a problem with serial PPP that results in a failed LCP negotiation on the next (immediate) connection attempt following a PPP session disconnect. (44060) Fix a data abort exception in the Python digicli module that can occur due to an allocated buffer overflow for CLI output lines that exceed 256 characters. Although such long lines aren't likely, the crash could result from any CLI output with long lines. The fix limits the output strings to 2048 bytes at most, breaking them into segments if necessary, and it precludes the overflow condition. No CLI output is lost as a consequence of this change. Fix a problem in which configuration backup/restore with keys/password option selected, does not include some keys. In particular, the SSH and SSL private keys were absent but are now included in the backup RCI as encrypted values, only if the user requests them as such. This uses the same method as for passwords and other keys. (44048) Fix a problem in which the CLI "certmgmt" command quietly creates empty files when saving private keys (SSH, SSL). Per security requirements, disallow saving private keys via "certmgmt" and provide an explicit error message to the user. Detect empty certificates and invalid index (range) values and provide an appropriate error message for such cases. (44048) Fix the web server to reset form items for multipart/form-data. (41637) XBee fixes: - Fix lock up after "xbee factory_default" command. (43950) - Ignore unsupported settings when restoring from backup. (44040) - Fix over-the-air firmware updates of the XBee S2C radio. (40587) - Fix timeout errors on local commands that follow node discovery on DigiMesh sleeping networks. (40622, 40701) - Add a missing permissions check for the "xbee" command. - Fix a crash that occurs when passing a long hex string to getaddrinfo() or xbsGetAddr(). (41692) - Fix parsing of a 16-bit cluster ID. Only 8-bit worked correctly. - Ignore flag bits added for DigiMesh in DDO command status byte. - Allow extra time for DigiMesh node discovery. This fix is needed by 868 MHz firmware 1x61 and 2.4 GHz firmware 8x62. - Fix a bug that blocked all transmissions while waiting for a DDO command issued to an unresponsive node. - Update radio command processing limits for SE and S2C. (38712) - Add SP radio parameter for DigiMesh gateway radio to web UI, CLI, and RCI. (38766) - Fix a bug handling join notification status frame that created incorrect node list entries. - Return None instead of garbage from xbee.ddo_command() when the timeout parameter is 0. This means don't wait for the result. (39245) - Throw an exception from xbee.ddo_get_param() when the timeout parameter is 0 after rounding to milliseconds. (39338) - Reserve extra space in the transmit queue and use a different node address to prevent data messages from blocking the send of local commands to the radio. (39370) Fix a bug in which the help text for the "show ia" CLI command contains "garbage" characters. (41619) Fix a problem that occurs when using the UDP Serial Tunnel feature: the tunnel fails when the IP address changes at either end. This is particularly observed with a cellular network connection, with dynamic public IP addresses, but can occur in other cases as well. In the cellular case, the cellular connection may be dropped by the service provider if no activity has occurred for a provider-determined interval of time. Two two problems are identified and resolved in the UDP Serial feature, both related to failed name resolution of the remote side host when the device first boots or there is serial data to send. (39729) Fix a bug in which the user-configured UTC offset is applied twice, as reported to the iDigi Manager server. (39931) Fix this reported bug: Python TFTP Remote Start Fails with \r\n line endings. Uninitialized "garbage" at the end of the result buffer could cause odd error messages. A previous change for issue 26971 (in 2008) strips carriage returns from the received file. That change had a bug in which it did terminate the remaining text correctly, leaving garbage at the end of the result buffer. This commit corrects that bug. (40307) Fix a bug in which Python digicli.digicli.__doc__ returns a confusing response. (40421) Fix an SNMP issue that could cause an SNMP denial of service. (39737) Fix a bug in which the "set_factory_default" RCI request incorrectly states in its RCI descriptor text that a device reboot will be performed after the "factory" action has been completed. No reboot is performed. Fix a panic that could occur while accessing some System Information pages in the web UI. (38729) 82002549_C1 (2.14.0.7) - October 7, 2011 HIGHLIGHTED PRODUCT CHANGES: NEW iDIGI MANAGEMENT DEFAULTS Firmware defaults have been changed to enable connectivity to the iDigi(R) Device Cloud and automatic registration of the device to the iDigi(R) Support+ account. Services for registered devices include remote Digi Technical Support, with access to a wider range of remote capabilities through the creation of an iDigi Manager Pro account. iDigi Manager Pro is a web-based service that provides central and remote device management tools including: o Downloading of new software and updates o Editing of configurations and settings o Establishing user accounts with privileges o Selecting additional security measures For more information, visit www.idigi.com. To disable the iDigi default connection: 1. Open the web UI of the gateway using the method outlined in the Quick Start Guide. 2. Navigate to the "Configuration > iDigi" section 3. Uncheck the box labeled "Enable Device-Initiated iDigi Connection" 4. Press the "Apply" button 5. Re-boot the gateway ENHANCEMENTS: None. BUG FIXES: Fixed an issue where the time offset to UTC was being applied twice in getDateTimeAdjusted() calls through iDigi Fixed an issue that caused a Digi device to momentatily disconnect from iDigi when iDigi Manager Pro opens the device's Properties Page. 82002549_C (2.14.0.3) - June 22, 2011 ENHANCEMENTS: The iDigi feature has been improved to support binary data service and file system service between the device and iDigi Server. These services are supported through interfaces available to python applications in the device. See www.idigi.com for more information on iDigi. The clock (time) source management functionality has been improved to better detect failures to retrieve time sync samples from an NTP server as a time source. Failures or "lost" replies result in quick retries for both the initial sample after boot time as well as for subsequent samples. Additional configurability is supported via the "set timemgmt" CLI command and the iDigi platform. Event logging is improved for time-related events. Add event log and trace messages for the "Disconnect" iDigi protocol message, to help with troubleshooting the loss of iDigi connections. Add support for the 9XTend radio. A variety of applications are provided by which to access the serial interface to the radio, with those features being selected using serial port profiles. Add support for a user-configured Maximum Transmit Unit (MTU) size for the Ethernet interface. The MTU size can be configured using the "mtu" option of the "set network" CLI command, or in the web interface on the Advanced Network Settings page in the Network Configuration area. Improve the web user interface help information regarding username and password values. (38178) Improve the parsing of RCI documents to better handle embedded XML comment and declaration values. (37651) XBee changes: - Use POSIX file system API so OTA firmware update works on all file system types (including YAFFS). - Update configuration web page help for ZB. To CLI, web UI and RCI, add flash (web) filesystem reporting for total, used and free space in the filesystem. Add these to: - CLI: display device (info device) - Web UI: General System Information page, and help - RCI: DeviceStats class (new elements) (38557) BUG FIXES: Fix a problem that caused the Python built-in time.clock() call to return a value that "rolls over" after approximately 49.7 days of operation after a boot of the Digi device. This occurred due to an internal clock counter rollover. It could cause Python application program to assume that the clock (and time) had gone backwards, resulting in unpredictable behavior of the application. (37986) Fix a bug in which the localtime() API didn't correctly adjust time by the specified timezone offset. (36959) Ignore flag bits added for DigiMesh in DDO command status byte. Allow extra time for DigiMesh node discovery. This fix is needed by 868 MHz firmware 1x61 and 2.4 GHz firmware 8x62. Fix a bug that blocked all transmissions while waiting for a DDO command issued to an unresponsive node. Update radio command processing limits for SE and S2C. (38712) Add SP radio parameter for DigiMesh gateway radio to web UI, CLI, and RCI. (38766) Fix a bug handling join notification status frame that created incorrect node list entries. Fix a bug in which the "set_factory_default" RCI request incorrectly states in its RCI descriptor text that a device reboot will be performed after the "factory" action has been completed. No reboot is performed. 82002549_B (2.13.0.7) - March 21, 2011 HIGHLIGHTED PRODUCT CHANGES: Starting with the 2.13.0 firmware version, the changes described below are incorporated in this product. CLOCK (TIME) SOURCE MANAGEMENT SUPPORT The "Clock Source" functionality of the system has been replaced so as to simplify the behavior and improve the consistency of the time values delivered by the system, while still allowing the system to maintain a level of synchronization with external time sources. The updated feature includes a ranking system for clock sources. If a sample is taken from a better clock source than what has thus far been received (has a smaller number), the sample will be used to influence the baseline of our time measurements, and all sources of a less significant rank will be temporarily disabled. This allows the system to get a relatively accurate sense of time as quickly as possible, but eventually to run only listening to the best possible external sources. Internally, on products that have an RTC, the RTC itself is given a ranking of 50. This allows clock sources to be configured with a lower ranking... arranging so that they are only enabled when the RTC has not yet been initialized with a time value, essentially assigning them as one-shot programmers of the RTC. The rankings are re-evaluated when the clock sources are reconfigured, or when a user interface causes a "jump" in the time. Event logging of time-related events also is improved. The event log may be displayed using the "display logging" CLI or via the web UI. ENHANCEMENTS: Improve support for management of clock (time) sources. Refer to the HIGHLIGHTED PRODUCT CHANGES section for further information. When restoring a device to factory defaults, revert the certificates and keys only if the ALL settings are being reverted. (36710) Improve the network stack to address the issue described in US-CERT Vulnerability Note VU#498440: Multiple TCP/IP implementations may use statistically predictable initial sequence numbers. The note can be viewed at: http://www.kb.cert.org/vuls/id/498440. (36183) Improve the user interfaces for configuring static routes in the network stack. For a LAN interface, use the associated interface gateway IP if the static route rule is configured with a gateway address of 0.0.0.0. If the static route gateway IP is other than 0.0.0.0 for a LAN interface, use that configured value. This allows the user to select use of the LAN interface gateway or a configured value for LAN interface static routes. The web UI help is updated to describe this enhancement. Improve the error messages that are reported due to ping CLI failures, such as when there is no route to the destination IP address, to be more specific to the underlying problem. (36872) Add the TCP "timewait" option to the "set network" command. This option specifies the desired system-wide value in seconds for the TCP TIME_WAIT interval. The default value is 60 seconds, and the supported range is from 10 to 240 seconds inclusive. Also added to the RCI settings. Add a note to the "set network" help, and to the "set network" output if a TCP option is changed, to clarify that the change is not applied to existing TCP connections, nor to service listeners until the listeners are restarted or a reboot occurs. Add similar notes to "revert network" help and "revert network" output if the global settings are reverted. For the "display logging" CLI, add the ability to display the event log and continue to check for and display new log messages as they are written to the log. The help text for this command is updated to describe how to request and terminate the continuous log "tailing". Add iDigi Timed Connection support to web UI and web help. This connection type has long been exposed via CLI and RCI. Add iDigi connection status items for send and receive idle times. Expand the description of iDigi keep-alives in the web help information. Enable "file hashing" via RCI to help with file version verification. This extends the file system "ls" command in RCI to request that a hash value be returned for files in the listing. The supported hash methods are "none" (the default) and "crc32". Improve the error recovery algorithm for failed RCI requests received via iDigi. The updated algorithm reduces network activity by eliminating redundant error reports. Improve trace output for troubleshooting. (37637) The Python ONEXIT condition has been added to the Web UI. (37541) XBee changes: - Add join notification, BR and TC commands for SE 3x28 firmware. - Allow DDO commands to broadcast address from CLI. - Fix bug setting extended timeout option on DDO commands. For the IA feature, add support for fixed addresses when routing Modbus via XBee. (37200) BUG FIXES: Fix a problem in which Ethernet driver might lose synchronization between its interrupt handler and its packet receive processing thread. This could cause received packets to be held in the driver's receive buffer ring and not passed to the network stack in a timely manner. Under such a condition, network communication might appear to be broken for network protocols and applications. (35638) Fix a possible panic that occurs while configuring the primary network interface (Ethernet) and saving the changes to NVRAM. (35715) Fix a bug in which the file system component was incorrectly accounting for open directories in the system. Due to this bug, it was possible that the open would fail regardless of actual resource availability. (31645) Fix a bug that may result in a memory leak when a fully qualified domain name (FQDN) is configured for a SNTP Server as a time source in the Date and Time Settings. (37807) Address SSH public key authentication issues. (37339) - Fix a bug in which configuration settings support for SSH public key authentication was inconsistently implemented in the Digi firmware, depending on the product and user interface being used. - Ensure that user authentication is in accordance with RFC 4252. - Eliminate memory leak when configuring a public key via tftp. - Improve SSH trace output for troubleshooting purposes. Fix a bug in which changing the IP address from dynamic to static via the web UI redirects to a URL mix of old/new IP addresses. Also correct a failure to redirect if the service port for HTTP or HTTPS is other than the usual values 80 or 443, respectively. (33205) Fix a problem in which Classless Inter-Domain Routing (CIDR) fails to route correctly under certain narrow instances (such as routing between hosts with IP addresses 25.0.0.50 and 24.0.0.50, with a subnet mask of 248.0.0.0). (37043) Fix a Python socket read failure that could occur if a timeout is set on an SSL socket. Fix an inconsistency and bug in which the Python command string was not properly managed with its maximum length value of 127 characters. Throw an exception instead of returning None from the Python xbee.get_node_list() function when the node list is empty or an error occurs. (35111) The value returned by the Python time.time() function is no longer modified by the offset option of "set time". The function gettimeofday() was returning UTC biased by "offset". (34994) Fix a bug in a previous fix to gettimeofday() that causes incorrect display and behavior in "set time" and the Date and Time web page. (35957) Fix a bug that caused XBee early request timeout and retries resulting from a race condition. (37735) For mesh networking configuration, display the correct range for the SC setting in the web UI for XBee PRO and S2B radios. (35660) Display the correct range for the SC setting in the web UI for XBee PRO 802.15.4 radios. (35660) Fix a bug in uudecodeToFile() that causes RCI file transfers to fail when there is white space after the file data. (36147) Fix an IA modbus problem in which a buffer was being freed twice when a message send failed because the network connection was down. This could result in a panic reboot. (32914, 34800) Fix IA route issues in the RCI settings processing. (36812) - IA Route settings support a "scatter string" for the protocol address, but RCI allowed only minimum and maximum. - IA Route settings support Xbee MAC with end-point in the IP address field, but RCI allowed only an IP address. - Change the supported serial port minimum value in the RCI descriptor from 1 to 0, allowing zero to be set when route isn't serial. - Correct a typographical error: change "Pprotocol" to "Protocol" in the RCI descriptor. Fix a problem for the Industrial Automation (IA) feature in which the full settings were not properly restored from a backup file. (35891) Add missing ZigBee route type to the IA route settings RCI. (36233) Eliminate several potential memory leaks. (34946) 82002549_A (2.10.0.8) - October 21, 2010 Initial release.