Commit d3579e40 authored by deuce's avatar deuce
Browse files

Update Cryptlib to 3.4.5

This versions has a lot more assumptions that the whole world runs Linux
in it, and just a small number of perviously reported bugs actually fixed.

I think the patch count has actually gone up rather than down for this.

As it turns out, the thing I was trying to fix (https://pskreporter.info not
working with HTTP.js) is not fixed in the new version and was just yet
another abitrary undocumented limit being hit.

This *may* break anything crypto-releated, though it seems to work on FreeBSD
fine.  Win32 build not tested since Digital Man provides precompiled libs
for that, and mingw32 builds not yet tested.

Please report any *NEW* crypto-related issues after getting this to work.

Oh yeah, it also looks like the cryptlib dependency for Synchronet got
broken somewhere, so the easiest way to rebuild with the new cryptlib is
to build SyncTERM first.  I'll try to get this one fixed soonish.
parent e766f07f
--- tools/ccopts.sh.orig 2017-07-11 01:21:48.000000000 -0400
+++ tools/ccopts.sh 2018-01-03 02:46:02.958592000 -0500
@@ -159,6 +159,7 @@
# checking if this is set.
HASDYNLOAD=0
+DISABLE_AUTODETECT=1
case $OSNAME in
'Darwin'|'Linux'|'FreeBSD')
HASDYNLOAD=1 ;;
@@ -204,7 +205,7 @@
CCARGS="$CCARGS -DNCIPHER_PKCS11" ;
fi
fi
-if [ -f /usr/include/zlib.h ] ; then
+if [ -f /usr/include/zlib.h -a 0 = 3 ] ; then
echo " (Enabling use of system zlib)." >&2 ;
CCARGS="$CCARGS -DHAS_ZLIB" ;
fi
@@ -302,7 +303,6 @@
--- ../tmp2/tools/ccopts.sh 2019-03-04 16:32:32.000000000 -0500
+++ tools/ccopts.sh 2019-06-03 16:56:55.005703000 -0400
@@ -393,7 +393,6 @@
# of large-displacement jumps, so if you're tuning the code for size/speed
# you can try -fpic to see if you get any improvement.
-if [ $# -eq 2 ] ; then
-if [ $SHARED -gt 0 ] ; then
case $OSNAME in
'Darwin')
CCARGS="$CCARGS -fPIC -fno-common" ;;
@@ -329,7 +329,6 @@
@@ -420,7 +419,6 @@
*)
CCARGS="$CCARGS -fPIC" ;;
esac ;
......@@ -33,15 +16,3 @@
# Conversely, if we're building a static lib and the system requires it, set
# up static lib-specific options.
@@ -643,9 +642,9 @@
# '--param=ssp-buffer-size=4' (the default size is 8), but this isn't
# necessary for cryptlib since it doesn't allocate any 4-byte buffers.
-if [ "$GCC_VER" -ge 49 ] ; then
+if [ "$GCC_VER" -ge 49 -a 1 = 3 ] ; then
CCARGS="$CCARGS -fstack-protector-strong -D_FORTIFY_SOURCE=2" ;
-elif [ "$GCC_VER" -ge 42 ] ; then
+elif [ "$GCC_VER" -ge 42 -a 1 = 3 ] ; then
if [ "$($CC -fstack-protector -S -o /dev/null -xc /dev/null 2>&1 | grep -c "unrecog")" -eq 0 ] ; then
CCARGS="$CCARGS -fstack-protector" ;
fi ;
......@@ -67,30 +67,29 @@ $(CRYPT_SRC): | $(3RDPSRCDIR)
$(CRYPT_IDIR): | $(3RDPODIR)
$(QUIET)$(IFNOTEXIST) mkdir $(CRYPT_IDIR)
$(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)build/SSL-fix.patch $(3RDP_ROOT)$(DIRSEP)build/Dynamic-linked-static-lib.patch $(3RDP_ROOT)$(DIRSEP)build/terminal-params.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw32-static.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ranlib.patch $(3RDP_ROOT)$(DIRSEP)build/cl-PAM-noprompts.patch $(3RDP_ROOT)$(DIRSEP)build/cl-getseed64.patch $(3RDP_ROOT)$(DIRSEP)build/cl-endian.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-compile.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-compile2.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-noasm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zz-country.patch $(3RDP_ROOT)$(DIRSEP)build/cl-algorithms.patch $(3RDP_ROOT)$(DIRSEP)build/cl-allow-duplicate-ext.patch $(3RDP_ROOT)$(DIRSEP)build/cl-select-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-short-client-name.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bn_div2.patch $(3RDP_ROOT)$(DIRSEP)build/cl-macosx-minver.patch | $(CRYPT_SRC) $(CRYPT_IDIR)
$(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)build/terminal-params.patch $(3RDP_ROOT)$(DIRSEP)build/cl-mingw32-static.patch $(3RDP_ROOT)$(DIRSEP)build/cl-ranlib.patch $(3RDP_ROOT)$(DIRSEP)build/cl-win32-noasm.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zz-country.patch $(3RDP_ROOT)$(DIRSEP)build/cl-algorithms.patch $(3RDP_ROOT)$(DIRSEP)build/cl-allow-duplicate-ext.patch $(3RDP_ROOT)$(DIRSEP)build/cl-macosx-minver.patch $(3RDP_ROOT)$(DIRSEP)build/cl-endian.patch $(3RDP_ROOT)$(DIRSEP)build/cl-cryptodev.patch $(3RDP_ROOT)$(DIRSEP)build/cl-posix-me-gently.patch $(3RDP_ROOT)$(DIRSEP)build/cl-tpm-linux.patch $(3RDP_ROOT)$(DIRSEP)build/cl-PAM-noprompts.patch $(3RDP_ROOT)$(DIRSEP)build/cl-zlib.patch $(3RDP_ROOT)$(DIRSEP)build/Dynamic-linked-static-lib.patch $(3RDP_ROOT)$(DIRSEP)build/SSL-fix.patch $(3RDP_ROOT)$(DIRSEP)build/cl-bigger-maxattribute.patch $(3RDP_ROOT)$(DIRSEP)build/cl-vcxproj.patch | $(CRYPT_SRC) $(CRYPT_IDIR)
@echo Creating $@ ...
$(QUIET)-rm -rf $(CRYPT_SRC)/*
$(QUIET)unzip -oa $(3RDPDISTDIR)$(DIRSEP)cryptlib.zip -d $(CRYPT_SRC)
$(QUIET)perl -pi.bak -e 's/\r//' $(CRYPT_SRC)/crypt32.vcxproj
$(QUIET)patch -p0 -d $(CRYPT_SRC) < SSL-fix.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < Dynamic-linked-static-lib.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < terminal-params.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-mingw32-static.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-ranlib.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-vcxproj.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-PAM-noprompts.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-getseed64.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-endian.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-win32-compile.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-win32-compile2.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-win32-noasm.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-zz-country.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-algorithms.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-allow-duplicate-ext.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-select-fix.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-short-client-name.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-bn_div2.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-macosx-minver.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-cryptodev.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-posix-me-gently.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-tpm-linux.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-PAM-noprompts.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-zlib.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < Dynamic-linked-static-lib.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < SSL-fix.patch
$(QUIET)patch -p0 -d $(CRYPT_SRC) < cl-bigger-maxattribute.patch
ifeq ($(CC),mingw32-gcc)
$(QUIET)cd $(CRYPT_SRC) && env - PATH="$(PATH)" CC="$(CC)" AR="$(AR)" RANLIB="$(RANLIB)" make directories
$(QUIET)cd $(CRYPT_SRC) && env - PATH="$(PATH)" CC="$(CC)" AR="$(AR)" RANLIB="$(RANLIB)" make toolscripts
......
--- session/sess_attr.c.orig 2017-07-27 17:58:38.000000000 -0400
+++ session/sess_attr.c 2018-01-03 01:44:45.682545000 -0500
@@ -103,11 +103,13 @@
then we can't set a server name as well */
if( sessionInfoPtr->transportSession != CRYPT_ERROR )
return( exitErrorInited( sessionInfoPtr, CRYPT_SESSINFO_SESSION ) );
--- ../tmp2/session/sess_attr.c 2019-02-05 18:18:28.000000000 -0500
+++ session/sess_attr.c 2019-06-03 17:06:34.378151000 -0400
@@ -102,11 +102,13 @@
/* If there's already a network socket specified then we can't set a
server name as well */
+/*
if( sessionInfoPtr->networkSocket != CRYPT_ERROR )
{
......
--- session/ssh2_authc.c.orig 2017-01-18 22:42:06.000000000 -0500
+++ session/ssh2_authc.c 2018-01-03 01:24:48.768379000 -0500
@@ -530,7 +530,7 @@
--- ../tmp2/session/ssh2_authc.c 2018-12-14 17:31:34.000000000 -0500
+++ session/ssh2_authc.c 2019-06-03 16:41:49.956986000 -0400
@@ -868,7 +868,7 @@
if( !cryptStatusError( status ) )
{
status = CRYPT_OK; /* readUint32() returns a count value */
......@@ -9,7 +9,7 @@
{
/* Requesting zero or more than a small number of prompts is
suspicious */
@@ -538,46 +538,49 @@
@@ -876,49 +876,52 @@
}
}
}
......@@ -17,21 +17,27 @@
+ if( noPrompts > 0 )
{
- status = readString32( &stream, promptBuffer,
- CRYPT_MAX_TEXTSIZE, &promptLength );
- if( cryptStatusOK( status ) && promptLength <= 0 )
+ if( cryptStatusOK( status ) )
{
- /* We must have at least some sort of prompt given that we
- require num_prompts to be nonzero */
- status = CRYPT_ERROR_BADDATA;
+ {
+ status = readString32( &stream, promptBuffer,
+ CRYPT_MAX_TEXTSIZE, &promptLength );
CRYPT_MAX_TEXTSIZE, &promptLength );
- if( cryptStatusOK( status ) && promptLength <= 0 )
+ if( cryptStatusOK( status ) && promptLength <= 0 )
+ {
+ /* We must have at least some sort of prompt given that we
+ require num_prompts to be nonzero */
+ status = CRYPT_ERROR_BADDATA;
+ }
+ }
+ sMemDisconnect( &stream );
+ if( cryptStatusError( status ) )
{
- /* We must have at least some sort of prompt given that we
- require num_prompts to be nonzero */
- status = CRYPT_ERROR_BADDATA;
+ retExt( status,
+ ( status, SESSION_ERRINFO,
+ "Invalid PAM authentication request packet" ) );
}
- }
- sMemDisconnect( &stream );
......@@ -41,13 +47,10 @@
- ( status, SESSION_ERRINFO,
- "Invalid PAM authentication request packet" ) );
- }
+ sMemDisconnect( &stream );
+ if( cryptStatusError( status ) )
+ {
+ retExt( status,
+ ( status, SESSION_ERRINFO,
+ "Invalid PAM authentication request packet" ) );
+ }
- REQUIRES( nameLength >= 0 && nameLength <= CRYPT_MAX_TEXTSIZE );
- REQUIRES( promptLength >= 1 && promptLength <= CRYPT_MAX_TEXTSIZE );
+ REQUIRES( nameLength >= 0 && nameLength <= CRYPT_MAX_TEXTSIZE );
+ REQUIRES( promptLength >= 1 && promptLength <= CRYPT_MAX_TEXTSIZE );
- /* Make sure that we're being asked for some form of password
- authentication. This assumes that the prompt string begins with the
......@@ -70,6 +73,7 @@
- nameLength ) : \
- sanitiseString( promptBuffer, CRYPT_MAX_TEXTSIZE, \
- promptLength ) ) );
- }
+ /* Make sure that we're being asked for some form of password
+ authentication. This assumes that the prompt string begins with the
+ word "password" (which always seems to be the case), if it isn't then
......@@ -92,6 +96,7 @@
+ sanitiseString( promptBuffer, CRYPT_MAX_TEXTSIZE, \
+ promptLength ) ) );
+ }
}
+ }
REQUIRES( passwordPtr != NULL && \
passwordPtr->valueLength > 0 && \
--- misc/config.h.orig 2018-02-15 02:26:59.017103000 -0500
+++ misc/config.h 2018-02-15 02:27:50.400787000 -0500
@@ -9,6 +9,8 @@
@@ -9,6 +9,9 @@
#define _CONFIG_DEFINED
+#define USE_PROBLEMATIC_ALGORITHMS
+#define USE_SSH_EXTENDED
+#define USE_CERTLEVEL_STANDARD
/****************************************************************************
* *
* Custom Configuration Profiles *
--- ../tmp2/tools/ccopts.sh 2019-03-04 16:32:32.000000000 -0500
+++ tools/ccopts.sh 2019-06-03 16:22:10.631518000 -0400
@@ -250,13 +250,13 @@
done
# /dev/crypto support
- for includepath in $DEVCRYPTOPATHS ; do
- if [ -f $includepath ] ; then
- echo "/dev/crypto interface detected, enabling crypto hardware support." >&2 ;
- CCARGS="$CCARGS -DHAS_DEVCRYPTO -I"$(dirname $includepath)"" ;
- break ;
- fi
- done
+ #for includepath in $DEVCRYPTOPATHS ; do
+ # if [ -f $includepath ] ; then
+ # echo "/dev/crypto interface detected, enabling crypto hardware support." >&2 ;
+ # CCARGS="$CCARGS -DHAS_DEVCRYPTO -I"$(dirname $includepath)"" ;
+ # break ;
+ # fi
+ #done
fi
if [ -f /usr/include/zlib.h ] ; then
--- misc/os_spec.h.orig 2018-01-10 01:39:04.000000000 -0500
+++ misc/os_spec.h 2018-01-29 18:20:02.023299000 -0500
@@ -223,10 +223,11 @@
preprocessors get confused if they aren't defined */
#define VC_16BIT( version ) 0
#define VC_LE_VC6( version ) 0
- #define VC_GE_2002( version ) 0
- #define VC_LT_2005( version ) 0
+ #define VC_GE_2002( version ) 1
+ #define VC_LT_2005( version ) 1
#define VC_GE_2005( version ) 0
#define VC_GE_2008( version ) 0
+ #define VC_LT_2010( version ) 1
#define VC_GE_2010( version ) 0
#define VC_GE_2012( version ) 0
#define VC_GE_2013( version ) 0
@@ -947,6 +948,9 @@
--- misc/os_detect.h.orig 2019-06-03 15:44:11.100399000 -0400
+++ misc/os_detect.h 2019-06-03 15:44:27.559718000 -0400
@@ -566,6 +566,8 @@
#include <machine/endian.h>
#elif defined( __NetBSD__ )
#include <sys/endian.h>
+ #elif defined( __FreeBSD__ )
+ #include <sys/endian.h>
+ #elif defined(__MINGW32__)
#else
#include <endian.h>
#endif /* Apple vs. everyone else */
--- ../tmp2/crypt.h 2019-01-31 14:52:00.000000000 -0500
+++ crypt.h 2019-06-03 16:26:35.672044000 -0400
@@ -79,7 +79,7 @@
#ifndef _POSIX_C_SOURCE
#if defined( __xlc__ ) || defined( __IBMC__ )
#define _POSIX_C_SOURCE 200112L /* Posix 2001 */
- #elif defined( __GNUC__ )
+ #elif defined( __GNUC__ ) && defined( __linux__ )
#define _POSIX_C_SOURCE 200809L /* Posix 2008 */
#define _DEFAULT_SOURCE 1 /* See note above */
#define _BSD_SOURCE 1 /* Undo breakage */
--- ../tmp2/tools/ccopts.sh 2019-03-04 16:32:32.000000000 -0500
+++ tools/ccopts.sh 2019-06-03 16:30:45.060050000 -0400
@@ -241,13 +241,15 @@
done
# TPM support
- for includepath in $TPMPATHS ; do
- if [ -f $includepath ] ; then
- echo "TPM interface detected, enabling TPM support." >&2 ;
- CCARGS="$CCARGS -DHAS_TPM -I"$(dirname $includepath)"" ;
- break ;
- fi
- done
+ if [ "$(uname -s)" = "Linux" ] ; then
+ for includepath in $TPMPATHS ; do
+ if [ -f $includepath ] ; then
+ echo "TPM interface detected, enabling TPM support." >&2 ;
+ CCARGS="$CCARGS -DHAS_TPM -I"$(dirname $includepath)"" ;
+ break ;
+ fi
+ done
+ fi
# /dev/crypto support
for includepath in $DEVCRYPTOPATHS ; do
--- ../tmp2/tools/ccopts.sh 2019-03-04 16:32:32.000000000 -0500
+++ tools/ccopts.sh 2019-06-03 16:50:00.486529000 -0400
@@ -259,10 +259,10 @@
done
fi
-if [ -f /usr/include/zlib.h ] ; then
- echo " (Enabling use of system zlib)." >&2 ;
- CCARGS="$CCARGS -DHAS_ZLIB" ;
-fi
+#if [ -f /usr/include/zlib.h ] ; then
+# echo " (Enabling use of system zlib)." >&2 ;
+# CCARGS="$CCARGS -DHAS_ZLIB" ;
+#fi
# If we're building a development or analysis build, enable various unsafe
# options that are normally disabled by default
diff -ur ../cl.patched/cryptlib.h ./cryptlib.h
--- ../cl.patched/cryptlib.h 2014-06-20 12:40:45.000000000 -0700
+++ ./cryptlib.h 2014-06-20 12:47:00.000000000 -0700
@@ -1237,6 +1237,11 @@
CRYPT_SESSINFO_SSL_OPTIONS, /* SSL/TLS protocol options */
diff -ur ../tmp2/cryptlib.h ./cryptlib.h
--- ../tmp2/cryptlib.h 2019-02-22 03:16:30.000000000 -0500
+++ ./cryptlib.h 2019-06-03 15:26:26.741166000 -0400
@@ -1222,6 +1222,11 @@
CRYPT_SESSINFO_SSL_EAPKEY, /* SSL/TLS EAP key */
CRYPT_SESSINFO_TSP_MSGIMPRINT, /* TSP message imprint */
+ /* Terminal attributes */
......@@ -13,10 +13,10 @@ diff -ur ../cl.patched/cryptlib.h ./cryptlib.h
/* Used internally */
CRYPT_SESSINFO_LAST, CRYPT_USERINFO_FIRST = 7000,
diff -ur ../cl.patched/kernel/attr_acl.c ./kernel/attr_acl.c
--- ../cl.patched/kernel/attr_acl.c 2014-06-20 12:40:39.000000000 -0700
+++ ./kernel/attr_acl.c 2014-06-20 20:32:54.000000000 -0700
@@ -3742,6 +3742,25 @@
diff -ur ../tmp2/kernel/attr_acl.c ./kernel/attr_acl.c
--- ../tmp2/kernel/attr_acl.c 2019-02-05 18:16:32.000000000 -0500
+++ ./kernel/attr_acl.c 2019-06-03 15:26:26.745123000 -0400
@@ -3768,6 +3768,25 @@
MKPERM_TSP( xWD_xWD ),
ROUTE( OBJECT_TYPE_SESSION ), &objectCtxHash ),
......@@ -41,28 +41,19 @@ diff -ur ../cl.patched/kernel/attr_acl.c ./kernel/attr_acl.c
+
MKACL_END(), MKACL_END()
};
diff -ur ../cl.patched/session/sess_attr.c ./session/sess_attr.c
--- ../cl.patched/session/sess_attr.c 2014-06-20 12:40:41.000000000 -0700
+++ ./session/sess_attr.c 2014-06-20 20:33:27.000000000 -0700
@@ -323,6 +323,8 @@
TRUE : FALSE;
return( CRYPT_OK );
+ case CRYPT_SESSINFO_SSH_WIDTH:
+ case CRYPT_SESSINFO_SSH_HEIGHT:
case CRYPT_SESSINFO_SERVER_PORT:
case CRYPT_SESSINFO_CLIENT_PORT:
{
@@ -392,6 +394,7 @@
#endif /* USE_SESSIONS */
diff -ur ../tmp2/session/sess_attr.c ./session/sess_attr.c
--- ../tmp2/session/sess_attr.c 2019-02-05 18:18:28.000000000 -0500
+++ ./session/sess_attr.c 2019-06-03 15:26:26.746525000 -0400
@@ -639,6 +639,7 @@
return( CRYPT_ERROR_NOTFOUND );
}
+ case CRYPT_SESSINFO_SSH_TERMINAL:
case CRYPT_SESSINFO_USERNAME:
case CRYPT_SESSINFO_PASSWORD:
case CRYPT_SESSINFO_SERVER_FINGERPRINT_SHA1:
@@ -532,6 +535,13 @@
/* If the session was resumed from cached information then the
@@ -797,6 +798,13 @@
return( status );
}
......@@ -74,30 +65,30 @@ diff -ur ../cl.patched/session/sess_attr.c ./session/sess_attr.c
+ CRYPT_SESSINFO_SSH_HEIGHT, value ) );
+
case CRYPT_SESSINFO_SERVER_PORT:
/* If there's already a transport session or network socket
specified then we can't set a port as well */
@@ -883,6 +893,7 @@
attribute, data, dataLength, flags ) );
}
/* If there's already a network socket specified then we can't
set a port as well */
@@ -954,6 +964,9 @@
return( addCredential( sessionInfoPtr, data, dataLength,
attribute ) );
+ case CRYPT_SESSINFO_SSH_TERMINAL:
+ case CRYPT_SESSINFO_SSH_WIDTH:
+ case CRYPT_SESSINFO_SSH_HEIGHT:
case CRYPT_SESSINFO_SERVER_FINGERPRINT_SHA1:
/* Remember the value */
return( addSessionInfoS( sessionInfoPtr,
@@ -938,6 +949,9 @@
return( addSessionInfoS( sessionInfoPtr, attribute, data,
@@ -1016,6 +1027,7 @@
sessionInfoPtr->writeTimeout = CRYPT_ERROR;
return( CRYPT_OK );
+ case CRYPT_SESSINFO_SSH_TERMINAL:
+ case CRYPT_SESSINFO_SSH_WIDTH:
+ case CRYPT_SESSINFO_SSH_HEIGHT:
case CRYPT_SESSINFO_USERNAME:
case CRYPT_SESSINFO_PASSWORD:
case CRYPT_SESSINFO_SERVER_NAME:
diff -ur ../cl.patched/session/ssh2_msgc.c ./session/ssh2_msgc.c
--- ../cl.patched/session/ssh2_msgc.c 2014-06-20 12:40:41.000000000 -0700
+++ ./session/ssh2_msgc.c 2014-06-20 20:36:36.000000000 -0700
@@ -447,6 +447,12 @@
diff -ur ../tmp2/session/ssh2_msgc.c ./session/ssh2_msgc.c
--- ../tmp2/session/ssh2_msgc.c 2018-12-21 03:52:10.000000000 -0500
+++ ./session/ssh2_msgc.c 2019-06-03 15:26:26.747402000 -0400
@@ -448,6 +448,12 @@
CHANNEL_WRITE );
int packetOffset, status;
......@@ -110,7 +101,7 @@ diff -ur ../cl.patched/session/ssh2_msgc.c ./session/ssh2_msgc.c
assert( isWritePtr( sessionInfoPtr, sizeof( SESSION_INFO ) ) );
assert( isWritePtr( stream, sizeof( STREAM ) ) );
@@ -545,9 +551,18 @@
@@ -547,9 +553,18 @@
writeUint32( stream, channelNo );
writeString32( stream, "pty-req", 7 );
sputc( stream, 0 ); /* No reply */
......
No preview for this file type
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment