Added

"Added" means that this topic was added to the documentation on <date>. It came from the A-Shell Development Notes more or less intact, and was added as its own topic. Because the material is newly written, it is the same as a "Reviewed" topic in that the material is known to be accurate, complete and relevant as of the date it was added.

 

Updates

 

ATE Transport SSH

ATE enhancement: a new transport option, SSH, is now offered. SSH is similar to TUNNEL except: a) it doesn't require the telnet daemon on the server, nor its port, typically 23, to be open; b) it uses ASHNET.DLL (1.2.108+) instead of ATETUNNEL.EXE / WODTUNNEL.DLL; c) the connection will appear to the host as originating from your PC or local router, rather than from localhost; d) there is only one login operation, and you won't ever see the server prompts for it. (If there is a problem with the login, a local Windows dialog will display, allowing you to correct your name/password).

In most cases, the new SSH option will be preferable to the TUNNEL option, but the differences may not be that important to many users. (And there may be a shake-out period during which some SSH glitches may have to be resolved.)

ATECFX.SBX has been updated to 4.1(132) to support the new SSH transport option. Note that when the SSH transport is selected, the Telnet Port, Local Tunnel Port, Verbose Tunnel Interface, and "Wait for Login Prompt" fields are disabled, as they don't apply.

SSH Login Failure Options

ATE enhancement: When using the SSH transport, if the login fails because of a problem with the name or password, a dialog will display, allowing you to adjust them and retry or cancel. If you make adjustments and succeed to connect, then your updated name and password will be saved in your profile, UNLESS those fields were blank in the profile initially.

The theory here is as follows: in more secure environments, including those where the password is forced to be changed frequently, the name might be stored in the profile, but the password left blank, forcing it to be entered interactively on each connection. Or, if multiple users share a PC and/or connection profile, you might leave them both blank to force both to be entered each time. In either of these cases, the fields which are initially blank in the profile will be left blank.

However, if you store a non-blank name and/or password in the profile, and there is a problem with one, and you make the necessary corrections while logging in, then your corrections will be saved in the profile.

The special value "[init]" may be entered into the server name, login name, and/or login password to cause it to prompt on the first try, and then to save the values you enter. (Actually, any values will give you the same effect, except for the initial attempt to connect. ATE recognizes the "[init]" and prompts immediately, before trying to connect.)

If the login name is updated, the FTP name will also be updated if it was non-blank in the profile and originally matched the login name, or if it was set to "[init]". Likewise with the FTP password. (Usually the login and FTP credentials are the same, but it is possible that you want the server to always prompt for FTP login (in which case leave those fields blank), or they are simply different (in which case you probably don't want the FTP credentials to change just because the login credentials did.)

Restore Profiles with ATECFX

ATECFX.SBX 4.0(126) now detects old HKLM profiles which have been virtualized under Vista to HKCU\Classes\VirtualStore\MACHINE\SOFTWARE\... and offers to migrate them back to HKCU\Software\...

The offer is only made for profiles that don't already exist in the regular HKCU or HKLM locations, and once the offer is made, regardless of the user's choice, a second option is given to delete them afterwards. (Since we are moving profiles that were originally intended to be shared by all users of the PC, into the HKCU where they will only be accessible by the current user, the idea of not deleting them after migration would be to allow the process to be repeated for other user logins.

Once made, a registry value is created which prevents the offer from being repeated over and over again. You can, however, reset the switch by deleting the value HKCU\Software\MicroSabio\JBCT\ATE\Settings\MigrateVHKLM.

ATE failure-to-respond

ATE server-side protocol enhancement: New general purpose status code -15 indicates that ATE failed to respond to the server request within the normal time limit (5 seconds for most commands, 10-15 for a few). Sometimes commands that "should" respond almost instantly will take a long time, either because ATE is "locked up", or there is some other Windows hang-up, such as waiting on "elevation" or some other critical event. In such cases, if the command normally returns a numeric status code, we now return -15 to indicate time out. The affected routines include:

 

ATE waitflag disables time out

MX_SHELLEX enhancement for server side of ATE: New waitflag bit +4 disables the normal 10 second time out waiting for the ShellExecute operation to complete. Normally 10 seconds is more than enough time to determine whether the launch was successful or not, but there are some cases, most notably under Vista when the launch requires the user to confirm "elevation", that the server was otherwise timing out while ATE was still waiting for the ShellExecute to return. In such as case, an unreliable error status was often being returned, and then when the command finally did return, the normal response code was ending up in the keyboard buffer, possibly confusing the application. Specifying the +4 flag should not have any effect on older versions of A-Shell or under non-ATE situations.

Note that wait is independent of the existing waitflag option +1, which suspends ATE until the launched application completes. +4 only waits until the program is launched, not until it is closed.