Skip to content

v0.0.2.0

Compare
Choose a tag to compare
@manojampalam manojampalam released this 23 Oct 19:49
· 157 commits to L1-Prod since this release

_This is a pre-release (non-production ready)_

This release adds Unicode support improvements in Windows. The problem with Unicode differences between Unix (UTF-8) and Windows (UTF-16) is tackled by:

  • Defining a Unicode entry point for each executable. The entry point (wmain) is implemented in a common Windows compat library. This takes in UTF-16 arguments/parameters and converts them to UTF-8 before feeding them to OpenSSH original code.
  • Making all POSIX structures calls in our wrapper UTF-8 compliant, overriding Unicode differing clals (like fopen) with UTF-8 compliant ones.

The changes

  • Kept the internals of OpenSSH code intact (UTF-8 based) including original "main" routines.
  • Got rid of Windows specific UTF-16 based code around configuration and user profile structures.

With these changes, following are supported:

  • Addressing Unicode targets
  • Generating and consuming Unicode configuration and key files (UTF-8 files on Windows can include BOM)
  • Using Unicode directories and file paths and user names
  • Unicode console prompts and input

TBD:

  • SFTP and SCP are not Unicode ported yet. This is current work in progress.

This release also includes the following fixes:

  • removed previous restrictions on scp and sftp around running them from their root directory.
  • support on Nano. Nano does not support server side PTY changes. A remote session to Nano can be opened without a TTY/PTY as follows:
    • ssh user@nano cmd
    • ssh user@nano powershell -File -
  • relative sub-system paths. Relative Sub-system executables can now be picked up from installation root. Ex the following in sshd_config would work for sftp:
    • SFTP sftp-server.exe //sftp-server.exe will be picked up from sshd.exe installation path