Commit Graph

9774 Commits

Author SHA1 Message Date
jmc@openbsd.org e8d59fef10 upstream: add missing punctuation after %i in ssh_config.5, and
make the grammatical format in sshd_config.5 match that in ssh_config.5;

OpenBSD-Commit-ID: e325663b9342f3d556e223e5306e0d5fa1a74fa0
2018-06-04 14:54:43 +10:00
jmc@openbsd.org a1f737d6a9 upstream: oops - further adjustment to text neccessary;
OpenBSD-Commit-ID: 23585576c807743112ab956be0fb3c786bdef025
2018-06-04 14:54:43 +10:00
jmc@openbsd.org 2940284934 upstream: %U needs to be escaped; tweak text;
OpenBSD-Commit-ID: 30887b73ece257273fb619ab6f4e86dc92ddc15e
2018-06-04 14:54:43 +10:00
dtucker@openbsd.org e5019da3c5 upstream: Apply umask to all incoming files and directories not
just files. This makes sure it gets applied to directories too, and prevents
a race where files get chmodded after creation.  bz#2839, ok djm@

OpenBSD-Commit-ID: 3168ee6c7c39093adac4fd71039600cfa296203b
2018-06-04 14:54:43 +10:00
Bryan Berns 710050b186 Remove None/Domain Users Group Filter (#316)
- Removed logic that was excluding the group membership SID that matched 'None' on workgroup computers or 'Domain Users' on domain systems.
- Removed test that was checking that AllowGroups failure if user was not in any group at all.  This is no longer testable since user will always be a member of at least one group.

https://github.com/PowerShell/Win32-OpenSSH/issues/1167
2018-06-03 08:23:30 -07:00
djm@openbsd.org a1dcafc41c upstream: Adapt to extra default verboisity from ssh-keygen when
searching for and hashing known_hosts entries in a single operation
(ssh-keygen -HF ...) Patch from Anton Kremenetsky

OpenBSD-Regress-ID: 519585a4de35c4611285bd6a7272766c229b19dd
2018-06-01 14:24:08 +10:00
djm@openbsd.org 76f314c75d upstream: Add TEST_SSH_FAIL_FATAL variable, to force all failures
to instantly abort the test. Useful in capturing clean logs for individual
failure cases.

OpenBSD-Regress-ID: feba18cf338c2328b9601bd4093cabdd9baa3af1
2018-06-01 14:24:08 +10:00
dtucker@openbsd.org 065c8c055d upstream: Clean up comment.
OpenBSD-Regress-ID: 6adb35f384d447e7dcb9f170d4f0d546d3973e10
2018-06-01 14:23:22 +10:00
djm@openbsd.org 01b048c8eb upstream: whitespace
OpenBSD-Commit-ID: e5edb5e843ddc9b73a8e46518899be41d5709add
2018-06-01 14:22:29 +10:00
djm@openbsd.org 854ae209f9 upstream: make ssh_remote_ipaddr() capable of being called after
the ssh->state has been torn down; bz#2773

OpenBSD-Commit-ID: 167f12523613ca3d16d7716a690e7afa307dc7eb
2018-06-01 14:20:12 +10:00
djm@openbsd.org 3e088aaf23 upstream: return correct exit code when searching for and hashing
known_hosts entries in a single operation (ssh-keygen -HF hostname); bz2772
Report and fix from Anton Kremenetsky

OpenBSD-Commit-ID: ac10ca13eb9bb0bc50fcd42ad11c56c317437b58
2018-06-01 14:20:12 +10:00
djm@openbsd.org 9c935dd9bf upstream: make UID available as a %-expansion everywhere that the
username is available currently. In the client this is via %i, in the server
%U (since %i was already used in the client in some places for this, but used
for something different in the server); bz#2870, ok dtucker@

OpenBSD-Commit-ID: c7e912b0213713316cb55db194b3a6415b3d4b95
2018-06-01 13:35:59 +10:00
djm@openbsd.org d8748b91d1 upstream: prefer argv0 to "ssh" when re-executing ssh for ProxyJump
directive; bz2831, feedback and ok dtucker@

OpenBSD-Commit-ID: 3cec709a131499fbb0c1ea8a0a9e0b0915ce769e
2018-06-01 13:14:54 +10:00
bagajjal 8013f1377b implement freezero(), use localtime_s() instead of localtime() (#300)
PowerShell/Win32-OpenSSH#1121
2018-05-29 19:00:56 -07:00
Manoj Ampalam 8c9c6a0e17
fixed product version (#315) 2018-05-29 10:55:32 -07:00
Manoj Ampalam 9ff97f6106
Fixed issue with virtual token generation (#314)
On certain machines, virtual tokens were not getting generated due to lack of required privileges. Fixed it by assigning them before doing LogonUserExExW. Consolidated runtime dll loading logic. 

PowerShell/Win32-OpenSSH#1162
2018-05-28 22:03:33 -07:00
djm@openbsd.org fbb4b5fd4f upstream: Do not ban PTY allocation when a sshd session is restricted
because the user password is expired as it breaks password change dialog.

regression in openssh-7.7 reported by Daniel Wagner

OpenBSD-Commit-ID: 9fc09c584c6f1964b00595e3abe7f83db4d90d73
2018-05-25 17:12:04 +10:00
djm@openbsd.org f6a59a22b0 upstream: Fix return value confusion in several functions (readdir,
download and fsync). These should return -1 on error, not a sftp status code.

patch from Petr Cerny in bz#2871

OpenBSD-Commit-ID: 651aa0220ad23c9167d9297a436162d741f97a09
2018-05-25 14:27:50 +10:00
dtucker@openbsd.org 1da5934b86 upstream: If select() fails in ssh_packet_read_seqnr go directly to
the error path instead of trying to read from the socket on the way out,
which resets errno and causes the true error to be misreported.  ok djm@

OpenBSD-Commit-ID: 2614edaadbd05a957aa977728aa7a030af7c6f0a
2018-05-25 14:27:50 +10:00
Damien Miller 4ef75926ef Permit getuid()/geteuid() syscalls.
Requested for Linux/s390; patch from Eduardo Barretto via bz#2752;
ok dtucker
2018-05-25 13:45:01 +10:00
Bryan Berns 471b76dbd5 Updates To Address OneCore Linking (#311)
* Updates To Address OneCore Linking

- Modified generate_s4u_user_token() and sys_auth_passwd() to dynamically load TranslateNameW() to avoid OneCore static library linking.
- Modified getusergroups() to avoid Lsa* calls that are not present in OneCore libraries.

* Updates To Address OneCore Linking - Revisions

- Corrected failure detection logic when TranslateNameW() cannot be located.
2018-05-23 16:55:55 -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 236b04b335
Tentative changes to support sshd in interactive mode (#313)
Added support to run sshd as non-system. In this mode, sshd can authenticate only the user that sshd is running as, and only via public key authentication.

PowerShell/Win32-OpenSSH#1153
2018-05-22 22:24:23 -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
djm@openbsd.org 4b22fd8ece upstream: support ProxyJump=none to disable ProxyJump
functionality; bz#2869 ok dtucker@

OpenBSD-Commit-ID: 1c06ee08eb78451b5837fcfd8cbebc5ff3a67a01
2018-05-22 10:15:18 +10:00
jmc@openbsd.org f41bcd70f5 upstream: correct keyowrd name (permitemptypasswords); from brendan
macdonell

OpenBSD-Commit-ID: ef1bdbc936b2ea693ee37a4c20a94d4d43f5fda3
2018-05-22 10:15:18 +10:00
djm@openbsd.org f18bc97151 upstream: Emphasise that -w implicitly sets Tunnel=point-to-point
and that users should specify an explicit Tunnel directive if they don't want
this. bz#2365.

OpenBSD-Commit-ID: 1a8d9c67ae213ead180481900dbbb3e04864560d
2018-05-22 10:15:18 +10:00
Yanbing a479737cd5
Buffer overflow in Scp (#310)
1. Fix buffer overflow in scp
2. Update setup tests to take into account the windows inbox service startup type
2018-05-20 19:06:36 -07:00
Damien Miller 32e4e94e15 sync fmt_scaled.c
revision 1.17
date: 2018/05/14 04:39:04;  author: djm;  state: Exp;  lines: +5 -2;
commitid: 53zY8GjViUBnWo8Z;
constrain fractional part to [0-9] (less confusing to static analysis); ok ian@
2018-05-14 14:40:08 +10: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
Dominic Watley 936b89ac0d Add GCM Cipher Support (#309)
Enabled GCM Cipher related macros in config header for Windows
PowerShell/Win32-OpenSSH#1075
2018-05-10 21:20:55 -07:00
Damien Miller 54268d589e fix key-options.sh on platforms without openpty(3)
Skip the pty tests if the platform lacks openpty(3) and has to chown(2)
the pty device explicitly. This typically requires root permissions that
this test lacks.

bz#2856 ok dtucker@
2018-05-11 14:04:40 +10:00
djm@openbsd.org b2140a739b upstream: implement EMFILE mitigation for ssh-agent: remember the
fd rlimit and stop accepting new connections when it is exceeded (with some
grace). Accept is resumed when enough connections are closed.

bz#2576. feedback deraadt; ok dtucker@

OpenBSD-Commit-ID: 6a85d9cec7b85741961e7116a49f8dae777911ea
2018-05-11 13:56:42 +10:00
dtucker@openbsd.org fdba503fdf upstream: Explicit cast when snprintf'ing an uint64. Prevents
warnings on platforms where int64 is long not long long.  ok djm@

OpenBSD-Commit-ID: 9c5359e2fbfce11dea2d93f7bc257e84419bd001
2018-05-11 13:56:23 +10:00
bluhm@openbsd.org e7751aa409 upstream: Since the previous commit, ssh regress test sftp-chroot was
failing. The sftp program terminated with the wrong exit code as sftp called
fatal() instad of exit(0).  So when the sigchld handler waits for the child,
remember that it was found.  Then don't expect that main() can wait again. OK
dtucker@

OpenBSD-Commit-ID: bfafd940c0de5297940c71ddf362053db0232266
2018-05-11 13:10:49 +10:00
Bryan Berns fe422e5c15 Enhanced Group Discovery / Normalized Names (#286)
Modified getusergroups() to use s4u tokens to discover nested groups and return them in NetBiosName\GroupName format.
Modified get_passwd() to internally normalize names to NetBiosName\SamAccountName format and changed functions that use it to translate to UPN where necessary.
Removed unnecessary support functions used by previous version of getusergroups().
Various refactoring and function consolidation / simplification.
Addressed several buffer over-read issues.

PowerShell/Win32-OpenSSH#553
2018-05-01 23:20:42 -07:00
Darren Tucker 7c15301841 Use includes.h instead of config.h.
This ensures it picks up the definition of DEF_WEAK, the lack of which
can cause compile errors in some cases (eg modern AIX).  From
michael at felt.demon.nl.
2018-04-29 17:54:12 +10:00
Manoj Ampalam 77999d2f4d
Merge pull request #303 from NoMoreFood/path_fixes
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 that used a static buffer. Changed some functions to use unicode to eliminate use of previous resolve_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.
Removed debug statements that were interfering with APC wakeup due to the way that logging works in atomicio6().
Filled in a missing parameter in a debug statement.
Changed test helper so test name is displayed when running release build.
Corrected permissions check for whether to run symbolic links in test cases.
Removed TEST_RESOURCES() in unit tests calls due to inconsistent ability to sample handles in Windows 8.1 / Server 2012 R2.
2018-04-25 22:03:52 -07:00
Yanbing ec3eb7a088
Fix issue install-sshd.ps1 failed on Nano, update it to match inbox manifest, and add setup and uninstall tests (#305)
1. Fix issue install-sshd.ps1 failed on Nano
2. Update settings of services in install-sshd.ps1 to match windows inbox
3. added setup tests and update the test helper scripts to run setup tests before changing configurations on the machine
4. added uninstallation tests
2018-04-24 11:50:44 -07:00
Bryan Berns 808a4ac5ce
Merge branch 'latestw_all' into path_fixes 2018-04-24 05:11:43 -04:00
Bryan Berns 3cb15761a9 Use Path Resolution Function For Hard Links
- Changed link() to use resolved_path_utf16().
2018-04-24 05:04:56 -04:00
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
Manoj Ampalam 82aa56fe86
Merge pull request #304 from NoMoreFood/link_tests
Added unit test cases to validate link() functionality using relative/absolute and unicode/ascii parameters.
2018-04-23 10:52:20 -07: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
Darren Tucker cec338967a Omit 3des-cbc if OpenSSL built without DES.
Patch from hongxu.jia at windriver.com, ok djm@
2018-04-19 13:19:35 +10:00
djm@openbsd.org a575ddd588 upstream: Disable SSH2_MSG_DEBUG messages for Twisted Conch clients
without version numbers since they choke on them under some circumstances.
https://twistedmatrix.com/trac/ticket/9422 via Colin Watson

Newer Conch versions have a version number in their ident string and
handle debug messages okay. https://twistedmatrix.com/trac/ticket/9424

OpenBSD-Commit-ID: 6cf7be262af0419c58ddae11324d9c0dc1577539
2018-04-17 08:51:51 +10:00
djm@openbsd.org 390c7000a8 upstream: don't free the %C expansion, it's used later for
LocalCommand

OpenBSD-Commit-ID: 857b5cb37b2d856bfdfce61289a415257a487fb1
2018-04-15 07:52:57 +10:00
djm@openbsd.org 3455f1e7c4 upstream: notify user immediately when underlying ssh process dies;
patch from Thomas Kuthan in bz2719; ok dtucker@

OpenBSD-Commit-ID: 78fac88c2f08054d1fc5162c43c24162b131cf78
2018-04-15 07:52:56 +10:00
Darren Tucker 1c5b4bc827 Allow nanosleep in preauth privsep child.
The new timing attack mitigation code uses nanosleep in the preauth
codepath, allow in systrace andbox too.
2018-04-13 16:23:57 +10:00