v0.0.2.0
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