diff --git a/channels.c b/channels.c index e7d2a51..1738e57 100644 --- a/channels.c +++ b/channels.c @@ -101,10 +101,10 @@ #include "authfd.h" #include "pathnames.h" -#ifdef WIN32_FIXME -#define isatty(a) WSHELPisatty(a) -#define SFD_TYPE_CONSOLE 4 -#endif +//#ifdef WIN32_FIXME +//#define isatty(a) WSHELPisatty(a) +//#define SFD_TYPE_CONSOLE 4 +//#endif /* -- channel core */ @@ -1700,7 +1700,9 @@ channel_handle_rfd(Channel *c, fd_set *readset, fd_set *writeset) len = read(c->rfd, buf, sizeof(buf)); #ifdef WIN32_FIXME if (len == 0) { - if ( get_sfd_type(c->rfd) == SFD_TYPE_CONSOLE) + + //if ( get_sfd_type(c->rfd) == SFD_TYPE_CONSOLE) + if(isatty(c->rfd)) return 1; // in Win32 console read, there may be no data, but is ok } #endif @@ -2239,7 +2241,7 @@ channel_prepare_select(fd_set **readsetp, fd_set **writesetp, int *maxfdp, * Winsock can't support this sort of fdset reallocation */ -#ifndef WIN32_FIXME +#if(1)//ndef WIN32_FIXME nfdset = howmany(n+1, NFDBITS); /* Explicitly test here, because xrealloc isn't always called */ @@ -2257,7 +2259,7 @@ channel_prepare_select(fd_set **readsetp, fd_set **writesetp, int *maxfdp, *maxfdp = n; -#ifdef WIN32_FIXME +#if(0)//def WIN32_FIXME if (*readsetp == NULL) { diff --git a/clientloop.c b/clientloop.c index 6b9c60d..a8de986 100644 --- a/clientloop.c +++ b/clientloop.c @@ -118,7 +118,7 @@ #ifdef WIN32_FIXME #include -#define isatty(a) WSHELPisatty(a) +//#define isatty(a) WSHELPisatty(a) // Windows Console screen size change related extern int ScreenX; diff --git a/contrib/win32/openssh/Win32-OpenSSH.sln b/contrib/win32/openssh/Win32-OpenSSH.sln index f60058e..bcc3812 100644 --- a/contrib/win32/openssh/Win32-OpenSSH.sln +++ b/contrib/win32/openssh/Win32-OpenSSH.sln @@ -8,6 +8,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ssh", "ssh.vcxproj", "{74E6 {05E1115F-8529-46D0-AAAF-52A404CE79A7} = {05E1115F-8529-46D0-AAAF-52A404CE79A7} {8F9D3B74-8D33-448E-9762-26E8DCC6B2F4} = {8F9D3B74-8D33-448E-9762-26E8DCC6B2F4} {DD483F7D-C553-4740-BC1A-903805AD0174} = {DD483F7D-C553-4740-BC1A-903805AD0174} + {0D02F0F0-013B-4EE3-906D-86517F3822C0} = {0D02F0F0-013B-4EE3-906D-86517F3822C0} {8660C2FE-9874-432D-B047-E042BB41DBE0} = {8660C2FE-9874-432D-B047-E042BB41DBE0} EndProjectSection EndProject diff --git a/contrib/win32/openssh/libssh.vcxproj b/contrib/win32/openssh/libssh.vcxproj index 131093f..00d9f9b 100644 --- a/contrib/win32/openssh/libssh.vcxproj +++ b/contrib/win32/openssh/libssh.vcxproj @@ -73,18 +73,22 @@ $(Platform)\$(Configuration)\$(TargetName)\ $(OpenSSH-Lib-Path)$(Platform)\$(Configuration)\ + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); $(Platform)\$(Configuration)\$(TargetName)\ $(OpenSSH-Lib-Path)$(Platform)\$(Configuration)\ + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); $(OpenSSH-Lib-Path)$(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\$(TargetName)\ + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); $(OpenSSH-Lib-Path)$(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\$(TargetName)\ + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); diff --git a/contrib/win32/openssh/openbsd_compat.vcxproj b/contrib/win32/openssh/openbsd_compat.vcxproj index ed12e43..5a69ee4 100644 --- a/contrib/win32/openssh/openbsd_compat.vcxproj +++ b/contrib/win32/openssh/openbsd_compat.vcxproj @@ -180,18 +180,22 @@ $(Platform)\$(Configuration)\$(TargetName)\ $(OpenSSH-Lib-Path)$(Platform)\$(Configuration)\ + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); $(Platform)\$(Configuration)\$(TargetName)\ $(OpenSSH-Lib-Path)$(Platform)\$(Configuration)\ + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); $(OpenSSH-Lib-Path)$(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\$(TargetName)\ + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); $(OpenSSH-Lib-Path)$(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\$(TargetName)\ + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); diff --git a/contrib/win32/openssh/ssh.vcxproj b/contrib/win32/openssh/ssh.vcxproj index abab20d..b60786d 100644 --- a/contrib/win32/openssh/ssh.vcxproj +++ b/contrib/win32/openssh/ssh.vcxproj @@ -76,24 +76,28 @@ $(Platform)\$(Configuration)\$(TargetName)\ ssh $(OpenSSH-Bin-Path)$(Platform)\$(Configuration)\ + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); false $(Platform)\$(Configuration)\$(TargetName)\ ssh $(OpenSSH-Bin-Path)$(Platform)\$(Configuration)\ + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); false $(OpenSSH-Bin-Path)$(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\$(TargetName)\ ssh + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); false $(OpenSSH-Bin-Path)$(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\$(TargetName)\ ssh + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); @@ -112,7 +116,7 @@ Console true $(OpenSSH-Lib-Path)$(Platform)\$(Configuration);$(OpenSSL-Win32-Debug-Path)lib;%(AdditionalLibraryDirectories) - bcrypt.lib;Userenv.lib;Ws2_32.lib;Secur32.lib;Shlwapi.lib;openbsd_compat.lib;libssh.lib;win32compat.lib;libeay32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + win32iocompat.lib;bcrypt.lib;Userenv.lib;Ws2_32.lib;Secur32.lib;Shlwapi.lib;openbsd_compat.lib;libssh.lib;win32compat.lib;libeay32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) targetos.manifest @@ -134,7 +138,7 @@ Console true $(OpenSSH-Lib-Path)$(Platform)\$(Configuration);$(OpenSSL-x64-Debug-Path)lib;%(AdditionalLibraryDirectories) - bcrypt.lib;Userenv.lib;Ws2_32.lib;Secur32.lib;Shlwapi.lib;openbsd_compat.lib;libssh.lib;win32compat.lib;libeay32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + win32iocompat.lib;bcrypt.lib;Userenv.lib;Ws2_32.lib;Secur32.lib;Shlwapi.lib;openbsd_compat.lib;libssh.lib;win32compat.lib;libeay32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) targetos.manifest @@ -158,7 +162,7 @@ true true $(OpenSSH-Lib-Path)$(Platform)\$(Configuration);$(OpenSSL-Win32-Release-Path)lib;%(AdditionalLibraryDirectories) - bcrypt.lib;Userenv.lib;Ws2_32.lib;Secur32.lib;Shlwapi.lib;openbsd_compat.lib;libssh.lib;win32compat.lib;libeay32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + win32iocompat.lib;bcrypt.lib;Userenv.lib;Ws2_32.lib;Secur32.lib;Shlwapi.lib;openbsd_compat.lib;libssh.lib;win32compat.lib;libeay32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) targetos.manifest @@ -183,7 +187,7 @@ true true $(OpenSSH-Lib-Path)$(Platform)\$(Configuration);$(OpenSSL-x64-Release-Path)lib;%(AdditionalLibraryDirectories) - bcrypt.lib;Userenv.lib;Ws2_32.lib;Secur32.lib;Shlwapi.lib;openbsd_compat.lib;libssh.lib;win32compat.lib;libeay32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + win32iocompat.lib;bcrypt.lib;Userenv.lib;Ws2_32.lib;Secur32.lib;Shlwapi.lib;openbsd_compat.lib;libssh.lib;win32compat.lib;libeay32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) targetos.manifest diff --git a/contrib/win32/openssh/win32compat.vcxproj b/contrib/win32/openssh/win32compat.vcxproj index 874ec42..6692a87 100644 --- a/contrib/win32/openssh/win32compat.vcxproj +++ b/contrib/win32/openssh/win32compat.vcxproj @@ -70,23 +70,27 @@ $(OpenSSH-Lib-Path)$(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\$(TargetName)\ + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); $(OpenSSH-Lib-Path)$(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\$(TargetName)\ + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); $(OpenSSH-Lib-Path)$(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\$(TargetName)\ + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); $(OpenSSH-Lib-Path)$(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\$(TargetName)\ + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); Disabled - $(SolutionDir);$(OpenSSL-Win32-Debug-Path)include;$(OpenSSH-Src-Path)includes;$(OpenSSH-Src-Path);$(OpenSSH-Src-Path)contrib\win32\win32compat\includes;$(OpenSSH-Src-Path)contrib\win32\win32compat;$(OpenSSH-Src-Path)libkrb;$(OpenSSH-Src-Path)libkrb\libKrb5;%(AdditionalIncludeDirectories) + $(SolutionDir);$(OpenSSL-Win32-Debug-Path)include;$(OpenSSH-Src-Path)includes;$(OpenSSH-Src-Path);$(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(OpenSSH-Src-Path)contrib\win32\win32compat\includes;$(OpenSSH-Src-Path)contrib\win32\win32compat;$(OpenSSH-Src-Path)libkrb;$(OpenSSH-Src-Path)libkrb\libKrb5;%(AdditionalIncludeDirectories) USE_MSCNG;_WIN32_WINNT=0x501;WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions) true EnableFastChecks @@ -101,7 +105,7 @@ Disabled - $(SolutionDir);$(OpenSSL-x64-Debug-Path)include;$(OpenSSH-Src-Path)includes;$(OpenSSH-Src-Path);$(OpenSSH-Src-Path)contrib\win32\win32compat\includes;$(OpenSSH-Src-Path)contrib\win32\win32compat;$(OpenSSH-Src-Path)libkrb;$(OpenSSH-Src-Path)libkrb\libKrb5;%(AdditionalIncludeDirectories) + $(SolutionDir);$(OpenSSL-Win32-Debug-Path)include;$(OpenSSH-Src-Path)includes;$(OpenSSH-Src-Path);$(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(OpenSSH-Src-Path)contrib\win32\win32compat\includes;$(OpenSSH-Src-Path)contrib\win32\win32compat;$(OpenSSH-Src-Path)libkrb;$(OpenSSH-Src-Path)libkrb\libKrb5;%(AdditionalIncludeDirectories) USE_MSCNG;_WIN32_WINNT=0x501;WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions) EnableFastChecks MultiThreadedDebug @@ -113,7 +117,7 @@ - $(SolutionDir);$(OpenSSL-Win32-Release-Path)include;$(OpenSSH-Src-Path)includes;$(OpenSSH-Src-Path);$(OpenSSH-Src-Path)contrib\win32\win32compat\includes;$(OpenSSH-Src-Path)contrib\win32\win32compat;$(OpenSSH-Src-Path)libkrb;$(OpenSSH-Src-Path)libkrb\libKrb5;%(AdditionalIncludeDirectories) + $(SolutionDir);$(OpenSSL-Win32-Debug-Path)include;$(OpenSSH-Src-Path)includes;$(OpenSSH-Src-Path);$(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(OpenSSH-Src-Path)contrib\win32\win32compat\includes;$(OpenSSH-Src-Path)contrib\win32\win32compat;$(OpenSSH-Src-Path)libkrb;$(OpenSSH-Src-Path)libkrb\libKrb5;%(AdditionalIncludeDirectories) _LIB;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;USE_MSCNG;_WIN32_WINNT=0x501;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) MultiThreaded NotUsing @@ -124,7 +128,7 @@ - $(SolutionDir);$(OpenSSL-x64-Release-Path)include;$(OpenSSH-Src-Path)includes;$(OpenSSH-Src-Path);$(OpenSSH-Src-Path)contrib\win32\win32compat\includes;$(OpenSSH-Src-Path)contrib\win32\win32compat;$(OpenSSH-Src-Path)libkrb;$(OpenSSH-Src-Path)libkrb\libKrb5;%(AdditionalIncludeDirectories) + $(SolutionDir);$(OpenSSL-Win32-Debug-Path)include;$(OpenSSH-Src-Path)includes;$(OpenSSH-Src-Path);$(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(OpenSSH-Src-Path)contrib\win32\win32compat\includes;$(OpenSSH-Src-Path)contrib\win32\win32compat;$(OpenSSH-Src-Path)libkrb;$(OpenSSH-Src-Path)libkrb\libKrb5;%(AdditionalIncludeDirectories) _LIB;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;USE_MSCNG;_WIN32_WINNT=0x501;WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions) MultiThreaded NotUsing @@ -150,8 +154,6 @@ - - diff --git a/contrib/win32/openssh/win32compat.vcxproj.filters b/contrib/win32/openssh/win32compat.vcxproj.filters index 9f07cc8..4f54e21 100644 --- a/contrib/win32/openssh/win32compat.vcxproj.filters +++ b/contrib/win32/openssh/win32compat.vcxproj.filters @@ -54,12 +54,6 @@ Source Files - - Source Files - - - Source Files - Source Files @@ -81,10 +75,10 @@ Source Files - + Source Files - + Source Files @@ -134,8 +128,5 @@ Header Files - - Header Files - \ No newline at end of file diff --git a/contrib/win32/openssh/win32compatUnittests.vcxproj b/contrib/win32/openssh/win32compatUnittests.vcxproj index a499b59..e5367c4 100644 --- a/contrib/win32/openssh/win32compatUnittests.vcxproj +++ b/contrib/win32/openssh/win32compatUnittests.vcxproj @@ -74,27 +74,30 @@ false $(Platform)\$(Configuration)\$(TargetName)\ - ssh + win32compatUnittests $(OpenSSH-Bin-Path)$(Platform)\$(Configuration)\ + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); false $(Platform)\$(Configuration)\$(TargetName)\ win32compatUnittests $(OpenSSH-Bin-Path)$(Platform)\$(Configuration)\ - $(VC_IncludePath);$(WindowsSDK_IncludePath); + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); false $(OpenSSH-Bin-Path)$(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\$(TargetName)\ - ssh + win32compatUnittests + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); false $(OpenSSH-Bin-Path)$(Platform)\$(Configuration)\ $(Platform)\$(Configuration)\$(TargetName)\ - ssh + win32compatUnittests + $(OpenSSH-Src-Path)contrib\win32\win32compat\inc;$(VC_IncludePath);$(WindowsSDK_IncludePath); @@ -103,7 +106,8 @@ Disabled _WIN32_WINNT=0x501;WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions) false - $(OpenSSH-Src-Path)contrib\win32\win32compat\inc + + CompileAsC MultiThreadedDebug Sync @@ -126,7 +130,8 @@ Disabled _WIN32_WINNT=0x501;WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions) false - $(OpenSSH-Src-Path)contrib\win32\win32compat\inc + + CompileAsC MultiThreadedDebug ProgramDatabase @@ -150,7 +155,8 @@ true _WIN32_WINNT=0x501;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) false - $(OpenSSH-Src-Path)contrib\win32\win32compat\inc + + MultiThreaded @@ -174,7 +180,8 @@ true _WIN32_WINNT=0x501;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) false - $(OpenSSH-Src-Path)contrib\win32\win32compat\inc + + MultiThreaded true diff --git a/contrib/win32/win32compat/includes/sys/select.h b/contrib/win32/win32compat/includes/sys/select.h deleted file mode 100644 index 18192bf..0000000 --- a/contrib/win32/win32compat/includes/sys/select.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef COMPAT_SELECT_H -#define COMPAT_SELECT_H 1 - -/* Compatibility header to avoid lots of #ifdef _WIN32's in includes.h */ - -#endif diff --git a/contrib/win32/win32compat/includes/sys/socket.h b/contrib/win32/win32compat/includes/sys/socket.h deleted file mode 100644 index 8d54a60..0000000 --- a/contrib/win32/win32compat/includes/sys/socket.h +++ /dev/null @@ -1,203 +0,0 @@ -#ifndef _LIBWINSOCKHELP_SOCKET_H_ -#define _LIBWINSOCKHELP_SOCKET_H_ 1 - -/* Include the original header */ -#define WIN32_LEAN_AND_MEAN 1 -#define _WIN32_WINNT 0x501 - -#include -#include -#include -#include -#include -#include -#include - -/* Set to 1 (macros as function decl's) or 0 (simple macros) depending upon needs */ -#define NEED_FUNC_MACROS 0 - - -/* Declare our indirection functions */ -FILE* WSHELPfdopen(int sfd, const char *mode); -int WSHELPfstat(int sfd, struct stat *buf); -int WSHELPisatty (int sfd); -int WSHELPpipe(int *pfds); -int WSHELPdup (int oldfd); -int WSHELPdup2(int oldfd, int newfd); -int WSHELPopen (const char *pathname, int flags, ...); -int WSHELPwopen(const wchar_t *pathname, int flags, ...); -int WSHELPcreat (const char *pathname, int mode); -int WSHELPsocket (int af, int type, int protocol); -int WSHELPsetsockopt (int sfd, int level, int optname, const char* optval, int optlen); -int WSHELPgetsockopt(int sfd, int level, int optname, char* optval, int* optlen); -int WSHELPgetsockname(int sfd, struct sockaddr* name, int* namelen); -int WSHELPgetpeername(int sfd, struct sockaddr* name, int* namelen); -int WSHELPioctlsocket(int sfd, long cmd, u_long* argp); -int WSHELPlisten (int sfd, int backlog); -int WSHELPbind (int sfd, const struct sockaddr *name, int namelen); -int WSHELPconnect (int sfd, const struct sockaddr* name, int namelen); -int WSHELPshutdown(int sfd, int how); -int WSHELPaccept(int sfd, struct sockaddr* addr, int* addrlen); -int WSHELPselect (int sfds, fd_set* readfds, fd_set* writefds, fd_set* exceptfds, const struct timeval *timeout); - - -/* Other helpers */ -void WSHELPinitialize(); -int map_standard_descriptor(int *fd); -void allocate_standard_descriptor(int fd); - - -/* Redirect callers of socket functions to use our indirection functions */ -#if NEED_FUNC_MACROS -#define isatty(sfd) WSHELPisatty(sfd) -#define fstat(sfd, buf) WSHELPfstat(sfd, buf) -#define fdopen(sfd, mode) WSHELPfdopen(sfd, mode) -#define pipe(pfds) WSHELPpipe(pfds) -#define dup(oldfd) WSHELPdup(oldfd) -#define socket(af, type, protocol) WSHELPsocket(af, type, protocol) -#define setsockopt(sfd, level, optname, optval, optlen) WSHELPsetsockopt(sfd, level, optname, optval, optlen) -#define getsockopt(sfd, level, optname, optval, optlen) WSHELPgetsockopt(sfd, level, optname, optval, optlen) -#define getsockname(sfd, name, namelen) WSHELPgetsockname(sfd, name, namelen) -#define getpeername(sfd, name, namelen) WSHELPgetpeername(sfd, name, namelen) -#define ioctlsocket(sfd, cmd, argp) WSHELPioctlsocket(sfd, cmd, argp) -#define listen(sfd, backlog) WSHELPlisten(sfd, backlog) -#define bind(sfd, name, namelen) WSHELPbind(sfd, name, namelen) -#define connect(sfd, name, namelen) WSHELPconnect(sfd, name, namelen) -#define shutdown(sfd, how) WSHELPshutdown(sfd, how) -#define accept(sfd, addr, addrlen) WSHELPaccept(sfd, addr, addrlen) -#define select(sfds, readsfds, writesfds, exceptsfds, timeout) WSHELPselect(sfds, readsfds, writesfds, exceptsfds, timeout) -#else /* NEED_FUNC_MACROS */ -//#define isatty WSHELPisatty -#define fstat WSHELPfstat -#define fdopen WSHELPfdopen -#define pipe WSHELPpipe -#define socket WSHELPsocket -#define dup WSHELPdup -#define dup2 WSHELPdup2 -#define open WSHELPopen -#define creat WSHELPcreat -#define setsockopt WSHELPsetsockopt -#define getsockopt WSHELPgetsockopt -#define getsockname WSHELPgetsockname -#define getpeername WSHELPgetpeername -#define ioctlsocket WSHELPioctlsocket -#define listen WSHELPlisten -#define bind WSHELPbind -#define connect WSHELPconnect -#define shutdown WSHELPshutdown -#define accept WSHELPaccept -#define select WSHELPselect -#endif /* NEED_FUNC_MACROS */ - -/* Declare new functions */ -int socketpair(int socks[2]); - -/* Debug helpers */ -void debug_sfd(int sfd); - -/* Include the original header */ -#include - -/* Declare our indirection functions */ -int WSHELPread(int sfd, void *dst, unsigned int max); -int WSHELPwrite(int sfd, const void *buf, unsigned int max); -int WSHELPclose(int sfd); - -/* Redirect callers of io functions to use our indirection functions */ -#if NEED_FUNC_MACROS -#define read(fd, dst, max) WSHELPread(fd, dst, max) -#define write(fd, buf, max) WSHELPwrite(fd, buf, max) -#define close(fd) WSHELPclose(fd) -#else /* NEED_FUNC_MACROS */ -#define read WSHELPread -#define write WSHELPwrite -#define close WSHELPclose -#endif /* NEED_FUNC_MACROS */ - -#ifndef sleep -#define sleep(a) Sleep(1000 * a) -#endif - -/* Shutdown constants */ -#define SHUT_WR SD_SEND -#define SHUT_RD SD_RECEIVE -#define SHUT_RDWR SD_BOTH - -/* Other constants */ -#define IN_LOOPBACKNET 127 /* 127.* is the loopback network */ -#define MAXHOSTNAMELEN 64 - - -/* Errno helpers */ -#ifndef ENETDOWN -#define ENETDOWN WSAENETDOWN -#endif -#ifndef EAFNOSUPPORT -#define EAFNOSUPPORT WSAEAFNOSUPPORT -#endif -#ifndef EINPROGRESS -#define EINPROGRESS WSAEINPROGRESS -#endif -#ifndef EXX -#define EXX WSAEMFILE -#endif -#ifndef EXX1 -#define EXX1 WSAENOBUFS -#endif -#ifndef EPROTONOSUPPORT -#define EPROTONOSUPPORT WSAEPROTONOSUPPORT -#endif -#ifndef EPROTOTYPE -#define EPROTOTYPE WSAEPROTOTYPE -#endif -#ifndef ESOCKTNOSUPPORT -#define ESOCKTNOSUPPORT WSAESOCKTNOSUPPORT -#endif -#ifndef EADDRINUSE -#define EADDRINUSE WSAEADDRINUSE -#endif -#ifndef EISCONN -#define EISCONN WSAEISCONN -#endif -#ifndef ENOTSOCK -#define ENOTSOCK WSAENOTSOCK -#endif -#ifndef EOPNOTSUPP -#define EOPNOTSUPP WSAENOTSUPP -#endif -#ifndef EALREADY -#define EALREADY WSAEALREADY -#endif -#ifndef ECONNREFUSED -#define ECONNREFUSED WSAECONNREFUSED -#endif -#ifndef ENOTUNREACH -#define ENOTUNREACH WSAENOTUNREACH -#endif -#ifndef EHOSTUNREACH -#define EHOSTUNREACH WSAEHOSTUNREACH -#endif -#ifndef ETIMEDOUT -#define ETIMEDOUT WSAETIMEDOUT -#endif -#ifndef EWOULDBLOCK -#define EWOULDBLOCK WSAEWOULDBLOCK -#endif -#ifndef EACCES -#define EACCES WSAEACCESS -#endif -#ifndef ECONNRESET -#define ECONNRESET WSAECONNRESET -#endif -#ifndef ENOPROTOOPT -#define ENOPROTOOPT WSAENOPROTOOPT -#endif -#ifndef EPFNOSUPPORT -#define EPFNOSUPPORT WSAEPFNOSUPPORT -#endif -#ifndef ENOTCONN -#define ENOTCONN WSAENOTCONN -#endif - - -#endif diff --git a/contrib/win32/win32compat/includes/unistd.h b/contrib/win32/win32compat/includes/unistd.h deleted file mode 100644 index 15ec26f..0000000 --- a/contrib/win32/win32compat/includes/unistd.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef COMPAT_UNISTD_H -#define COMPAT_UNISTD_H 1 - - -/* Compatibility header to avoid lots of #ifdefs in includes.h on Win32 */ - -#include -#include -#include - -/* We can't put these in string.h since we can't easily override that header, so here they are */ -#if !defined(HAVE_STRCASECMP) && !defined(__MINGW32__) -size_t strcasecmp(const char *left, const char *right); -#endif - -#if !defined(HAVE_STRNCASECMP) && !defined(__MINGW32__) -size_t strncasecmp(const char *left, const char *right, size_t n); -#endif - -int gettimeofday (struct timeval *tv, void *tz); -/* End of prototypes in the wrong file */ - -#endif diff --git a/contrib/win32/win32compat/tncon.c b/contrib/win32/win32compat/tncon.c index ac5be48..2b82e12 100644 --- a/contrib/win32/win32compat/tncon.c +++ b/contrib/win32/win32compat/tncon.c @@ -88,8 +88,8 @@ void ConInputInitParams(void) SetConsoleMode(hInput, (dwMode & ~(ENABLE_LINE_INPUT | ENABLE_ECHO_INPUT | ENABLE_PROCESSED_INPUT | ENABLE_MOUSE_INPUT)) | ENABLE_WINDOW_INPUT ); - extern int glob_itissshclient; - glob_itissshclient = 1; // tell our contrib/win32/win32compat/socket.c code it is for ssh client side + //extern int glob_itissshclient; + //glob_itissshclient = 1; // tell our contrib/win32/win32compat/socket.c code it is for ssh client side } diff --git a/includes.h b/includes.h index 7bc7fb6..aba1b91 100644 --- a/includes.h +++ b/includes.h @@ -24,7 +24,7 @@ #ifdef WIN32 #undef __USE_W32_SOCKETS - #include + //#include #include #endif @@ -189,10 +189,10 @@ #include "entropy.h" -#ifdef WIN32_FIXME - #define signal(X, Y) - #define alarm(X) - #define mysignal(X, Y) -#endif +//#ifdef WIN32_FIXME +// #define signal(X, Y) +// #define alarm(X) +// #define mysignal(X, Y) +//#endif #endif /* INCLUDES_H */ diff --git a/nchan.c b/nchan.c index 8d9d132..218595d 100644 --- a/nchan.c +++ b/nchan.c @@ -77,7 +77,7 @@ #ifdef WIN32_FIXME - void StopSocketThreads(); + //void StopSocketThreads(); #endif @@ -136,7 +136,7 @@ chan_rcvd_oclose1(Channel *c) #ifdef WIN32_FIXME - StopSocketThreads(); + //StopSocketThreads(); #endif diff --git a/packet.c b/packet.c index dd6984e..889d76c 100644 --- a/packet.c +++ b/packet.c @@ -1314,7 +1314,7 @@ ssh_packet_read_seqnr(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p) struct timeval timeout, start, *timeoutp = NULL; DBG(debug("packet_read()")); -#ifndef WIN32_FIXME +#if(1)//ndef WIN32_FIXME setp = calloc(howmany(state->connection_in + 1, NFDBITS), sizeof(fd_mask)); #else @@ -1352,7 +1352,7 @@ ssh_packet_read_seqnr(struct ssh *ssh, u_char *typep, u_int32_t *seqnr_p) * Otherwise, wait for some data to arrive, add it to the * buffer, and try again. */ -#ifndef WIN32_FIXME +#if(1)//ndef WIN32_FIXME memset(setp, 0, howmany(state->connection_in + 1, NFDBITS) * sizeof(fd_mask)); #else @@ -2092,7 +2092,7 @@ ssh_packet_write_wait(struct ssh *ssh) int ret, r, ms_remain = 0; struct timeval start, timeout, *timeoutp = NULL; struct session_state *state = ssh->state; -#ifndef WIN32_FIXME +#if(1)//ndef WIN32_FIXME setp = calloc(howmany(state->connection_out + 1, NFDBITS), sizeof(fd_mask)); #else @@ -2104,7 +2104,7 @@ ssh_packet_write_wait(struct ssh *ssh) return SSH_ERR_ALLOC_FAIL; ssh_packet_write_poll(ssh); while (ssh_packet_have_data_to_write(ssh)) { -#ifndef WIN32_FIXME +#if(1)//ndef WIN32_FIXME memset(setp, 0, howmany(state->connection_out + 1, NFDBITS) * sizeof(fd_mask)); #else diff --git a/readpass.c b/readpass.c index e19c191..473986a 100644 --- a/readpass.c +++ b/readpass.c @@ -52,9 +52,9 @@ #include #include - extern int PassInputFd; + //extern int PassInputFd; extern int PassOutputFd; - extern int PassErrorFd; + //extern int PassErrorFd; #endif @@ -335,7 +335,7 @@ read_passphrase(const char *prompt, int flags) * Show prompt for user. */ - _write(PassErrorFd, prompt, strlen(prompt)); + write(STDERR_FILENO, prompt, strlen(prompt)); len = retr = 0; int bufsize = sizeof(buf); @@ -368,7 +368,7 @@ read_passphrase(const char *prompt, int flags) } buf[len] = '\0' ; // get rid of the cr/lf - _write(PassErrorFd,"\n", strlen("\n")); // show a newline as we do not echo password or the line + write(STDERR_FILENO,"\n", strlen("\n")); // show a newline as we do not echo password or the line ret = xstrdup(buf); diff --git a/serverloop.c b/serverloop.c index f5ee00f..81730fe 100644 --- a/serverloop.c +++ b/serverloop.c @@ -91,7 +91,7 @@ #include "ssherr.h" #ifdef WIN32_FIXME -#define isatty(a) WSHELPisatty(a) +//#define isatty(a) WSHELPisatty(a) #endif extern ServerOptions options; diff --git a/sftp-server.c b/sftp-server.c index 2bc941e..29b0f55 100644 --- a/sftp-server.c +++ b/sftp-server.c @@ -85,7 +85,7 @@ #include - #define isatty(a) WSHELPisatty(a) + // #define isatty(a) WSHELPisatty(a) #define mkdir(a, b) _mkdir(a) diff --git a/ssh.c b/ssh.c index d07950b..b6bb639 100644 --- a/ssh.c +++ b/ssh.c @@ -117,14 +117,14 @@ #ifdef WIN32_FIXME #include - #define isatty(a) WSHELPisatty(a) + //#define isatty(a) WSHELPisatty(a) #define mkdir(a, b) _mkdir(a) extern HANDLE proxy_command_handle; extern DWORD proxy_command_pid; - extern int PassInputFd; - extern int PassOutputFd; + //extern int PassInputFd; + //extern int PassOutputFd; char dotsshdir[MAX_PATH]; @@ -640,11 +640,11 @@ main(int ac, char **av) * Initialize wrapped stdio. */ - WSHELPinitialize(); + w32posix_initialize(); - allocate_standard_descriptor(STDIN_FILENO); + /* allocate_standard_descriptor(STDIN_FILENO); allocate_standard_descriptor(STDOUT_FILENO); - allocate_standard_descriptor(STDERR_FILENO); + allocate_standard_descriptor(STDERR_FILENO);*/ #endif @@ -1082,15 +1082,15 @@ main(int ac, char **av) if (options.passInputHandle_) { debug3("Redirecting pass input to %d...\n", options.passInputHandle_); - - PassInputFd = _open_osfhandle(options.passInputHandle_, O_RDONLY); + abort(); + //PassInputFd = _open_osfhandle(options.passInputHandle_, O_RDONLY); } if (options.passOutputHandle_) { debug3("Redirecting pass prompt output to %d...\n", options.passOutputHandle_); - - PassOutputFd = _open_osfhandle(options.passOutputHandle_, O_WRONLY); + abort(); + //PassOutputFd = _open_osfhandle(options.passOutputHandle_, O_WRONLY); } // create various Windows user home directory based file names @@ -1544,8 +1544,8 @@ main(int ac, char **av) ConInit( STD_OUTPUT_HANDLE, TRUE ); //init the output console surface for us to write } else { - extern int glob_itissshclient; - glob_itissshclient = 1; // tell our contrib/win32/win32compat/socket.c code it is for ssh client side + //extern int glob_itissshclient; + //glob_itissshclient = 1; // tell our contrib/win32/win32compat/socket.c code it is for ssh client side } #endif @@ -2066,8 +2066,8 @@ ssh_session2_open(void) #ifdef WIN32_FIXME else { // make stdio duplicated ports of above binary mode so no CRLF xlate - _setmode(sfd_to_fd(in), O_BINARY); - _setmode(sfd_to_fd(out), O_BINARY); + //_setmode(sfd_to_fd(in), O_BINARY); + //_setmode(sfd_to_fd(out), O_BINARY); } #endif diff --git a/sshconnect.c b/sshconnect.c index 2608602..a7d0ae5 100644 --- a/sshconnect.c +++ b/sshconnect.c @@ -239,8 +239,8 @@ ssh_proxy_connect(const char *host, u_short port, const char *proxy_command) debug("Creating socket pairs for proxy process..."); - socketpair(sockin); - socketpair(sockout); + pipe(sockin); + pipe(sockout); debug("sockin[0]: %d sockin[1]: %d", sockin[0], sockin[1]); debug("sockout[0]: %d sockout[1]: %d", sockout[0], sockout[1]); @@ -492,7 +492,7 @@ timeout_connect(int sockfd, const struct sockaddr *serv_addr, goto done; } -#ifndef WIN32_FIXME +#if(1)//ndef WIN32_FIXME fdset = xcalloc(howmany(sockfd + 1, NFDBITS), sizeof(fd_mask)); #else