Release Notes PN 93000724_D Digi Connect ES SB 4/8 82001972_D EOS Version 2.15.0.12 April 15, 2016 INTRODUCTION This is a production release of firmware for the Digi Connect ES SB 4 and Digi Connect ES SB 8. Connect ES SB is an improved version of the Connect ES product that adds performance and reliably improvements plus an Ethernet Uplink option that provides routing and NAT capabilities for Ethernet devices. Connect ES SB has a real time clock and a new logging facility, plus new network features such as DNS proxy, DHCP server, and packet forwarding. The optional uplink provides a separate Ethernet interface for connecting this device to the network infrastructure, while providing 4 Ethernet ports for local Ethernet devices. NAT and packet forwarding allow the local devices to have a presence on the network while simplifying administration of the local devices. SUPPORTED PRODUCTS Digi Connect ES 4 SB, ES 8 SB, ES 4 SB SW, ES 8 SB SW. HIGHLIGHTED PRODUCT CHANGES Starting with the 2.15.0 firmware version, the changes described in this section 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 NDS-204: Added a configurable escape character to sessions created by the CLI "connect" command: set user id=(1 - 32) connectescape=(off|char|^char) NDS-219: Added a setting to enable special character processing in the CLI. When enabled, both the ASCII backspace (BS) and delete (DEL) characters will act to delete the character to the left of the cursor: set commandline deleteisbackspace=on NDS-232: Extended existing set time command to include a configurable timezone name string (timezone) as well as configurable daylight saving time rules (dst_offset & dst_rule): Sets system time/date. syntax: set time [options...] options: time=hh:mm:ss -or- hh:mm date=mm.dd.yy yy ranges from 00 to 36 for 2000 through 2036 timezone=(timezone name) offset=hh:mm -or- hh dst_offset=hh:mm -or- hh hh ranges from -12 to 14, mm must be 00, 15, 30, or 45 dst_rule=date[/time],date[/time] time takes the form: `hh[:mm[:ss]]' and defaults to 02:00 date takes the form: m.n.d (0[Sunday]<=d<=6[Saturday], 1<=n<=5, 1<=m<=12) for the dth day of week n of month m of the year, where week 1 is the first week in which day d appears, and `5' stands for the last week in which day d appears (which may be either the 4th or 5th week) NDS-235: Added a configurable CLI login message, read from a file uploaded to the device's filesystem: set user id=(1 - 32) messagefile=(none|filename) BUG FIXES NDS-123: Address network security vulnerability (CVE-2014-3566, a.k.a. "POODLE") NDS-145: Added the "connected from" IP address for a connected RealPort client to the information in the connection list. NDS-164: Fix "ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION" error detected using the latest versions of Chrome (45) connecting to the device via HTTPS. NDS-200: Changed device setting descriptors so that Device Cloud will not cache user passwords, preventing accidental exposure. NDS-203: Replacing obsolete server addresses for Device Cloud client connections and for the network time protocol in the device setting defaults. The new, supported addresses are in the "devicecloud.com" domain. NOTE: A firmware upgrade does not change the current server addresses; a revert or reset to factory default settings will install the updated server names. NDS-214, NDS-222: Improved the security of the device's SSH server ports by removing weak connection protocols and adding support for RSA keys. Removed: - DSS key support - Diffie-Hellman Group 1 SHA1 cipher support - HMAC-MD5 support NDS-220: Fixed loss of "altpin", if enabled, when closing and re-opening a serial port via RealPort. NDS-223: Removed obsolete references to an installation CD. KNOWN ISSUES For the most consistent experience with the user interface, it is suggested that you clear your Internet cache. Microsoft Internet Explorer 6 Service Pack 1 (SP1) has a known problem where it displays the error message "Internet Explorer Cannot Open" when you use an HTTPS URL to access this Digi product. The following Microsoft article explains the problem: http://support.microsoft.com/default.aspx?kbid=812935 IP ADDRESS ASSIGNMENT NOTES The Digi Connect SS supports three IPv4 assignment methods: * Static IP address * DHCP * Auto-IP If a static address is enabled, it will be used. If a static address is not enabled, and DHCP is enabled, the unit will use an address supplied by a DHCP server regardless of the state of Auto-IP configuration. If a static address is not enabled, and Auto-IP is enabled, it will be used to generate an address ONLY if DHCP is disabled, or if DHCP is enabled and a DHCP server has not responded to the DHCP query. If both are enabled, Auto-IP has assigned an address, and then a DHCP server responds, the Auto-IP address will be discarded and the DHCP address will be used. RESETTING THE UNIT One feature of the Digi Connect ES firmware is an ability for a user to both soft reset the unit as well as reset the unit to its factory defaults. Both functions may be invoked via the "reset" hole between the power switch and the ethernet ports * If the unit is running, holding the button for a second and then releasing it will soft reset the unit. * If the button is pressed for more than 10 seconds from the power on of the unit, it will prepare to reset the unit to its factory default state. Once the unit is prepared to reset, it will blink "1-5-1" on the red LED. Releasing the button will then reset the configuration. ENABLING THE WEB USER INTERFACE The embedded web user interface is ALWAYS available at the following URL: http://ip-address-of-device/home.htm It is also available as the default configuration interface at the following URL: http://ip-address-of-device ADDITIONAL INFORMATION The configuration save and restore tools will save every configurable parameter (including IP configuration) except for some related to password authentication. On initial boot of this device, it will generate some encryption key material: an RSA key for SSL/TLS operations, and a DSA key for SSH operations. This process can take as long as 40 minutes to complete. Until the corresponding key is generated, the device will be unable to initiate or accept that type of encrypted connection. It will also report itself as 100% busy but, since key generation takes place at a low priority, the device will still function normally. On subsequent reboots, the device will use its existing keys and will not need to generate another unless a reset to factory defaults is done, which will cause a new key to be generated on the next reboot. PYTHON The Connect ES SB makes available the Python programming language (http://www.python.org). To use Python on this product, you may need to download our Python standard library files from: http://ftp1.digi.com/support/sampleapplications/40002643_B.zip This file should be renamed 'python.zip' and placed on the product using the 'Applications -> Python' page in the products WebUI. Our implementation of Python, its limitations and capabilities are documented on the Digi Developer wiki at http://www.digi.com/wiki/developer/index.php/Python_Wiki. HISTORY 82001972_C (2.15.0.3) - July 9, 2012 ENHANCEMENTS: Address a specific customer issue with NAT for large UDP datagrams that are fragmented and sent in reverse order by a device. Add support for a user-configurable option to relax the NAT trigger matching algorithm to permit transmation and forwarding of IP fragments under out-of-order conditions. This condition is atypical and it is more likely to affect UDP or ICMP than TCP. (41935, 1330099) 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. 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. 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 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. 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 Improve support for management of clock (time) sources. Refer to the HIGHLIGHTED PRODUCT CHANGES section for further information. 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. 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 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". 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. 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) 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) 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". iDigi changes: - 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. - 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) - 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. - Add event log and trace messages for the "Disconnect" iDigi protocol message, to help with troubleshooting the loss of iDigi connections. - 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. - 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) - 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 event logging and trace for two internal APIs that can disconnect the iDigi connection, via SMS and Python. Helpful for troubleshooting. 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) 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". The Python ONEXIT condition has been added to the Web UI. (37541) Reduce memory use by various firmware features. Eliminate unneeded code and data to reduce runtime memory use. BUG FIXES: 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 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) 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 possible memory leak in the Host List feature. (32850) 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 bug in which the localtime() API didn't correctly adjust time by the specified timezone offset. (36959) 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 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 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 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 problem in which the Connect ES SB is not handling iDigi keepalives correctly. This issue was a previously accepted limitation for the eth0 (Ethernet switch) interface for the Connect ES SB when the product was introduced. The original support has been improved such that both of the Ethernet interfaces (eth0 and eth1) are handled equally, no longer assuming that eth1 is the iDigi interface. (43793) 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 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. 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 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) Fix a bug in which the help text for the "show ia" CLI command contains "garbage" characters. (41619) Eliminate several potential memory leaks. (34946) 82001972_B2 (2.12.4) - June 1, 2011 ENHANCEMENTS: None. BUG FIXES: Added RUNTIME_ENABLED check for changing the IP address of the 2nd Ethernet interface for devices with only 1 Ethernet interface. Without this change, the manufacturing tests would fail. 82001972_B1 (2.12.4) - March 17, 2011 ENHANCEMENTS: None. BUG FIXES: Fix a bug that caused the Ethernet Post test to erroneously report an error. (38078) 82001972_B (2.12.4) - February 10, 2011 ENHANCEMENTS: As a security enhancement, SNMP has been turned off by default. Improve the user interfaces for configuring static routes in the network stack. For a WAN interface, always use the interface gateway IP address. 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 properly and implicitly accommodates WAN interface static routes and 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 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) Expand the description of iDigi keep-alives in the web help information. Add iDigi connection status items for send and receive idle times. Add Ethernet MDIX configuration capability. Update the SSL/TLS implementation with enhancements and bug fixes. Add a new info command to the CLI, "info time". This command displays SNTP Client statistics when SNTP is configured as a time source. Enable TCP keep-alives by default for these services: ssh, telnet. This provides default cleanup of orphaned sessions. Clarify description: the serial statistics page displays the current port settings. (32689) The Connectware Manager (also referred to as Remote Management) has been rebranded in the Digi device firmware as "iDigi". This corresponds with the service being offered by Digi dor this purpose. A number of enhancements are added for the iDigi client in the Digi device firmware: - iDigi activity is recorded in the Event Log. - An iDigi client entry appears in the "Connections" list when: - The client is connected to the iDigi server. - The client is trying to connect to the iDigi server. - The client is waiting (listening) for the iDigi server to connect to it. - The client is waiting for a configured interval before initiating a (new) connection to the iDigi server. The connections list may be displayed in the CLI ("who") and in the web UI (Management > Connections). - When the iDigi client is waiting to (re)connect to the server, the connection table entry may be "killed" in which case the wait is canceled and the connection attempt proceeds immediately. - When the iDigi client is connecting to the server, the connection table entry may be "killed" in which case the connection attempt is abandoned. The "connecting" state is typically very brief. If for some reason the Digi device gets "stuck" in the "connecting" state, the kill request will terminate the condition. This is not an expected condition. - Add the CLI command "display idigi" report iDigi connection status of the Digi device. - Add the iDigi status web page under Administration > System Information to report iDigi connection status of the Digi device. - Show the iDigi Device Type for the Digi device on the iDigi Configuration page in the web UI. This is the device type by which the Digi device is known to the iDigi server. That value also is displayed via the CLI command "show mgmtglobal" and in the RCI output as (in addition to the existing field). - Send the actual Digi device type to the iDigi server rather than a possibly user-customized product name in config.ini. Customized names are problematic for the iDigi server for device recognition and management. (1291266) - Eliminate unsupported interfaces from the network settings RCI and related CLI (set mgmtnetwork). The web UI was already correct. (34520) - Increase the maximum permitted request and reply document sizes for the iDigi protocol RCI facility. The new size accommodates encoded files of just over 2MB. - Expose the (previously hidden) devicesecurity CLI option from these commands: set, show, revert. This was previously available but hidden to prevent misuse of some of that command's capabilities. The options that could cause problems if misconfigured have been removed, so it is no longer necessary nor appropriate to hide the devicesecurity option. (34535) For the iDigi client configuration's connection server list, reduce the number of server entries to 4 from 8. The list of 8 is simply truncated to 4 for this change. An attempt to restore "deprecated" entries results in warnings, not errors, generated by the settings manager. Note that Digi devices are typically configured to use only one of the server list entries, so this change won't affect deployed products. This reduces runtime memory usage, NVRAM use for configuration setting storage and the RCI text generated for backups. (34309) Add DHCP lease information to the output of the CLI command "show network" when the IP configuration for the Digi device is received from a DHCP server. The information shown includes the IP address of the DHCP server, the lease duration, the renew and rebind times, and the time remaining in the current lease. Remove unneeded and deprecated data and code to reduce memory use. Improve iDigi (Connectware) client's connection backoff/retry logic in the case of failure to connect to the iDigi server. If SNTP Server use is configured as a time source in the Date and Time Settings, with a domain name specified for the time server, the time query could fail if the Access Control List (ACL) feature is enabled. The SNTP client has been modified to temporary configure an ACL entry to permit the time server access, then remove the temporary ACL entry on either success or failure of the time server query. This avoids the need to explicitly configure the time server's IP address in the ACL. A possible stale name resolution condition also was eliminated. Add SNTP Client as a time source for time source management. This new feature adds SNTP client as a source for time management. It allows the device to synchronize its clock with NTP/SNTP servers. Configuration for this feature is available through RCI, the web UI and the command line "set clocksource" command. Add an "offset" from UTC to time source management. This new feature adds the ability to modify Coordinated Universal Time (UTC) by increments that correspond with time zones. Configuration for this feature is available through RCI, the web UI and the command line "set time" command. Add SSL connection support and simple password authentication for device connections to the iDigi Server (Connectware Manager Server). Add support for RealPort authentication. Add numerous commands to "display techsupport" for improved reporting. (31539, 31689) Reduce the amount of alarm data sent at the start of a connection to an iDigi Server (Connectware Manager Server) by sending only the active alarms. This improvement is coupled with a server change to not request the current state of all alarms. Allow fully qualified domain names (FQDN) instead of only IP address for a number of features. These features are: AutoConnect, UDP Serial, SNMP trap destinations, and the alarms e-mail server. For UDP Serial, a lookup of the FQDN (typically in the DNS resolver's cache) is done for each packet sent, with a full name resolution occurring only when the cached entry's time-to-live expires (or the cache is flushed). This supports dynamic destination IP addresses. (19517, 30637) Add options to CLI, web UI and RCI to save encrypted passwords and keys in the configuration backup file. Configuration restore accepts either encrypted or plain text passwords and keys. (15108) Change the signature method on the self-generated, self-signed certificate from MD5 to SHA1. Although MD5 is not generally unsafe, SHA1 is deemed to be the most secure. All browsers or SSL clients recognize SHA1 instead of MD5. Update the web UI for IP Forwarding Settings to show the maximum number of entries for Static routes and "Forward TCP/UDP/FTP connections...". (31866) Add support to send login success and failure traps via SNMP when a user logs into the device using HTTP or HTTPS. Enabled python support for the Connect ES. BUG FIXES: Fixed a problem where configuration files could not be uploaded to the Connect ES using Connect Programmer (36188) Fixed an issue where SSH keys were being removed by the "revert all" command and were not being regenerated (36710) Fixed an issue where a ping issued from either the CLI or Web UI was displaying a generic error message when pinging an address that has no route to it. (36872) Fixed an issue where changing the IP address from dynamic to static via the webui redirects to a URL mix of the old and new IP.(33205) Fixed an issue where the Web UI was vulnerable to a cross-scripting attack. (36770) Fixed several SSH issues (37339): Insured that all devices are able to clear a public key. This was not consistent over all devices. Insured that SSH worked correctly over all user models. Improve SSH public key identification (RSA) and validation. Fix "off by one" issue in web UI for maximum key material size. Fix a memory leak in the "set user public_key=(server):(file)" handling. Improve error and trace messages when downloading SSH public keys via CLI (tftp) or configuring them in the web UI Fix an issue where ssh and suppress login feature are not working correctly together (37483). Fix a long-standing settings class RCI bug that affects settings restore, custom defaults and iDigi configuration of the failover feature. The TCP test destination port was not being correctly set, which left in place the previous value that was defaulted or set via CLI or web UI. (36372) 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 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 possible panic that occurs while configuring the primary network interface (Ethernet) and saving the changes to NVRAM. (35715) Fix a bug in uudecodeToFile() that causes RCI file transfers to fail when there is white space after the file data. (36147) Fix a bug in which the Digi device might panic (reboot) when using the CLI command "certmgmt" to generate a key for SSH. (33249) Fix a bug in which the cold start trap is sent everytime the user enables "Generate cold start traps" in the web page or the CLI. (33655) Fix a pmodem feature problem for which, under some conditions, an ATDT command (that normally works correctly) stops working. (34433) Modify SSH to prevent an initial false SNMP login failure trap when the SSH client connects with the "none" authentication method. (1278304). Fix issues in the SSH service implementation: - Eliminate possible memory leaks when loading DSA/RSA keys. - Fix a failure to disconnect and report the reason to the client when the maximum number of authentication failures is reached. Fix a bug in the DHCP client that accumulates small network buffers on the DHCP client's internal information structure. This occurred for options received from a DHCP server that are unrecognized by the DHCP client. These buffers are now freed to avoid gradual memory depletion. Fix an issue where the Send Character Immediate IOCTL was not getting a response, causing a RealPort hang. (32061) Eliminate some unneeded information from the configuration backup file. (32511, 32512) Check if enough free memory is available to handle a firmware update from the iDigi Server (Connectware Manager) and return an appropriate error response if not. (31321) Fix a bug that limited length of the primary SNMP destination field in the SNMP Settings web UI. (31895) Improve a condition under which client-initiated connections to the iDigi Server (Connectware Manager Server)) won't start unless the "Reconnect after..." box is checked. (31885) Eliminate several memory leaks. Fix a bug in which login success and failure traps were not being sent via SNMP when a user logs into the device using SSH. (32161) 82001972_A1 - Jun 10, 2009 ENHANCEMENTS - Improved manufacturability. 82001972_A Initial release.