8 Commits

Author SHA1 Message Date
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
Shawn Iverson
b2daa97b71 Fix misspelling in agent.c (#230) 2017-10-30 15:58:35 -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
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
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
Manoj Ampalam
1ff1b07410 Run SSHD as NetworkService (#121)
PowerShell/Win32-OpenSSH#681
2017-04-24 22:02:03 -07: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
5ad8a2c358 Sources Merged from Win32 Fork 2016-12-19 14:46:28 -08:00