Commit Graph

48 Commits

Author SHA1 Message Date
bagajjal 0516e2d619
Fix cursor scroll issue for downlevel OS (#430) 2020-03-16 16:27:57 -07:00
bugale 17c9c6dbb3 Using the Y viewport for setting cursor correctly (#368)
[shellhost] - fix cursor position, Y viewport.
2019-12-12 14:32:17 -08:00
Ed Schaller a4ea7dcced Fix comparison between wchar and ptr (#401) 2019-11-15 22:49:38 -08:00
bugale c9c6da0bee Added keystroke mapping Shift+Tab in shellhost (#367) 2019-05-21 14:03:53 -07:00
bagajjal 92f363bef1 Remove console resize (#336)
remove the window resize logic in ssh-shellhost.exe
2018-08-03 13:29:43 -07:00
Manoj Ampalam 84e87be8ae
ConPTY changes and support for auto-updating known_hosts;
- Logic to support conpty (currently disabled until validation is complete)
- fdopen() and fchmod() support for file handles
- support for auto updating known_hosts via ssh and ssh-keygen
- Support for dynamic Windows-size changes with PTY
- Changes to support OneCore SDK
- Test cases
2018-07-25 15:15:05 -07:00
Bryan Berns ec102dce28 Alternate Thread Creation API To Avoid Memory Leaks (#306)
* Alternate Thread Creation API To Avoid Memory Leaks

- Switched from CreateThread() to _beginthreadex() and ExitThread() to _endthreadex() in order to avoid potential leaks when linking with static CRT library.
- Addressed a variety of warnings that were being detected with static code analysis.

* Addressed Type Cast Warning

- Added explicit cast to the output of _beginthreadex() to avoid a compiler warning.

* Indentation Fix
2018-05-23 16:53:36 -07:00
Manoj Ampalam 3fb0c252c3
Refactor session logic (default shell, non PTY, child spawning) (#312)
Changes include:
- Removing sid from pwd structure to comply with Unix structure
- Integrating default shell logic within pwd
- pwd placeholder to allow logins using usernames not associated with Windows account (possible via custom LSA authentication)
- Moving all nonPTY logic from shellhost to session.c. 
- ssh-shellhost is now exclusively for implementing PTY
- Spawning all session processes from within a shell
- Validation checks in safely_chroot
2018-05-22 21:49:58 -07:00
Manoj Ampalam 7b28a316eb
Enable SFTP chroot support (#308)
- Added chroot implementation that simply stores the path in internal state and sets an environment variable
- Spawned processes pickup chroot from environment variable
- Core change in realpath and resolved_path_utf16 now take into account chroot path.
- Unit tests
- Other miscellaneous changes to account for chroot enabled logic in core code

PowerShell/Win32-OpenSSH#190
PowerShell/Win32-OpenSSH#292
2018-05-11 14:45:20 -07:00
bagajjal be0a2ff29d Fix shellhost infiniteloop issue (ssh.exe -t user@ip dir) (#292)
Fix for PowerShell/Win32-OpenSSH#892
Fixed warning messages in latest code.
2018-03-26 21:32:30 -07:00
Manoj Ampalam fd580e9d96
Allow remote session processes to break away from session job object
PowerShell/Win32-OpenSSH#1032
Issue: Ssh-shellhost.exe creates a job object and ties all its child processes to its lifetime. It does not allow the child processes to break away from this job. This restriction is unnecessary.
Fix: Modified job object to allow child processes to break away if they need to.
2018-01-26 15:22:23 -08:00
bagajjal 04c012c032 fix backspace (Control+?) in no-pty session (#257)
https://github.com/PowerShell/Win32-OpenSSH/issues/1011
2018-01-16 21:59:27 -08:00
bagajjal 1f636bd8dd removed extra ; remove m while sending color code (#255)
https://github.com/PowerShell/Win32-OpenSSH/issues/1005
2018-01-16 21:58:44 -08:00
bagajjal 507fe3283a Support custom LSA auth provider (#246)
Support custom LSA auth provider
2017-12-07 11:12:29 -08:00
Yanbing 3f106fe653
Address code review feedback of PR 238 (#239)
Address feedback of PR 238
2017-11-15 13:10:54 -08:00
Yanbing a4cbd07812
Enable build for arm and arm64 (#238)
Enable build for arm and arm64
2017-11-14 17:22:02 -08:00
bagajjal 9555bd9e87 Fix the memset issue related to default cmd option (#223)
Fix the memset issue related to default cmd option
2017-10-16 19:03:02 -07:00
bagajjal 9c95d8e2bb allowing users to configure the default shell through windows registry (#215) 2017-10-16 10:45:11 -07:00
Yanbing afb81c082d Some updates on shell-host.c (#210)
PowerShell/Win32-OpenSSH#893
Create pipe using default buffer size
Update buffer size when read and write file
change to use _wcsnicmp
printed out error when create pipe
added release of the memory
2017-09-27 14:32:30 -07:00
bagajjal 8747626b6a Multiple terminal related fixes
Fix the bugs -
PowerShell/Win32-OpenSSH#845
PowerShell/Win32-OpenSSH#865
PowerShell/Win32-OpenSSH#885
PowerShell/Win32-OpenSSH#886
Refer to the below URL
https://github.com/mintty/mintty/wiki/Keycodes#Editing_keys.md
2017-09-27 12:16:41 -07:00
Manoj Ampalam b327f0c48a Fix to Issue 698 and other misc changes (#208)
Fix to PowerShell/Win32-OpenSSH#698 - Create job object, add ssh-shellhost and ensure all its child process and tied to its lifetime.
Other changes include changes to debug* statements in posix adapter that may cause recursion/stack overflow issues.
2017-09-21 22:00:39 -07:00
bagajjal a38dfedb68 removed code to fix forwardslash issue as it depends on the keyboard type (#201)
PowerShell/Win32-OpenSSH#858
2017-09-05 11:47:42 -07:00
Ben Hillis 7f64fc729a SendKeyStrokeEx should set wRepeatCount = 1
https://github.com/PowerShell/Win32-OpenSSH/issues/853
2017-08-31 14:11:54 -07:00
bagajjal 5cbb8c9e52 Fix ctrl sequences (#196)
PowerShell/Win32-OpenSSH#850 - Fixed alt+shift+? control sequence at ssh client and ssh server side.
PowerShell/Win32-OpenSSH#849 - Fixed ctrl sequences (ctrl+pageup/ctrl+home, etc)...
2017-08-18 12:21:26 -07:00
bagajjal b6dc082e1d fix the page up / page down, #842 (#193)
https://github.com/PowerShell/Win32-OpenSSH/issues/842
2017-08-17 11:57:29 -07:00
Yanbing b1a6fbca5e Issue13 (#184)
Replace with secure APIs in win32compat
2017-07-19 15:28:35 -07:00
bagajjal 69ede6fef2 Terminal fixes (#182)
Terminal code cleanup and control sequence handling..
PowerShell/Win32-OpenSSH#799
Picking the user32/kernel32 from the systemdirectory.
PowerShell/Win32-OpenSSH#814
Console settings are not restored properly
PowerShell/Win32-OpenSSH#813
Fix the clearscreen issue while connecting to non-windows (UNIX/LINUX) servers.
PowerShell/Win32-OpenSSH#807
vi arrow keys are not working
PowerShell/Win32-OpenSSH#806
Fix the nopty unix ssh session.
PowerShell/Win32-OpenSSH#805
Fix emacs issue
PowerShell/Win32-OpenSSH#802
2017-07-18 12:31:30 -07:00
bagajjal 69258a6e02 added new keystroke mapping (#177) 2017-06-30 13:51:55 -07:00
bagajjal cd6ac9dc31 Multiple fixes (#172)
PowerShell/Win32-OpenSSH#596 - shellhost should pickup cmd.exe from %windir%\system32
PowerShell/Win32-OpenSSH#789 - SFTP - remove comspec
PowerShell/Win32-OpenSSH#779 - AuthorizedKeysFile in sshd_config is not working
PowerShell/Win32-OpenSSH#776 - SFTP ls command to show rwx permissions for user
2017-06-29 12:48:13 -07:00
bagajjal 98eca17c65 terminal support for the accepting unicode input (#162)
Support the unicode characters as input to the ssh client.
PowerShell/Win32-OpenSSH#711
Remove the bAnsi related code changes to the ssh-shellhost.c as that code never executes..
Fixed "long pressing key issue for the slow ssh connections"
PowerShell/Win32-OpenSSH#701
fixed warning message in the latestw_all recent commits.
Fixed the issue with ssh failures in the latestw_all recent commits.
2017-06-13 21:25:01 -07:00
Manoj Ampalam dd88d8d5d4 Move to LibreSSL, Fixed issues arising from compiling Windows specific code at warling level 3 2017-06-13 10:33:47 -07:00
Manoj Ampalam fb192e832a Fixed issue with binary input stream over ssh
PowerShell/Win32-OpenSSH#658
2017-06-02 15:08:02 -07:00
bagajjal 921aafc728 fix for #561 and code cleanup (#151)
https://github.com/PowerShell/Win32-OpenSSH/issues/561
2017-05-25 12:41:44 -07:00
Manoj Ampalam 894f6dd79c Changes to remove Impersonation Privilege requirement in sshd (#142)
https://github.com/PowerShell/Win32-OpenSSH/issues/726
2017-05-18 22:57:42 -07:00
Oleg S 16b0175b8e shell: Add func FreeQueueEvent for correct uninitialize shell wrapper (#115)
* shell: Add func FreeQueueEvent for correct uninitialize shell wrapper

* shell: Close all handles on exit
2017-04-27 21:05:16 -07:00
Oleg S 339b2c7727 shell: Cleanup shellhost (use func SendKeyStroke) (#116)
* shell: Cleanup shellhost (use func SendKeyStroke)

* shell: Fix console key mapping

Fix IntelliSense error:
a value of type "const char [6]" cannot be used to initialize an entity of type "char [5]"
2017-04-27 21:04:14 -07:00
bagajjal 8addc04e87 Terminalissues (#89)
#576 - fix the EVENT_CONSOLE_CARET issue.. Wrongly read the X, Y coordinates
#575 - when backspace key is pressed then screen is not refreshed correctly
#574 - when delete key is pressed then screen is not refreshed correctly (the last character is repeated in the end)
#573 - while using up/down arrows, screen is not refreshed correctly (there are some left over characters of bigger command)
#572 - clear screen is not clearing the whole console
#571 - Move the cursor to top of visible window so that nothing will be erased on the console.
#570 - code cleanup for console related logic
#569 - wrong implementation of TIOCGWINSZ. This is causing lot of issues when windows open ssh client is connecting to linux ssh server.
#568 - Scrolling issue when the cursor is at the last line of the visible window.
#567 - Logic to pass the raw buffer to console is wrong.
2017-03-13 14:53:58 -07:00
Manoj Ampalam ca5de7fbbb Fixed remote commandline issue
https://github.com/PowerShell/Win32-OpenSSH/issues/566
2017-03-13 00:18:22 -07:00
Manoj Ampalam f80a467c20 Multiple Fixes (#82)
PowerShell/Win32-OpenSSH#524
PowerShell/Win32-OpenSSH#518
PowerShell/Win32-OpenSSH#517
2017-02-15 21:32:50 -08:00
bagajjal c4a9f83682 Fixed copy paste Terminal related issues (#80)
PowerShell/Win32-OpenSSH#527
PowerShell/Win32-OpenSSH#515
2017-02-14 13:02:15 -08:00
bagajjal 73180c876d Cleaned up shell-host and terminal related code 2017-02-07 12:21:01 -08:00
bagajjal 35ea56a9a7 Cleaned up shell-host.c, termio.c, tncon.c, tnnet.c 2017-02-04 00:37:08 -08:00
Manoj Ampalam f5b88d422e Fixed: ssh-shellhost.exe is orphaned when sshd.exe aborts unexpectedly (#73)
https://github.com/PowerShell/Win32-OpenSSH/issues/512
2017-02-03 12:22:00 -08:00
bagajjal 073eadfc98 Bug fixes (#58)
PowerShell/Win32-OpenSSH#458
PowerShell/Win32-OpenSSH#497
 a) Deleted the unwanted file (conio.c)
 b) Added more debug logs to get_passwd()
 c) Removed ReadThread() in termio.c
2017-01-28 11:52:02 -08:00
bagajjal e4da8db4d2 Multiple Fixes
https://github.com/PowerShell/Win32-OpenSSH/issues/496
https://github.com/PowerShell/Win32-OpenSSH/issues/488
https://github.com/PowerShell/Win32-OpenSSH/issues/495
2017-01-24 10:18:42 -08:00
bagajjal 039f2eca7a SFTP bug fixes (#53)
https://github.com/PowerShell/Win32-OpenSSH/issues/479
https://github.com/PowerShell/Win32-OpenSSH/issues/476
https://github.com/PowerShell/Win32-OpenSSH/issues/474
https://github.com/PowerShell/Win32-OpenSSH/issues/467


bug #479 - "ls c:" is not working
 sanitized_path() is modified to handle the edge case "\x:"


2.bug #476 - "cd c:" is not working
 If "c:" is passed to _fullpath() then it is returning existing path but not "c:", so if we append "\" to "c:" then it is working fine.


3.bug #474 - code cleanup MAX_PATH
 Using PATH_MAX variable instead of MAX_PATH
 In dirent.h, used PATH_MAX instead of hardcoding 256 characters
 In readdir(), changed the pdirentry to be a static variable. Before this, we are leaking the memory.


4.bug #467 - SFTP rename failed if the newpath already exists.
 The _wrename throws error if the newpath exists.
 To make it consistent with the linux behavrior,
 a) if the newpath is a file and if it exists then delete it so that _wrename will succeed.
 b) if the newpath is a directory and if it is empty then delete it so that _wrename will succeed.
2017-01-14 22:12:19 -08:00
Manoj Ampalam 9b8902443e Fix to https://github.com/PowerShell/Win32-OpenSSH/issues/421 (#43) 2017-01-06 23:00:27 -08:00
Manoj Ampalam 5ad8a2c358 Sources Merged from Win32 Fork 2016-12-19 14:46:28 -08:00