Commit Graph

131 Commits

Author SHA1 Message Date
Yanbing a75116b6f8 Fix of 1211 and 1082 (#349)
PowerShell/Win32-OpenSSH#1211
PowerShell/Win32-OpenSSH#1082

Added support for posix_spawnp that executes the command directly instead of appending path. (SH_ASKPASS and proxy command use this). Refactored posix spawn commandline building logic to automatically account for Windows CRT escaping rules on all arguments.
2018-11-05 12:22:20 -08:00
Manoj Ampalam 456c5fc72b Merge branch 'V_7_9' of https://github.com/openssh/openssh-portable 2018-10-25 11:55:02 -07:00
Manoj Ampalam 1ce9e2005d Merge branch 'V_7_8' of https://github.com/openssh/openssh-portable into cwb 2018-10-04 14:43:51 -07:00
Manoj Ampalam af4e4113b2
Ported bash based E2E tests and integrated security fix for cve-2018-15473(#346)
- Updated code to dynamic load Lsa functions until RS5 SDK includes them
 - Add conpty support in openssh
- Fixed Wierd characters (?25l) are seen, when logged in from ssh client
- Backspace doesn't work in powershell window
- Changes to support ssh-shellhost as an alternative shell
- Added support to have ssh-shellhost work as a standby shell (ssh-shellhost -c "cmdline") simply executes cmdline via CreateProcess
- Added E2E test cases and fixed unittests broken from prior changes
- Added PTY launch interface that supports both conpty and ssh-shellhost pty.
- Implemented PTY control channel in ssh-shellhost that supports Window resize events.
- Fixed regression with starting a PTY session with an explicit command
- modified ssh-shellhost pty argument to ---pty to remove ambiguity in cases when both -p and -c are present in commandline. Ex. ssh-shellhost.exe -c "myprogram -p -c argument"
2018-10-04 14:16:02 -07:00
Damien Miller 0aa1f23084 allow SIGUSR1 as synonym for SIGINFO
Lets users on those unfortunate operating systems that lack SIGINFO
still be able to obtain progress information from unit tests :)
2018-09-14 10:31:47 +10:00
Damien Miller d64e785265 add compat header 2018-09-13 19:05:48 +10:00
djm@openbsd.org a3fd8074e2 upstream: missed a bit of openssl-1.0.x API in this unittest
OpenBSD-Regress-ID: a73a54d7f7381856a3f3a2d25947bee7a9a5dbc9
2018-09-13 19:04:10 +10:00
djm@openbsd.org 86e0a9f3d2 upstream: use only openssl-1.1.x API here too
OpenBSD-Regress-ID: ae877064597c349954b1b443769723563cecbc8f
2018-09-13 15:08:27 +10:00
Damien Miller 86112951d6 forgot to stage these test files in commit d70d061 2018-09-13 12:12:42 +10:00
djm@openbsd.org d70d061828 upstream: Include certs with multiple RSA signature variants in
test data Ensure that cert->signature_key is populated correctly

OpenBSD-Regress-ID: 56e68f70fe46cb3a193ca207385bdb301fd6603a
2018-09-12 16:51:36 +10:00
djm@openbsd.org 2de78bc7da upstream: s/sshkey_demote/sshkey_from_private/g
OpenBSD-Regress-ID: 782bde7407d94a87aa8d1db7c23750e09d4443c4
2018-09-12 16:51:14 +10: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
djm@openbsd.org 2f131e1b34 upstream: memleak in unittest; found by valgrind
OpenBSD-Regress-ID: 168c23b0fb09fc3d0b438628990d3fd9260a8a5e
2018-07-16 13:12:28 +10:00
djm@openbsd.org dbab02f920 upstream: fix leaks in unit test; with this, all unit tests are
leak free (as far as valgrind can spot anyway)

OpenBSD-Regress-ID: b824d8b27998365379963440e5d18b95ca03aa17
2018-07-13 12:14:38 +10:00
djm@openbsd.org 314908f451 upstream: deal with API rename: match_filter_list() =>
match_filter_blacklist()

OpenBSD-Regress-ID: 2da342be913efeb51806351af906fab01ba4367f
2018-07-04 23:52:50 +10:00
Manoj Ampalam 9369d870ad
upped version to 7.7.1.0 and fixed some issues with session path resolution (#320)
upped version to 7.7.1.0 and fixed some issues with session path resolution
2018-06-04 21:15:18 -07:00
Manoj Ampalam 1e0c864707
session process path changes (#319)
Added utility to build session process command line - this accounts for restrictions from various shells. With these changes, scp and sftp-server are expected to be machine wide PATH if a custom shell (other than cmd.exe) is defined. Added comprehensive test cases.
Fixed issue with USERNAME env variable containing domain prefix too.

PowerShell/Win32-OpenSSH#1165
PowerShell/Win32-OpenSSH#1165
PowerShell/Win32-OpenSSH#1171
2018-06-04 12:16:13 -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 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
Bryan Berns 808a4ac5ce
Merge branch 'latestw_all' into path_fixes 2018-04-24 05:11:43 -04:00
Bryan Berns f6554dcb1c Add Hard Link Unit Tests
- Added unit test cases to validate link() functionality using relative/absolute and unicode/ascii parameters.
2018-04-19 03:09:04 -04:00
Yanbing 41e4e89376
Add support to take key files with CRLF new line ending on windows (#301)
1. Add support to take key files with windows new line ending (PowerShell/Win32-OpenSSH#1130)
2. add test cases for CRLF
3. Update test helper script to catch the exitcode of unittest and report the failure
4. Enable uni test unittest-sshkey and unittest-sshkey
5. Disable resource check for signal tests due to some API issue to follow.
6. Remove workaround for windows new line ending in test scripts
7. Add test validation for ACL of registry entries when perform ssh-add
2018-04-12 14:24:38 -07:00
Manoj Ampalam 2474b9130b Merge branch 'master' of https://github.com/openssh/openssh-portable into up_merge 2018-04-02 13:13:47 -07: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
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 0dc5a971bd Allow More Child Processes (#284)
- Added wait_for_multiple_objects_enhanced() function that can logically handle wait-any on many children (system resources permitting).
- Added unit tests for wait_for_multiple_objects_enhanced().
- Incorporated use of wait_for_multiple_objects_enhanced() into main signal handler.
- Upped max child processes to 500.
2018-03-14 11:10:27 -07:00
djm@openbsd.org de1920d743 upstream: unit tests for new authorized_keys options API
OpenBSD-Regress-ID: 820f9ec9c6301f6ca330ad4052d85f0e67d0bdc1
2018-03-03 14:39:25 +11:00
djm@openbsd.org 3b252c20b1 upstream: some helpers to check verbose/quiet mode
OpenBSD-Regress-ID: e736aac39e563f5360a0935080a71d5fdcb976de
2018-02-23 14:05:07 +11: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 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
djm@openbsd.org 5fb4fb5a01 upstream commit
missed one (unbreak after ssh/lib removal)

OpenBSD-Regress-ID: cfdd132143131769e2d2455e7892b5d55854c322
2018-01-03 16:46:49 +11:00
djm@openbsd.org e6c4134165 upstream commit
unbreak unit tests after removal of src/usr.bin/ssh/lib

OpenBSD-Regress-ID: 3a79760494147b20761cbd2bd5c20e86c63dc8f9
2018-01-03 16:46:49 +11: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
Yanbing b1a6fbca5e Issue13 (#184)
Replace with secure APIs in win32compat
2017-07-19 15:28:35 -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 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
Manoj Ampalam ba7cf86417 Merge branch 'master' of https://github.com/openssh/openssh-portable into latestw 2017-05-19 23:08: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
djm@openbsd.org d757a4b633 upstream commit
fix for new SSH_ERR_KEY_LENGTH error value

Upstream-Regress-ID: c38a6e6174d4c3feca3518df150d4fbae0dca8dc
2017-05-08 16:11:26 +10:00
djm@openbsd.org 557f921aad upstream commit
remove SSHv1 support from unit tests

Upstream-Regress-ID: 395ca2aa48f1f7d23eefff6cb849ea733ca8bbfe
2017-05-01 10:07:19 +10:00
jsg@openbsd.org e0194b471e upstream commit
Change COMPILER_VERSION tests which limited additional
warnings to gcc4 to instead skip them on gcc3 as clang can handle
-Wpointer-sign and -Wold-style-definition.

Upstream-Regress-ID: e48d7dc13e48d9334b8195ef884dfbc51316012f
2017-04-28 13:28:49 +10: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 78995b5a42 Merge branch 'master' of https://github.com/openssh/openssh-portable into latestw 2017-03-16 10:13:50 -07:00
Darren Tucker 2fbf91684d Include includes.h for compat bits. 2017-03-16 14:05:46 +11:00
Darren Tucker b55f634e96 Wrap stdint.h in #ifdef HAVE_STDINT_H 2017-03-16 13:45:17 +11:00
Manoj Ampalam b69a1eda8e Merge branch 'master' of https://github.com/openssh/openssh-portable into latestw 2017-03-14 13:02:26 -07:00
Darren Tucker b1b22dd0df Plumb conversion test into makefile. 2017-03-14 14:19:36 +11:00
dtucker@openbsd.org f57783f1dd upstream commit
Add unit test for convtime().

Upstream-Regress-ID: 8717bc0ca4c21120f6dd3a1d3b7a363f707c31e1
2017-03-14 13:45:14 +11:00