Commit Graph

190 Commits

Author SHA1 Message Date
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 973a7afc62
automated generation of cfg, logs folder and copy sshd_config (#264) 2018-01-22 16:55:42 -08:00
bagajjal c85ba2b8c3 Separate binary path from cfg path and log path (#263)
Separate binary path from cfg path and log path, test update
2018-01-19 15:12:43 -08:00
Manoj Ampalam 88defae8c1
removed logic arround NTService\SSHD related checks (#261) 2018-01-18 10:46:52 -08:00
Manoj Ampalam 32ff0c2aed
Added support to autogen hostkeys at sshd service startup (#259)
* Added support to autogen hostkeys at sshd service startup
* Integrated latest changes to sshd_config
2018-01-17 08:52:10 -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
Karl Itnic 97b74e8a10 Update socketio.c (#252)
Merged fix from https://github.com/PowerShell/openssh-portable/pull/252
2018-01-16 21:37:21 -08:00
Manoj Ampalam 5e0833f69d
Logfile add date (#260)
* add date in the log file in MM/DD/YYYY format

* changed date format in log file to bigendian ISO 8601 (YYYY-MM-DD) (#256)

The "madendian" MM/DD/YYYY format is not used outside the United States
(and rather irritating elsewhere)
2018-01-16 19:56:06 -08:00
bagajjal b62ae95cd2 add date in the log file in MM/DD/YYYY format (#253) 2018-01-16 19:48:06 -08:00
Manoj Ampalam fdd54b6334
Implement Unix styled privilege separation in Windows (#258)
OpenSSh privilege separation model - http://www.citi.umich.edu/u/provos/ssh/privsep.html 
Posix_spawn is implemented in POSIX adapter as an alternative to fork() that is heavily used in Privilege separation. 
Additional state info is added to sshd to accommodate distinguishing the various modes (privileged monitor, unprivileged child, authenticated child).
Required service state (like config and host keys) is transmitted over pipes from monitor to child processes.
Changes to installation scripts and tests to accomodate new architectural changes
2018-01-15 13:57:31 -08:00
bagajjal 8906783fa4
remove LsaNtStatusToWinError as onecore doesn't support this API (#249) 2017-12-07 12:50:16 -08:00
bagajjal 507fe3283a Support custom LSA auth provider (#246)
Support custom LSA auth provider
2017-12-07 11:12:29 -08:00
bagajjal ef55537c8b
Merge pull request #226 from PowerShell/mitigate_AltGR_#902
Fix non-US keyboard related issue and scp x86 debug build error
2017-12-05 12:58:47 -08:00
bagajjal 5e86ef04c8 sshd service shouldn't call sshd_main() while exiting (#247)
PowerShell/Win32-OpenSSH#957
2017-12-04 10:45:20 -08:00
Yanbing b7ee9e98e8 try loading advapi32.dll on machine where sspicli.dll does not presents (#244)
PowerShell/Win32-OpenSSH#965
2017-11-28 21:04:23 -08:00
bagajjal bcf9c5336f SFTP fix to download a very large file in chunks #863 (#227)
PowerShell/Win32-OpenSSH#863
2017-11-20 23:25:01 -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
Manoj Ampalam 4edff78b9d
Fixed issue in POSIX layer that could truncate write streams (#235)
PowerShell/Win32-OpenSSH#908
2017-11-06 21:38:14 -08:00
Manoj Ampalam c546971ca8
Fixed issue with ssh redirected stdin
PowerShell/Win32-OpenSSH#929
Issue: ReadThread prematurely returns on read io error. This results in APC never getting set and hence the corresponding fd is never set on select resulting the hang seen in issue 929.
Also removed the static instances storing sync io status, since there could be multiple sync fds operating at the same time. Moved the sync io status to w32_io object itself.
2017-11-03 13:16:23 -07:00
bagajjal dce738c33a fix the error code when we fail to open file (#232)
https://github.com/PowerShell/Win32-OpenSSH/issues/934
2017-11-02 22:37:50 -07:00
Shawn Iverson b2daa97b71 Fix misspelling in agent.c (#230) 2017-10-30 15:58:35 -07:00
bagajjal b3862103e4 support unicode characters from the ssh.exe (#228) 2017-10-30 15:50:08 -07:00
bagajjal beae9cad31 fix#902 and scp x86 debug build error 2017-10-20 10:21:17 -07:00
Manoj Ampalam 21ebb53a30 Multiple fixes (#224)
PowerShell/Win32-OpenSSH#894
Added logic to profile path retrieval to consider environment variables in path read from registry
PowerShell/Win32-OpenSSH#883
Added flags to support libssh2 SFTP. These are No-Ops for now. We may support them later if needed. Added PowerShell/Win32-OpenSSH#915 to keep track of TODO work item
2017-10-17 12:29:13 -07: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 97959981f6 More fix of sftp scp file permission and test cases (#222)
More fix of sftp scp file permission and test cases
2017-10-16 14:46:37 -07:00
bagajjal c9c715e707 Fix sftp scp file permission (#212)
PowerShell/Win32-OpenSSH#884
Convert the mode properly to file permissions.
If mode has "read" permission then we set the file permission to "read & execute"
If mode has "write" permission then we set the file permission to "Write & Modify"
Inherit the file permissions from the parent folder when sftp / scp creates the file on windows.
sftp - put & get.
scp - from local to remote windows machine.
2017-10-16 13:00:40 -07:00
bagajjal 9c95d8e2bb allowing users to configure the default shell through windows registry (#215) 2017-10-16 10:45:11 -07:00
Manoj Ampalam a348597468 Support SSH certificates (#213)
support certificate authentication
2017-10-02 12:39:12 -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 c8c6b0b04e fix scp build issue, fix new warning msg in posixcompat (#209) 2017-09-21 21:12:01 -07:00
Yanbing 18b1e5935b multiple fixes for win7 (#206)
1. fix some exception when appverifier is enabled on win7 (https://gitthub.com/PowerShell/Win32-OpenSSH/issues/872)
2. enable sshdconfig tests on win7(https://github.com/PowerShell/Win32-OpenSSH/issues/873)
3. fix for https://github.com/PowerShell/Win32-OpenSSH/issues/874 ( ReadFile does not return on win7 when no content in console )
4. Remove logging to console in Readthread because write hangs here since write thread already closed (https://github.com/PowerShell/Win32-OpenSSH/issues/879)
5. fix VCTargetsPath
2017-09-15 21:25:42 -07:00
bagajjal 6e7210d3c1 fix the CRLF issue, review comments related to allow/deny user/groups#861
* fix the CRLF issue
* fixing the allow/deny group review comments
2017-09-05 12:41:46 -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
bagajjal ab2aefff6d Fix allow/deny groups #816 (#203)
Fixing allow groups, deny groups. (PowerShell/Win32-OpenSSH#816)
Convert users, groups read from sshd_config to lowercase.
2017-09-01 14:53:12 -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
Manoj Ampalam 4a5fe9ea92 Ported changes to support Windows 2017-08-28 09:49:42 -07:00
Manoj Ampalam 19d40e6668 Ported changes to support Windows 2017-08-28 00:32:51 -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
Manoj Ampalam fdb2b110b7 Fix (#194)
Issue is within msv1_0.dll (NTLM SSP provider). Working around by doing a fake login that populates internal state within msv1_0.dll so further S4U logons work as expected.
PowerShell/Win32-OpenSSH#727
2017-08-17 12:12:09 -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 3a092cbb5d Enable Appverifier tests (#191)
1. Enable Appverifier tests and  fix of #839 and #841
2. Enabled Postmortem Debugging
2017-08-07 14:45:43 -07:00
bagajjal 98f9a7d9ab fixing TERM to xterm-256color and fixing sizeof(PATH_MAX) 2017-08-01 12:36:23 -07:00
Yanbing b1a6fbca5e Issue13 (#184)
Replace with secure APIs in win32compat
2017-07-19 15:28:35 -07:00
bagajjal eb8cf61ccf SETTING term=XTERM (#185)
https://github.com/PowerShell/Win32-OpenSSH/issues/252
2017-07-18 20:00:13 -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
Manoj Ampalam 0c8f8473d5 Ported changed due to merge from openssh/master 2017-07-08 23:21:35 -07:00
Manoj Ampalam 31bcbea0de Fixed "ssh-add -D" regression caused due recent ssh-agent changes
https://github.com/PowerShell/Win32-OpenSSH/issues/798
2017-07-05 23:10: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
Manoj Ampalam f8f5e45f02 Decouple key-agent and privileged-agent use in sshd (#173)
PowerShell/Win32-OpenSSH#766
PowerShell/Win32-OpenSSH#783
2017-06-26 21:57:24 -07:00
bagajjal 067a352c81 fixed the download issue of the log files (#167)
https://github.com/PowerShell/Win32-OpenSSH/issues/531
2017-06-15 12:27:31 -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 04ce306973 removed unwanted CreateFile flags 2017-06-13 12:09:36 -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 4a1980e059 Added missed change in previous commit 2017-06-11 23:37:36 -07:00
Manoj Ampalam 91f9c71021 Improvements to named pipe connections to ssh-agent (#163)
client now connect to ssh-agent at Identification level, preventing rogue processes hosting "ssh-agent" pipes from impersonating and elevating to client context.
Since ssh-agent now cannot do ImpersonateNamedpipeClient, retrieve the client impersonation token explicitly and rely on ImpersonateLoggedonUser instead.
2017-06-10 23:12:10 -07:00
bagajjal 45de6ba06c Readpassphrase #692 (#156)
Fix for #692
PowerShell/Win32-OpenSSH#692
Implement readpassphrase to align with unix implementation.
2017-06-08 11:47:59 -07:00
Manoj Ampalam bf124757d6 Fixed x86 build 2017-06-07 22:29:34 -07:00
Manoj Ampalam 849b637a7e Porting latest openssh/master changes to Windows 2017-06-07 22:04:05 -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
Oleg S 1d53705be5 win32: Fix enumerate root dir content on SFTP-server (#148)
https://github.com/PowerShell/Win32-OpenSSH/issues/539
2017-05-26 15:54:34 -07:00
bagajjal 4879602b69 Docker#666 keyscan#731 posixcompatnewunittests (#152)
docker ssh issue
PowerShell/Win32-OpenSSH#666
a) fdopen changes to accept the /dev/null device
b) fix the select (using same fdset as readfdset, exceptfdset) issue with the unix opensssh code.
changed keyscan pester test to refer to localhost (127.0.0.1) instead of GitHub.com
PowerShell/Win32-OpenSSH#731
Fix the ASSERT_HANDLE issue..
ASSERT_HANDLE should fail if handle is either NULL or INVALID_HANDLE.
Added new testcases for the null device.
2017-05-26 15:40:59 -07:00
Yanbing 5989efcad6 fix issue when checking file permission and generate key under system context (#150)
PowerShell/Win32-OpenSSH#736
PowerShell/Win32-OpenSSH#735
2017-05-26 14:24:23 -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 4df71693c2 Fix agent to recognize calls from sshd service (#149)
https://github.com/PowerShell/Win32-OpenSSH/issues/734
2017-05-24 21:52:20 -07:00
Yanbing 81bcaaa7cf Add mode support in open() and onboard file perm related changes and tests (#145)
PowerShell/Win32-OpenSSH#710
PowerShell/Win32-OpenSSH#725
PowerShell/Win32-OpenSSH#729
PowerShell/Win32-OpenSSH#731
PowerShell/Win32-OpenSSH#732
2017-05-23 21:45:38 -07:00
bagajjal e296463fc8 Add new unit testcases (#139)
PowerShell/Win32-OpenSSH#605
PowerShell/Win32-OpenSSH#602
PowerShell/Win32-OpenSSH#603
2017-05-22 22:50:51 -07:00
bagajjal 4dbee0d15a Onboard sshkeyscan (#143)
PowerShell/Win32-OpenSSH#124
PowerShell/Win32-OpenSSH#728
2017-05-22 22:18:41 -07:00
Manoj Ampalam ba7cf86417 Merge branch 'master' of https://github.com/openssh/openssh-portable into latestw 2017-05-19 23:08:42 -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
Yanbing afc6ca91f7 Fixes for #648 and #718
PowerShell/Win32-OpenSSH#648
PowerShell/Win32-OpenSSH#718
2017-05-18 12:15:18 -07:00
Yanbing 79662b9a6f Suspended File permissions logic, cranked version. 2017-05-15 22:08:01 -07:00
Manoj Ampalam b4a38796b9 Fixed ssh client title
https://github.com/PowerShell/Win32-OpenSSH/issues/722
2017-05-15 11:25:41 -07:00
Manoj Ampalam 17efb12f6f ssh client E2E tests (#138)
https://github.com/PowerShell/Win32-OpenSSH/issues/619
PowerShell/Win32-OpenSSH#623


* C2

* C3

* C4

* C5
2017-05-12 10:31:59 -07:00
bagajjal 0fe590b192 multiple fixes (#132)
PowerShell/Win32-OpenSSH#715
PowerShell/Win32-OpenSSH#714
2017-05-09 14:08:22 -07:00
bagajjal 7d929c2954 Fix sshd logging (#128)
PowerShell/Win32-OpenSSH#709
https://github.com/PowerShell/Win32-OpenSSH/issues/708
2017-05-07 22:51:24 -07:00
Yanbing ba4ee6f3de Fixed bug in Administrators group lookup logic 2017-05-04 11:38:03 -07:00
Yanbing 6b807ae229 file permission on ssh_config, authorized_keys, private keys, host keys, public keys. (#110)
1. Add file permission check when load or add ssh_config, authorized_keys, private keys, host keys,.
2. set the owner and ACE for create secure file, ex, private key in ssh-keygen.exe
3. Update script OpenSSHTestHelper.psm1 to be able to run Install-OpenSSH if the sshd is running on the machine.
4. add OpenSSHBinPath to path.
5. change indents in agentconfig.c
6. update test script to represent the changes
7. Add tests for:
* authorized_keys and ssh-keygen testing
* host keys file perm testing
* user private key file perm testing
* ssh-add test
* user ssh_config
2017-05-01 14:18:20 -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
Manoj Ampalam 8a83d3360c Fixed key based auth with talking to docker containers
PowerShell/Win32-OpenSSH#677
2017-04-27 21:00:12 -07:00
Yanbing d7ab0aa717 fix for issue 685 (#122)
PowerShell/Win32-OpenSSH#685
2017-04-27 11:47:01 -07:00
Manoj Ampalam 1ff1b07410 Run SSHD as NetworkService (#121)
PowerShell/Win32-OpenSSH#681
2017-04-24 22:02:03 -07:00
Manoj Ampalam 5218d4fc45 Revereted "Take Ownership Privileges" change on key auth tokens
Fixed https://github.com/PowerShell/Win32-OpenSSH/issues/611
2017-04-16 13:17:57 -07:00
Oleg S 258c10c4dc win32: Fix include types.h from win32compat directory (#111) 2017-04-16 12:56:28 -07:00
Manoj Ampalam c3c5c1fa7f Support I/O redirection in all ssh clients (ssh.exe, sftp.exe and scp.exe) (#113)
PowerShell/Win32-OpenSSH#668
2017-04-14 16:15:32 -07:00
Manoj Ampalam 3965d200c7 Removed ssh-lsa.dll and setup reboot restriction (#108)
https://github.com/PowerShell/Win32-OpenSSH/issues/657
2017-04-08 09:27:15 -07:00
Manoj Ampalam 53aa139ec8 Fixed: High CPU usage and log file growing up (https://github.com/PowerShell/Win32-OpenSSH/issues/606)
Added fix recommended by @richard-browne [here](https://github.com/PowerShell/Win32-OpenSSH/files/414456/sockio.c.txt)
2017-04-05 12:29:41 -07:00
Manoj Ampalam 34a3f92bcd Fix (#105)
https://github.com/PowerShell/Win32-OpenSSH/issues/556
2017-04-03 13:48:23 -07:00
Manoj Ampalam c09ef3f1cb Fixed sshfs issue
https://github.com/PowerShell/Win32-OpenSSH/issues/586
2017-04-03 13:36:29 -07:00
Yanbing 0d1b232d3b Terminal escape sequence handling in a non-TTY stream for Windows (#94)
To prevent screwing up terminal settings on windows when printing to the terminal, turn off the virtual termial before print out to console. The file call these funtions are from scp.c,  sftp.c and sshconnect(calls smprintf). The virtual termial are not enabled in scp and sftp. turn off it in vfmprintf is enough for now.
2017-03-29 12:52:51 -07:00
Manoj Ampalam 6fd81a671c Temporary fix to ssh redirection issue in Powershell environment (+ one other minor fix) (#98)
PowerShell/Win32-OpenSSH#609
PowerShell/Win32-OpenSSH#608
2017-03-28 14:54:19 -07:00
bagajjal dd8cfb0e06 fixed the console scroll down issue
https://github.com/PowerShell/Win32-OpenSSH/issues/585
2017-03-25 00:07:30 -07:00
Yanbing 425bc4033f latestw + Test Infra upgrades
Includes
- CR changes for upstream PR
- Fix in spawn_child logic
- Test Infra upgrades
2017-03-24 12:35:52 -07:00
Yanbing 26967ceada Enable hostkeys unit tests (#88)
1. Deploy the key files to separate folder to avoid overwriting.
2. Enable hostkeys and kex unit tests.
3. Generate debug info in pdb
4. minor update on snmprintf
2017-03-14 10:47:39 -07:00