Commit Graph

51 Commits

Author SHA1 Message Date
Manoj Ampalam c24cf7945e Added support for hard links over sftp
https://github.com/PowerShell/Win32-OpenSSH/issues/1119
Added link() support using the CreateHardLink() function.
Made readlink() and link() declarations consistent with other functions.
2018-04-24 05:00:23 -04:00
Bryan Berns 8c86f30a0f Reworked Path Resolution Function - Review Changes
- Changes based on review comments.
2018-04-24 04:47:09 -04:00
Bryan Berns bd6408058a Reworked Path Resolution Function
- Reworked resolved_path() into resolved_path_utf16() that combined utf16 conversion and path conditioning into a single function.  This eliminated the previously non-threadsafe resolved_path() function.
- Adjusted functions to use resolved_path_utf16().
- Collapsed copy_file() function that was only used once.
- Corrected compilation errors when debug4() and debug5() are enabled.
2018-04-01 23:41:09 -04:00
revngnr f607a0be96 Bandwidth limits don't work correctly for sftp client (#278)
Fixes following issues:
- gettimeofday : Incorrect converting 100ns intervals (from GetSystemTimeAsFileTime) to timeval.
(us % RATE_DIFF) means number of microseconds but it may be great than 10**6
- nanosleep : SetWaitableTimer works with 100ns intervals but get nanoseconnds (only part of timespec) Missed CloseHandle call in WaitForSingleObject error case.


https://github.com/PowerShell/Win32-OpenSSH/issues/1094
2018-03-30 09:45:44 -07:00
Bryan Berns 993cce0798 Added symlink() Implementation; Revised readlink() (#289)
- Added implementation of symlink() using native CreateSymbolicLink() function.
- Added unit tests for symlink behavior in readlink(), lstat, stat(), and symlink().
- Reworked readlink() to be more inline with POSIX readlink() behavior.
- Reworked symlink handling in stat/lstat due to revised readlink().
- Added additional error handling to readlink().
- Added symlink() Implementation - Memory Leak Fix
- Modified fileio_readlink() to properly free a temporary buffer it creates.
2018-03-29 10:54:38 -07:00
Bryan Berns 966d8c4129 Unit Test Updates / Small Bug Fixes (#288)
- Updated socketio_WSARecv() to prevent attempted buffer overrun.
- Updated w32_rename() to handle error when input parameters are null.
- Updated file verify success on dup() test.
2018-03-16 09:32:26 -07:00
Bryan Berns d43856a300 Added Symbolic Link Support (#285)
Created readlink() implementation.
Separated, corrected lstat() implementation.
Added symlink file type indicator to returned request data.
2018-03-15 17:13:13 -07:00
Manoj Ampalam 9fe39c0c73
Fixed regression caused due to ETW support changes (#282)
Regression: Service is unable to start if "ssh" programdata directory is missing.
Reason: This is due to refactored changes around w32_programdir() that moved its initialization to within win32_posix_initialize. sshd_main() is relying on this call even before the POSIX layer gets initialized.
Fix: Reverted the refactoring changes and added comments to consolidate these changes later. Also removed directory creation logic in install-sshd.ps1 that masked this issue before.
2018-03-09 14:56:47 -08:00
Manoj Ampalam 2c559a2b6c
Added support for ETW based logging (#280)
https://github.com/PowerShell/Win32-OpenSSH/issues/95
2018-03-06 15:33:19 -08:00
bagajjal fcead5ed76 Fixed issue with starting sshd in debug mode with a "./" (./sshd.exe -d)
PowerShell/Win32-OpenSSH#1045
2018-02-12 11:49:33 -08:00
bagajjal b10f2232e5 fix lsa auth provider and minor bug fixes (#270)
https://github.com/PowerShell/Win32-OpenSSH/issues/1046
2018-02-02 15:45:32 -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 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 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 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 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
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 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
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
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
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
Yanbing afc6ca91f7 Fixes for #648 and #718
PowerShell/Win32-OpenSSH#648
PowerShell/Win32-OpenSSH#718
2017-05-18 12:15:18 -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
Yanbing d7ab0aa717 fix for issue 685 (#122)
PowerShell/Win32-OpenSSH#685
2017-04-27 11:47:01 -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
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
Manoj Ampalam be750af114 Fixed PTY/TTY console width
https://github.com/PowerShell/Win32-OpenSSH/issues/578
2017-03-13 16:55:04 -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 70da1e67ea fgets and utf8 functions for Windows (#87) 2017-03-06 16:18:40 -08: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 4d0c1db166 Fixed wstat fix for file permission issue
https://github.com/PowerShell/Win32-OpenSSH/issues/176


1.If there are no sufficient permissions to open a file then _wstat64() is returning file not present but it should return the accessed denied.Fixed this.


2.Code cleanup in the posix compat files to align with the openbsd coding standard.
2017-02-09 11:30:40 -08:00
Manoj Ampalam affdad94cd Fixed progress meter issue (https://github.com/PowerShell/Win32-OpenSSH/issues/505) (#68)
Resulted due to off_t defined as long in Windows headers. Fix - override
as long long.
2017-01-29 23:54:24 -08:00
Manoj Ampalam c6b57c018c Got rid of w32posix.h and defs.h (https://github.com/PowerShell/Win32-OpenSSH/issues/498) 2017-01-25 14:43:55 -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 e95aef2cf3 Fixed issue: wrong message when connection refused (https://github.com/PowerShell/Win32-OpenSSH/issues/216) 2017-01-14 08:10:28 -08:00
Manoj Ampalam adbe5a2f2e Fixed issue: sshd service terminates after a brief period of time (https://github.com/PowerShell/Win32-OpenSSH/issues/241) 2017-01-13 13:25:31 -08:00
Yanbing 6608961bb0 SCP issue fixes: setting the timestamp of directory and enable run_err to report error back to client (#42)
* SCP bug fixes
https://github.com/PowerShell/Win32-OpenSSH/issues/465
https://github.com/PowerShell/Win32-OpenSSH/issues/464

* remove one comment

* remove redundent code for mode update.

* update the mode setting when mkdir per the info from main page

* change to follow the BSD coding style

* change naming convention

* add static
2017-01-09 19:07:51 -08:00
Yanbing cfd88df671 Fix the hanging issue when file already exists and -p is used. (#41) 2017-01-06 10:03:06 -08:00
bagajjal 144ece5347 SFTP fixes
1.Fixed df command that shows the disk space utilization.
2.Fixed the realpath to take care of edge cases where path size is less than 2.
3.Fixed the "dir " bug
4.Fixed the "dir e:\test" bug
5.Fixed the memory leak in wmain_sshd.c
2017-01-05 15:01:36 -08:00
Manoj Ampalam f207a12b78 Fixed openssl=no build issues (#38) 2016-12-27 13:47:09 -08:00
Manoj Ampalam d67c7e7c85 :Missed earlier fix to spawn_child 2016-12-21 21:39:43 -08:00
Manoj Ampalam 9333a08637 SCP Fixes (from Yanbing), realpath_win cleanup and spawn_child fix (that broke progfiles installation) 2016-12-21 21:17:14 -08:00
bagajjal 79e00ae7de realpath fix 2016-12-21 19:51:27 -08:00
bagajjal 07a658c2b7 Making forwardslash/backslash converter methods available in posix layer 2016-12-21 11:51:37 -08:00