CAIL / Windows Change Log

Feb 9, 2023 15.0b

-When recording a session, the + indicator on the left of the status line would disappear when the emulator switched to conversational mode

-If appending to an existing log file, and not writing anything to it and then stopping logging, the existing log file would be deleted

Oct 13, 2022 15.0

-Added support for alternate keys. This is primarily for notebooks which often don't have the usual special keys

-Added button to display alternate notebook key mappings in Help | Key Mapping... and Help | Extended Functions...

-Added a notebook example configuration file (AltKeysNotebook.ctt). It disables menu accelerator keys and uses them for keys missing on many modern notebooks

-The FTP client will now create the Guardian filename using the first five and last three characters of the local filename, if the filename has more then 8 characters

-Now write to program log (\logs\program.log) rather than bringing up for memory allocation/deallocation messages

-Changes for intermittent garbled screens when switching between OSS (vt100) and Conversational modes and number of window rows was less than number of screen rows

-Changing window size while in OSS (vt100) mode could cause garbled screens (e.g. maximizing screen)

-Increasing window size while in guardian mode did not reposition window to include cursor

-Maximizing window in 6530 mode did not position cursor at bottom window for fixed size fonts

-Corrections for autofont sizing in oss mode

-Mouse click to position cursor incorrect when window size less than screen size in block mode

-Changing to smaller window size while in OSS (vt100) mode vi program caused incorrect screens

-Fixed issue where printer output not always correct with certain printers

-Disable Insert Mode while in Conversational mode

-Tedit line 25 update caused cursor to be invisible at times

-Reassigned key codes and function codes to avoid conflicts with shortcuts and assign primary key/function codes to have lower values to appear on key mapping and extended function help screens

-Changed old reference to command.com to cmd.exe, since Windows 10 does not have command.com

-Updated default key mapping and PCT key mapping

-Previous tedit changes for cursor not visible caused cursor to be visible when it should have been invisible (e.g. after local scroll up/down cursor should be invisible)

-Added additional key mapping entries for legacy keystrokes (i.e. PgDn, PgUp, Ctrl PgDn, Ctrl PgUp needed to be mapped to modern Page Down, Page Up keystrokes)

-Inhibit SSH passphrase prompt if no encrypted key contained in private key file

-Added escape sequence to dynamically enable/disable OSS (vt100) mode capture ([8h - stops capture, [8l starts capture - i.e. OSS (vt100) mode capture uses current setting for OSS (vt100) mode capture settings)

-Can now have a blank password in SSH dialogs

-Fixed issue where the 64 bit version was not using printer options with screen captures

-If log files got bigger than 2GB they were deleted after logging stopped

-Starting hllapi session retained last n chars buffer from previous session - clear at start of each hllapi session

-Session Playback displayed incorrect keystrokes at pause for Shift-Alt-F1 thru Shift-Alt-F6

-Now include pasted data in recorded sessions

-Now include mouse clicks in recorded sessions. Event appears as a pseudo keystroke (<0><0x7c>) in the recorded session report (sprint.exe). During playback the pseudo mouse keystroke event will reposition the cursor

-Moved aes256-gcm and aes128-gcm to the front of the line for SSH sessions encryption choices. Therefore with default configuration gcm will be used if the host supports it. Note gcm is much more efficient then aes-ctr and stronger then aes-cbc

-Added support for ordering the list of encryption types in the SSH section of setup

-Find (Edit | Find) not finding matches at end of terminal memory. Searching backwards was also not working

-Fixed issue where the built-in FTP client was truncating file names in the OSS namespace. Will now only truncate if in Guardian namespace (i.e. under /G or /E)

03/29/21 14.5c

-Fixed help file being looked for under default working directory rather then program directory if CAIL / Windows launched by double clicking on a configuration file

-Fixed hanging on startup if the configuration file didn't end with a carriage return/line feed

-Increased acceptable font aspect ratio to allow for taller, narrower fonts

03/05/20 14.5b

-SSL/TLS sessions now based on OpenSSL 1.1.1g with support for TLS 1.3

-Changed labels in Setup from SSL to SSL/TLS

-Allow display of certificate and session info for SSL/TLS encrypted sessions

-Use last saved password for SSH session if password not stored in config file

-Selecting text while having a white background caused the selection not to show up. This has been fixed

-Large logon banner text caused a crash. Increased buffer size to fix

-Added support for pipes to the HLLAPI interface. This is due to concerns that DDE may be EOLed at some point

-Corrected start host notify HLLAPI function. Data only contained screen areas to monitor, should also have included a session ID

-HLLAPI file transfers via ftp failed. This has been fixed

-Updated PCRE to 8.44 due to false positives with the older version and some anti-virus software

-HLLAPI BASEABS not working. This has been fixed

-HLLAPI Copy Field to String did not back up to first location of field

-HLLAPI performance improvements via the pipe implementation using overlapped I/O and completion routines

-Screen Memory Capture and Logging to printer causes crash under windows 10. This has been fixed

03/05/20 14.4

-Fixed cursor moved to the right by one character at end of HLLAPI script that used field update function

-Fixed incorrect error message reported on DdeDisconnect (return code of true indicates no error)

-Now log return code value for HLLAPI requests in HLLAPI log file

-Add DDE uninitialize code to thread detach (needed by Java / JNA)

-Removed single page/polled operation (no longer used)

-Enhanced check for valid mode change sequences. Was going into block mode when receiving a mal-formed sequence

-Added HLLAPI file name and version to HLLAPI logging

-Now allow clear text operation with PCSST when using it to correct display of tandem utility programs when there are greater than 80 columns

01/31/20 14.3o

-Added error message for failed DDE transactions

-Clear DDE handle variable on session close

-Allow spaces in program path when launching or communicationg with pc applications

-Replaced deprecated WinExec with CreateProcess

-Updated script compiler to allow spaces in program path or program data variables

-Changed paste idle timeout from 300 msec to 50 msec

-Launching PCFILE or IXF via esc-V failed

-Allow PCFILE to be launched via esc-V with name PCFILE or PCFILE.exe (old legacy name tpcfilw.exe can also be used)

12/05/19 14.3n

-Made changes to better support fast paste. Note this is for Conversational and local modes only

-Fast paste operations not ending in carriage return left paste update text appearing on line 25

-Fixed issue where online playbacks could not be stopped

-Session recordings made while in-line command history was on didn't play back correctly. This has been fixed

-Added paste status messages for pasting in local mode

-Fixed HLLAPI read for small size resulted in heap corruption due to writes going beyond end of allocated buffer

-Fixed HLLAPI return code for copy presentation space to string returned length of string rather than error code

08/30/19 14.3m

-Reverted to old version of status line due to customer complaints on the new one. Note the status line is not configurable

-Paste while Line Mode was disabled caused session hang. This has been fixed

-SSH sessions sometimes not connecting. Solved with new SSH DLL version 3.1.2.235

08/29/19 14.3l

-Added check of print buffer size to prevent overflow

-Deprecated capture to end of memory since size of memory can be up to 400 pages (with most of these pages probably empty)

07/25/19 14.3k

-SSH password change failure reverts to keyboard interactive - set flag to prevent revert and disconnect instead

07/04/19 14.3j

-Page down not working if issued at top of scroll buffer (cursor address was beyond end of terminal memory)

06/11/19 14.3i

-Allow additional keystrokes while disconnected

-Fixed tab key not working in find dialog

-No record overwrite prompt. This has been fixed

05/24/19 14.3k

-Disconnecting while front end DLL edit dropdown active caused hang (e.g. entereing exit and hitting file menu)

-Added query open connection so front end DLL can determine whether to enable IXF and PCFile transfer menu items

-PCFile and IXF will now return immediately if a connection is not open

-Added clear of keyboard queue if a connection is not open

-Inhibit adding to keyboard queue if a connection is not open

-Cursor not visible in user dialogs on startup when window state was maximized (solution to inhibit caret creation and destruction if emulator window does not have focus)

-Front end DLL update for non-blinking cursor blinking during session startup with dialogs on display

04/29/19 14.3j

-Added password change dialogue for SSH expired passwords when set to Password authentication

-Changed front end DLL to use explorer windows to search for files (non-explorer windows did not discover terminal service client drives)

-Removed active codepage for SSH users ids passwords in favor of using utf8 character strings

04/16/19 14.3i

-Added active codepage for SSH user ids, passwords can be entered in foreign languages

04/07/19 14.3h

-Added extra parms for FTP (active codepage & char set)

03/12/19 14.3g

-Fixed logging crash when autowrap was off and received long lines with no cr/lf

-Changed font scaling algorithm - removed windows default width - limit fonts to aspect ration between .4 to .7 (i.e. width to height)

-Front end DLL correction - taksbar associated with wrong monitor

-Removed legacy single page processing

-When going in an out of tedit with larger conversational screen size - conversational mode screen size was eventually to small

-Corrections to front end DLL for full windows dragging disable (with 2 CAIL / Windows process running full windows dragging was inadvertently enabled)

-Backspace in 6530 mode with VT autowrap off caused backspacing to not continue in prior line

-Long command entries (>128) caused a GPF - allocated larger buffers and added checks to prevent commands from growing beyond maximum size (currently 256)

-Esc with selection in OSS mode reset screen position

-Select all in OSS mode went beyond last entered byte

-Truncate GetScreen method data to stop with last non-blank character

-Right click on command list caused next keystrokes entered to be captured as a separate command

-Add GetScreen method option to truncate end of line spaces

02/25/19 14.3f

-Multi-page selection not working in OSS mode

-GetScreen method working incorrectly in OSS mode

-Extended selection not working in OSS mode

02/13/19 14.3e

-In configuration dialog disable memory pages and row/columns if not in conversational mode

-Added 166 column display support

-Changing SSH logging required session restart to be effective

-Right click on command list entry will not longer add trailing cr if on-line editing disabled

-Corrected VT autowrap when backspacing through wrap locations

-Disabled drag full window operation - caused resizing to stop working randomly

-Corrected GPF in sensitive data check due to buffer too small

-Fixed no cursor after clear text or line drawing changed

-Fixed size of block mode screen when full screen and maximized slightly different after min/restore

02/01/19 14.3d

-Corrected bug in DisplayMap - at times caused 2 different strings to be highlighted during selection

-Command history capture missed 1st character of string if command entry began with cursor not visible

-Copy in OSS mode caused scroll to end of data

-Command history list changed size and font when main window was resized

-1st character of Guardian password was preappended to next entered command. This has been fixed

-Find in OSS mode missed matches at end of scroll buffer after wraparound occured

-Inhibit caret position if emulator window does not have focus

12/16/18 14.3c

-Added code to command history/editing to support foreign characters and double byte character sets

12/07/18 14.3b

-Cleaned up keystrokes associated with break handling

-Ctrl-pause/break and ctrl-scroll/lock will be mapped to same internal key code. Ctrl-pause/break and ctrl-scroll/lock generate a WM_CHAR message with virtual key code set to VK_CANCEL which will be used to generate a break signal. Previously the WM_KEYDOWN was used to trigger a break signal

-Ctrl-scroll lock was inadvertently performing copy function

-PCIDSS prompt now appears on correct monitor, for multi-monitor systems

-Command list now displays sensitive data in masked format

-Right click in command list windows move selected entry into edit window. This has been fixed

-Pasting into command window no longer causes jump horizontal scrolling

-Entering long line in command history edit window eventually did not have caret in visible area. This has been fixed

11/20/18 14.3a

-Bring up find dialog on monitor with CAIL / Windows window, for multi-monitor systems

-Bring up splash screen on monitor where the CAIL / Windows window will be created, for multi-monitor systems

11/05/18 14.3

-Added setting for VT clear on column size switch

-Added SSL fingerprint validation to FTP transfers

-Corrected bugs in VT column resizing

10/29/18 14.2g

-Scroll region scrolling broken - reverted code back to prior version

-For Citrix need to handle Ctrl-Pause combination (for normal windows this is mapped into VK_CANCEL)

10/12/18 14.2f

-Looping in line busy test prevented processing of mouse clicks in menu items. This has been fixed

09/26/18 14.2e

-Allow 16 VT colors to be compatible with CAIL / Plus

-Changed gray color shades to avoid invisible caret

08/18/18 14.2d

-Ctrl-c, Ctrl-v now context sensitive so they send control characters or perform copy/paste function

-Paste operation can now be delimited by either cr, lf or etx

-Corrected problems in Find when used while in OSS mode

07/20/18 14.2c

-On-line playback displayed password fields because of race condition - will now wait for line mode read so that echo is disabled during send of passwords

-Allow screen print/capture from OSS scroll area

-On-line playback at session start had race condition. Moved autostart processing to WM_CONNECT processing

-Courier New font for small sizes sometimes overwrites rightmost portion of previous character (e.g. om)

-On-line playback not working in OSS mode

-Paste not ending in cr added cr

-Cleaned up pasting code

07/11/18 14.2b

-Added new VT functionality - background and foreground colors - number of columns - clear on OSS mode switch

-Pasting large lines was very slow - improved pasting algorithms for Guardian and OSS

-Algorithm to obscure password entry in dialogues did not work for non-US keyboards (like Slovenian). This has been fixed

-Change catchup mode to perform updates after 1024 lines rather than 48

05/02/18 14.2a

-Now allow VT operation with large screens

04/13/18 14.2

-added find funcitonality

-Improved OSS mode funcitonality - can select info in scroll memory

03/28/18 14.1b

-Fixed GPF after program resets under certain circumstances

01/13/18 14.1a

-Performance degradation caused by search for last non-blank location - inhibit this search when lots of comm line data awaiting processing

01/01/18 14.1

-Performance improvement for conversational mode scrolling

-Replaced password dialog controls with subclass proc so that clear passwords are never passed to MS dialog controls (this seems to allow deallocated memory to still have passwords in clear)

09/25/17 14.0f

-Place random data where sensitive memory data was released. This is to prevent clear text password staying in memory

09/25/17 14.0e

-Allow Esc F to position cursor to last line of physical memory (previously cursor position was limited to last non-blank line of physical memory)

09/25/17 14.0d

-More corrections for screen sizing - bad sizing on Windows 10

08/28/17 14.0c

-Allow maximum size screen to have variable aspect ratio (which occupies greater screen area)

07/08/17 14.0b

-Added check for access code needed based on flag in license file (used to check license compliance)

05/18/17 14.0a

-Latest wodssh returned longer SSH info resulting in incorrect displays of SSH session info and host check info. This has been fixed

-Border widths on Windows 10 not reported correctly switched to use of AdjustWindowRectEx

-GPF in 64 bit front end DLL - needed to pass 8 byte pointers

02/17/17 14.0

-Enhanced support for horizontal and vertical scrolling

-Rewrote sizing code in engine and front end DLL to improve display of characters

11/29/16 12.4g

-Pause key resulted in App not responding message if followed by mouse movements and clicks - app was waiting for keystrokes only and queueing other messages

-Added pause message on line 25 when paused

-Implemented shift mouse click to extend selection (or select from cursor to mouse click)

-Implemented Alt mouse move for rectangular selection

-Changing font with autosize on will now create smaller window (versus entire screen)

-Allow use of Escape key to clear selection (even when Esc is disallowed by PCI settings)

-Corrected window sizing bugs

11/23/16 12.4f

-Corrected color dialog in front end DLL - not always changing colors correctly

-Corrected window sizing during column or 6530/VT switch

-Corrected screen display for OSS mode when window size was less than screen size

-Added support for checking host SSL fingerprint (fingerprint is hash of entire certificate not just public key)

10/20/16 12.4d

-Line 25 garbled at times when displayable portion of screen was less than full screen size

10/20/16 12.4c

-Added optional dynamic paste function - if paste data exceeds paste threshhold (default 256 bytes) then line mode disabled for duration of paste operation

-Paste failed if type ahead was disabled - now auto disable type ahead for duration of paste operation

10/10/16 12.4b

-Added SSL server fingerprint check to SSL server authentication methods

08/10/16 12.4a

-Added check of mouse button state during mouse move events so selection won't include mouse move events when mouse button is already up

07/14/16 12.4

-Added custom dialog to select client certificates, and added config item SSLClientIssuerName to support this

-Allow conversational mode mouse cursor positioning to extend beyond last line

07/02/16 12.3t

-Change message for SSH host fingerprint mismatch during connect to let the user know they should contact their admin

-Added word selection for mouse double click - changed hotspot to use control double click

-Changed front end DLL so that overwriting a CAIL/Windows config file in a File | Save As operation deletes the old config file

06/26/16 12.3s

=FTP password saving not working for clear text sessions. This has been fixed

06/23/16 12.3r

-Corrected front end DLL problem with not reenabling parent windows after displaying the a message box

-Increased size of FTP password size to 30 characters (encrypted size of 40 bytes)

06/02/16 12.3q

-Fixed session dropping during dailog display did not return focus to dialog window after dismissing disconnect message

-Inhibit display of SSL certificate if no server authentication being performed

05/13/16 12.3p

-Added support FTP transfers using SSL client certificates

-Corrected problem with SSL client certificates when more than one certificate with same subject - now include serial number check

04/24/16 12.3o

-Added support for OSS auto switch using large line mode read (8192) as an indication to switch to OSS VT emulation

-Probably removes need to enter OSS mode via oshcail

-Esc key was not working in OSS mode

-Added use of WSAAsyncSelect to process receive completions immediately rather than waiting for poll interval

-Added ability to support foreign characters in personal certificates

04/21/16 12.3n

-Added capability to fetch SSL user certificate from Microsoft store using syntax My:user name

04/14/16 12.3m

-Added SSL and SSH session information to help display

03/24/16 12.3l

-Startup logging did not expand %H Escape properly since it needed a connection before it could be expanded - will just use configured TCP/IP address instead

03/21/16 12.3k

-Fixed switches for startup logging and startup recording

02/19/16 12.3j

-Added support for WinHLLAPI functions 103 and 104, query window coordinates and window status

-Title bar and Menu bar for inactive window was erratic. Title bar color did not changed and entries in Menu bar all or some disappeared - required change in front end DLL

02/16/16 12.3i

-Fixed Screen/Memory Capture to a file failing - caused by incorrectly fetching size of file using _tell instead of ftell

02/12/16 12.3h

-Modified message box handling - added MB_TASKMODAL so message box should never appear below emulator window. Also, if emulator windows is minimized message box will have a null owner and emulator icon will be hidden until message box is dismissed

02/11/16 12.3g

-Fixed bug in off-line and on-line playback - got file open error message under certain circumstances

02/09/16 12.3f

-Fixed bug in logging - returning error 17 - progamming issue - set of code accidentally repeated

02/05/16 12.3e

-Masked credit card field located at row1, col2 input field could not be edited (caused GPF). This has been fixed

01/11/16 12.3d

-Added support for block mode mouse wheel mapping. Maps mouse wheel movement into pageup/pagedown in block mode

-Added timeout period for wheel to throttle number of pageup/pagedown simulated keystrokes - default is 300 msec - use switch /bmt:nnn to change timeout

11/11/15 12.3c

-Made changes to make sure all outstanding operations (i.e. logging recording, etc) are closed when session is terminated

11/11/15 12.3b

-Added support for dynamic file names for file receive (logging) - tokens starting with % are replaced

10/30/15 12.3a

-Fixed esc-f returned same response twice

10/19/15 12.3

-Added implementation for esc-g (VTLAUNCH)