Improved Support for Concurrent User Licenses, New Diagnostics Dashboard and Additional Fixes and Enhancements
Inventu Viewer+ Base Product and Components
(Version: 6.0.69 June 22, 2022)
FlyServer Emulation Service
- Clustered sessions and user statistics / allocations further enhanced to enable better management of clustered servers.
- For subscription renewals, the Inventu Viewer Emulation Service will detect a refreshed license avoiding the need for a service restart/downtime. This will occur within an hour of using the FVLicense tool to refresh the subscription, or with a Console port command provided to customers in instructions for renewing a subscription.
- A new timeout for SSH Logon implemented which defaults to 1 minute for each phase (userID then password) so that an idle session that was never connected will timeout faster to keep sessions available. Set in the Host Configuration in Tuning: SSH Timeout for UserID and Password Entry.
- List Console port command now includes Most sessions/users and uptime statistics in the returned XML
- SSH Handler code hardened to prevent exceptions during multi-threaded impacts of stopping an active SSH session.
- 3270 IND$File transfer receives were mis-handling the Telnet 0xFF escape character if in the received file data leading to incorrect data buffers and invalid file contents. Examples would be an XLS excel file received in binary mode.
- ASCII screen scrolling was further enhanced to support rapid buffer receives from the host when the new “Scroll Cleared Screen Lines” Profile setting is active. Without the enhancement, additional screens buffered during rapid user “page downs” would not be sent to the client successfully.
- Logging of buffers containing telnet 0xFF escapes that are part of unknown handshake sequences are now logged in the data folder even if tracing is not active.
- During a service stop/restart, a new Event Log entry has been added so that the Diagnostics Dashboard events analyzer can differentiate from a controlled service stop and a crash or other termination. This also will log the maximum session/user activity during the execution of the service.
- A number of Event Log entries were elevated to Error from Warning to ensure better use during diagnostics
- SSH disconnect could cause rare thread race on the socket thread.
- For ASCII protocols VTxxx, SCO-ANSI, XTerm added support for UTF-8 line/box-drawing characters. Not a full UTF-8 Unicode support—only the simple line-drawing characters also supported by the VT100+ emulations.
- For clustered servers new internal detection of issues with free and active sessions and users (for user-based licenses). Internal repair functions implemented to re-build free and active linked-lists.
- For clustered servers additional multi-threading protection implemented to address rare cases when a heavily loaded server resulted in damaged free and active session lists.
- New session logging added to assist in diagnosing session issues with heavily loaded clustered servers, as well as standard servers.
- For clustered servers with user-based licensing, if a server in the cluster was down or on hold, another server in the cluster that was allocating new sessions on behalf of the down server would mis-count each session as a new user session so that new users would not be able to connect.
- User based licensing was not clearing stopped sessions from a user’s internal list in certain situations, resulting in reduced maximum sessions per user.
Diagnostics Dashboard (NEW!)
- Access from the TaskBar Notification Icon context menu
- New Administration tool for identifying active issues with the current Viewer emulation service and FVTerm.
- New high-level Event Log analysis and display tool
- Can save active diagnostic files and event log to a zip file for sending to Inventu Support
- Can save and import active configuration components for backing-up or copying to another server to replicate a configuration—also for sending to Inventu Support if requested.
FVTerm Web Terminal Emulation
- ASCII connections can now have all screens scrolled along with TTY style scrolling. This provides a large scrolling area in the terminal screen matching functionality of desktop emulators like Putty. This is configured in the Advanced section of the Profile following the Scroll History Maximum Lines setting using the “Scroll Cleared Screen Lines” checkbox.
- Added new setting to control scrolling for ASCII terminals—enables users to control whether a screen clear is scrolled or not—scrolling must be active in the Profile setting.
- Updated the FVHealth.aspx and BalanceInfo.aspx load balancing components to use the HostConnection.availableLicenses instead of HostConnection.availableSessions so that load balancing in a user-based licensing will accommodate at-capacity situations better.
- When a DeviceID or LUName is configured, the user can now include a Telnet/TLS port to connect to with the syntax LUName:port (example: AB22ZAZ:20992). This is for environments where users are given both an LUName as well as a host port for connection details. The message has been tweaked (in all languages) to reflect the optional port entry.
- AzureAD HTTP cookies can expire resulting in a blank userid in a connection—this is now detected so that a new AzureAD context can be acquired during connection. Usually this will not require the user to re-enter credentials.
- Added new exception handler for the TermStart web service to protect against hacking / stack test attacks.
- Implemented a number of fixes identified by penetration testing to further harden the FVTerm web application.
- A regression was fixed with 5250 screens where an uncommonly used color for the background of a character cell would cause escape sequences appearing in the HTML instead of the color change.
- Initialization of the websocket handler sometimes raced with the flyserver.exe service leading to incorrectly allocated structures.
- New Web Server Security setting – Strict User Checking which defaults false and when checked/true, will validate active user identity with any reconnection to a session. In version 6.0.60 this was always on which can lead to “false negatives” in some browser and cookie management environments.
- Websockets additional internal diagnostics and error recovery
- Added exception handling for an IIS cookie decryption error caused by a cookie created on one server in a cluster then accessed in the other server when the first server has no more sessions.
Viewer MMC Console
- New User-based Licensing support—can now right-click on a Server (User View) or a Cluster (All Users List View) and view active users. The view is grouped by user with each user’s active sessions displayed under the user’s ID. For the Cluster, all users across the servers in the cluster are shown in alphabetic order. Sessions for a user can be viewed like any other session.
ViewerLib API
- Added a new property to the HostScreen class object: scrollClearedLines to help assist in the server-side management of this new VT/ASCII terminal profile option. The first implementation performed scrolling of cleared screens at the client, which then lost rapid screen sends by the host. When scrollClearedLines is set true for an active HostScreen object, scrolling is managed in the service as well as the client.
- Added new HostConnection readonly property- availableLicenses which is to provide better management of clustered servers with concurrent user This is used by the FVHealth.aspx load balancer inquiry instead of availableSessions which leads to inaccurate counts to be used when a server hits capacity in user-based licensing. The new availableLicenses will return the session count for standard session-based licenses and return the user count for user-based licenses.
- Cleared internal structure used in a number of commands that had rare negative impacts on results in the FlyServer service
Viewer Administration Console
- Added “Most Sessions/Users” and “Uptime” statistics to the upper-right information area. Most sessions will provide the most sessions (or Users for user-based licensing) that were active at any one time during the current execution of the service
Viewer Taskbar Notification Tray Icon
- Installer was incorrectly setting-up auto-start for this icon—it will now correctly auto-start when the server is restarted.
- Re-aligned some of the menu items for the context/right-click menu
- Added new Diagnostics Dashboard which is described in its own category
Profiles Mode Configuration
- Profile: For ASCII terminal types a new Advanced setting enabling all screen data to be scrolled during a session. This is configured in the Advanced section of the Profile following the “Scroll History Maximum Lines” setting using the “Scroll Cleared Screen Lines” checkbox. Note that this is only visible if the Scroll History Maximum Lines setting is non-Zero.
- Host Setting: when it is an ASCII type and SSH is selected, “SSH Timeout for UserID and Password Entry” is new. This defaults to 60 seconds and applies to each step. If a user leaves a screen and doesn’t enter either the UserID or Password within the set time, the session is closed and available for another user.