Skip to content
Snippets Groups Projects
Commit 77085497 authored by Deucе's avatar Deucе :ok_hand_tone4:
Browse files

A few more Win64 on MinGW fixes

Some of these likely break WinCE support.
parent 4c461192
No related branches found
No related tags found
No related merge requests found
Pipeline #7782 passed
......@@ -101,6 +101,10 @@ set(PATCHES
cl-dont-validate-va-list.patch
cl-musl-socklen_t.patch
cl-no-musl-backtrace.patch
cl-fix-constptrptr.patch
cl-fix-void-ptrs.patch
cl-intptr-t.patch
cl-wrong-string-length.patch
)
set(SOURCE
......
......@@ -74,6 +74,10 @@ set(PATCHES
${CMAKE_CURRENT_SOURCE_DIR}/cl-dont-validate-va-list.patch
${CMAKE_CURRENT_SOURCE_DIR}/cl-musl-socklen_t.patch
${CMAKE_CURRENT_SOURCE_DIR}/cl-no-musl-backtrace.patch
${CMAKE_CURRENT_SOURCE_DIR}/cl-fix-constptrptr.patch
${CMAKE_CURRENT_SOURCE_DIR}/cl-fix-void-ptrs.patch
${CMAKE_CURRENT_SOURCE_DIR}/cl-intptr-t.patch
${CMAKE_CURRENT_SOURCE_DIR}/cl-wrong-string-length.patch
)
FetchContent_Declare(CryptLib
......
......@@ -114,7 +114,7 @@ $(CRYPT_SRC): | $(3RDPSRCDIR)
$(CRYPT_IDIR): | $(3RDPODIR)
$(QUIET)$(IFNOTEXIST) mkdir $(CRYPT_IDIR)
$(CRYPTLIB_BUILD): $(3RDP_ROOT)/dist/cryptlib.zip $(3RDP_ROOT)/build/cl-terminal-params.patch $(3RDP_ROOT)/build/cl-mingw32-static.patch $(3RDP_ROOT)/build/cl-ranlib.patch $(3RDP_ROOT)/build/cl-win32-noasm.patch $(3RDP_ROOT)/build/cl-zz-country.patch $(3RDP_ROOT)/build/cl-algorithms.patch $(3RDP_ROOT)/build/cl-allow-duplicate-ext.patch $(3RDP_ROOT)/build/cl-macosx-minver.patch $(3RDP_ROOT)/build/cl-posix-me-gently.patch $(3RDP_ROOT)/build/cl-PAM-noprompts.patch $(3RDP_ROOT)/build/cl-zlib.patch $(3RDP_ROOT)/build/cl-Dynamic-linked-static-lib.patch $(3RDP_ROOT)/build/cl-SSL-fix.patch $(3RDP_ROOT)/build/cl-bigger-maxattribute.patch $(3RDP_ROOT)/build/cl-endian.patch $(3RDP_ROOT)/build/cl-vcxproj.patch $(3RDP_ROOT)/build/cl-mingw-vcver.patch $(3RDP_ROOT)/build/cl-no-odbc.patch $(3RDP_ROOT)/build/cl-noasm-defines.patch $(3RDP_ROOT)/build/cl-bn-noasm64-fix.patch $(3RDP_ROOT)/build/cl-prefer-ECC.patch $(3RDP_ROOT)/build/cl-prefer-ECC-harder.patch $(3RDP_ROOT)/build/cl-clear-GCM-flag.patch $(3RDP_ROOT)/build/cl-use-ssh-ctr.patch $(3RDP_ROOT)/build/cl-no-tpm.patch $(3RDP_ROOT)/build/cl-no-via-aes.patch $(3RDP_ROOT)/build/cl-just-use-cc.patch $(3RDP_ROOT)/build/cl-no-safe-stack.patch $(3RDP_ROOT)/build/cl-allow-pkcs12.patch $(3RDP_ROOT)/build/cl-allow-none-auth.patch $(3RDP_ROOT)/build/cl-mingw-add-m32.patch $(3RDP_ROOT)/build/cl-poll-not-select.patch $(3RDP_ROOT)/build/cl-good-sockets.patch $(3RDP_ROOT)/build/cl-moar-objects.patch $(3RDP_ROOT)/build/cl-server-term-support.patch $(3RDP_ROOT)/build/cl-add-pubkey-attribute.patch $(3RDP_ROOT)/build/cl-allow-ssh-auth-retries.patch $(3RDP_ROOT)/build/cl-fix-ssh-channel-close.patch $(3RDP_ROOT)/build/cl-vt-lt-2005-always-defined.patch $(3RDP_ROOT)/build/cl-no-pie.patch $(3RDP_ROOT)/build/cl-no-testobjs.patch $(3RDP_ROOT)/build/cl-win32-lean-and-mean.patch $(3RDP_ROOT)/build/cl-thats-not-asm.patch $(3RDP_ROOT)/build/cl-make-channels-work.patch $(3RDP_ROOT)/build/cl-allow-ssh-2.0-go.patch $(3RDP_ROOT)/build/cl-read-timeout-every-time.patch $(3RDP_ROOT)/build/cl-allow-servercheck-pubkeys.patch $(3RDP_ROOT)/build/cl-pass-after-pubkey.patch $(3RDP_ROOT)/build/cl-ssh-list-ctr-modes.patch $(3RDP_ROOT)/build/cl-double-delete-fine-on-close.patch $(3RDP_ROOT)/build/cl-handle-unsupported-pubkey.patch $(3RDP_ROOT)/build/cl-add-patches-info.patch $(3RDP_ROOT)/build/cl-netbsd-hmac-symbol.patch $(3RDP_ROOT)/build/cl-netbsd-no-getfsstat.patch GNUmakefile $(3RDP_ROOT)/build/cl-remove-march.patch $(3RDP_ROOT)/build/cl-fix-shell-exec-types.patch $(3RDP_ROOT)/build/cl-ssh-eof-half-close.patch $(3RDP_ROOT)/build/cl-add-win64.patch $(3RDP_ROOT)/build/cl-fix-mb-w-conv-warnings.patch $(3RDP_ROOT)/build/cl-ssh-service-type-for-channel.patch $(3RDP_ROOT)/build/cl-ssh-sbbs-id-string.patch $(3RDP_ROOT)/build/cl-channel-select-both.patch $(3RDP_ROOT)/build/cl-allow-none-auth-svr.patch $(3RDP_ROOT)/build/cl-quote-cc.patch $(3RDP_ROOT)/build/cl-mingw64-thread-handles.patch $(3RDP_ROOT)/build/cl-mingw64-is-really-new.patch $(3RDP_ROOT)/build/cl-lowercase-versionhelpers.patch $(3RDP_ROOT)/build/cl-fix-cpuid-order.patch $(3RDP_ROOT)/build/cl-fix-cbli-incompatible.patch $(3RDP_ROOT)/build/cl-mingw64-unicode-gibble.patch $(3RDP_ROOT)/build/cl-haiku-build.patch $(3RDP_ROOT)/build/cl-dont-validate-va-list.patch $(3RDP_ROOT)/build/cl-musl-socklen_t.patch $(3RDP_ROOT)/build/cl-no-musl-backtrace.patch | $(CRYPT_SRC) $(CRYPT_IDIR)
$(CRYPTLIB_BUILD): $(3RDP_ROOT)/dist/cryptlib.zip $(3RDP_ROOT)/build/cl-terminal-params.patch $(3RDP_ROOT)/build/cl-mingw32-static.patch $(3RDP_ROOT)/build/cl-ranlib.patch $(3RDP_ROOT)/build/cl-win32-noasm.patch $(3RDP_ROOT)/build/cl-zz-country.patch $(3RDP_ROOT)/build/cl-algorithms.patch $(3RDP_ROOT)/build/cl-allow-duplicate-ext.patch $(3RDP_ROOT)/build/cl-macosx-minver.patch $(3RDP_ROOT)/build/cl-posix-me-gently.patch $(3RDP_ROOT)/build/cl-PAM-noprompts.patch $(3RDP_ROOT)/build/cl-zlib.patch $(3RDP_ROOT)/build/cl-Dynamic-linked-static-lib.patch $(3RDP_ROOT)/build/cl-SSL-fix.patch $(3RDP_ROOT)/build/cl-bigger-maxattribute.patch $(3RDP_ROOT)/build/cl-endian.patch $(3RDP_ROOT)/build/cl-vcxproj.patch $(3RDP_ROOT)/build/cl-mingw-vcver.patch $(3RDP_ROOT)/build/cl-no-odbc.patch $(3RDP_ROOT)/build/cl-noasm-defines.patch $(3RDP_ROOT)/build/cl-bn-noasm64-fix.patch $(3RDP_ROOT)/build/cl-prefer-ECC.patch $(3RDP_ROOT)/build/cl-prefer-ECC-harder.patch $(3RDP_ROOT)/build/cl-clear-GCM-flag.patch $(3RDP_ROOT)/build/cl-use-ssh-ctr.patch $(3RDP_ROOT)/build/cl-no-tpm.patch $(3RDP_ROOT)/build/cl-no-via-aes.patch $(3RDP_ROOT)/build/cl-just-use-cc.patch $(3RDP_ROOT)/build/cl-no-safe-stack.patch $(3RDP_ROOT)/build/cl-allow-pkcs12.patch $(3RDP_ROOT)/build/cl-allow-none-auth.patch $(3RDP_ROOT)/build/cl-mingw-add-m32.patch $(3RDP_ROOT)/build/cl-poll-not-select.patch $(3RDP_ROOT)/build/cl-good-sockets.patch $(3RDP_ROOT)/build/cl-moar-objects.patch $(3RDP_ROOT)/build/cl-server-term-support.patch $(3RDP_ROOT)/build/cl-add-pubkey-attribute.patch $(3RDP_ROOT)/build/cl-allow-ssh-auth-retries.patch $(3RDP_ROOT)/build/cl-fix-ssh-channel-close.patch $(3RDP_ROOT)/build/cl-vt-lt-2005-always-defined.patch $(3RDP_ROOT)/build/cl-no-pie.patch $(3RDP_ROOT)/build/cl-no-testobjs.patch $(3RDP_ROOT)/build/cl-win32-lean-and-mean.patch $(3RDP_ROOT)/build/cl-thats-not-asm.patch $(3RDP_ROOT)/build/cl-make-channels-work.patch $(3RDP_ROOT)/build/cl-allow-ssh-2.0-go.patch $(3RDP_ROOT)/build/cl-read-timeout-every-time.patch $(3RDP_ROOT)/build/cl-allow-servercheck-pubkeys.patch $(3RDP_ROOT)/build/cl-pass-after-pubkey.patch $(3RDP_ROOT)/build/cl-ssh-list-ctr-modes.patch $(3RDP_ROOT)/build/cl-double-delete-fine-on-close.patch $(3RDP_ROOT)/build/cl-handle-unsupported-pubkey.patch $(3RDP_ROOT)/build/cl-add-patches-info.patch $(3RDP_ROOT)/build/cl-netbsd-hmac-symbol.patch $(3RDP_ROOT)/build/cl-netbsd-no-getfsstat.patch GNUmakefile $(3RDP_ROOT)/build/cl-remove-march.patch $(3RDP_ROOT)/build/cl-fix-shell-exec-types.patch $(3RDP_ROOT)/build/cl-ssh-eof-half-close.patch $(3RDP_ROOT)/build/cl-add-win64.patch $(3RDP_ROOT)/build/cl-fix-mb-w-conv-warnings.patch $(3RDP_ROOT)/build/cl-ssh-service-type-for-channel.patch $(3RDP_ROOT)/build/cl-ssh-sbbs-id-string.patch $(3RDP_ROOT)/build/cl-channel-select-both.patch $(3RDP_ROOT)/build/cl-allow-none-auth-svr.patch $(3RDP_ROOT)/build/cl-quote-cc.patch $(3RDP_ROOT)/build/cl-mingw64-thread-handles.patch $(3RDP_ROOT)/build/cl-mingw64-is-really-new.patch $(3RDP_ROOT)/build/cl-lowercase-versionhelpers.patch $(3RDP_ROOT)/build/cl-fix-cpuid-order.patch $(3RDP_ROOT)/build/cl-fix-cbli-incompatible.patch $(3RDP_ROOT)/build/cl-mingw64-unicode-gibble.patch $(3RDP_ROOT)/build/cl-haiku-build.patch $(3RDP_ROOT)/build/cl-dont-validate-va-list.patch $(3RDP_ROOT)/build/cl-musl-socklen_t.patch $(3RDP_ROOT)/build/cl-no-musl-backtrace.patch $(3RDP_ROOT)/build/cl-fix-constptrptr.patch $(3RDP_ROOT)/build/cl-fix-void-ptrs.patch $(3RDP_ROOT)/build/cl-intptr-t.patch $(3RDP_ROOT)/build/cl-wrong-string-length.patch | $(CRYPT_SRC) $(CRYPT_IDIR)
@echo Creating $@ ...
$(QUIET)-rm -rf $(CRYPT_SRC)/*
$(QUIET)unzip -oa $(3RDPDISTDIR)/cryptlib.zip -d $(CRYPT_SRC)
......@@ -193,6 +193,10 @@ $(CRYPTLIB_BUILD): $(3RDP_ROOT)/dist/cryptlib.zip $(3RDP_ROOT)/build/cl-terminal
$(QUIET)patch -b -p0 -d $(CRYPT_SRC) < cl-dont-validate-va-list.patch
$(QUIET)patch -b -p0 -d $(CRYPT_SRC) < cl-musl-socklen_t.patch
$(QUIET)patch -b -p0 -d $(CRYPT_SRC) < cl-no-musl-backtrace.patch
$(QUIET)patch -b -p0 -d $(CRYPT_SRC) < cl-fix-constptrptr.patch
$(QUIET)patch -b -p0 -d $(CRYPT_SRC) < cl-fix-void-ptrs.patch
$(QUIET)patch -b -p0 -d $(CRYPT_SRC) < cl-intptr-t.patch
$(QUIET)patch -b -p0 -d $(CRYPT_SRC) < cl-wrong-string-length.patch
$(QUIET)perl -pi.bak -e 's/^(#define CRYPTLIB_VERSION.*)$$/"$$1\n#define CRYPTLIB_PATCHES \"" . (chomp($$val = `cat cl-*.patch | if (which md5sum > \/dev\/null 2>&1); then md5sum; else md5; fi`), $$val) . "\""/e' $(CRYPT_SRC)/cryptlib.h
$(QUIET)sed -E -iorig 's/%%MIN_MAC_OSX_VERSION%%/${MIN_MAC_OSX_VERSION}/g' $(CRYPT_SRC)/tools/ccopts.sh
ifdef FIXED_FIXED_SEED
......
--- device/pkcs11_init.c.orig 2025-01-13 22:37:33.955357000 -0500
+++ device/pkcs11_init.c 2025-01-13 22:38:58.131669000 -0500
@@ -1054,7 +1054,7 @@
CK_RV status;
PKCS11_INFO *pkcs11Info = deviceInfo->devicePKCS11;
const PKCS11_MECHANISM_INFO *mechanismInfoPtr;
- char *labelPtr;
+ const char *labelPtr;
int tokenSlot = DEFAULT_SLOT, labelLength, mechanismInfoSize;
LOOP_INDEX i;
int cryptStatus, cryptStatus2;
--- device/pkcs11_rd.c.orig 2025-01-13 22:45:26.329385000 -0500
+++ device/pkcs11_rd.c 2025-01-13 22:47:46.922444000 -0500
@@ -157,7 +157,8 @@
OUT_LENGTH_BOUNDED_Z( maxLabelSize ) \
int *labelLength )
{
- char labelBuffer[ CRYPT_MAX_TEXTSIZE + 8 ], *localLabel;
+ char labelBuffer[ CRYPT_MAX_TEXTSIZE + 8 ];
+ void *localLabel;
int localLabelLength, cryptStatus;
assert( isWritePtr( pkcs11Info, sizeof( PKCS11_INFO ) ) );
@@ -404,7 +405,8 @@
INOUT_PTR ERROR_INFO *errorInfo )
{
STREAM stream;
- BYTE ecOidBuffer[ MAX_OID_SIZE + 8 ], *ecOid;
+ BYTE ecOidBuffer[ MAX_OID_SIZE + 8 ];
+ void *ecOid;
int ecOidLength, cryptStatus;
assert( isWritePtr( curveType, sizeof( CRYPT_ECCCURVE_TYPE ) ) );
@@ -622,7 +624,8 @@
INOUT_PTR ERROR_INFO *errorInfo )
{
MESSAGE_CREATEOBJECT_INFO createInfo;
- BYTE buffer[ MAX_STACK_BUFFER_SIZE + 8 ], *bufPtr;
+ BYTE buffer[ MAX_STACK_BUFFER_SIZE + 8 ];
+ void *bufPtr;
int length, cryptStatus;
assert( isWritePtr( pkcs11Info, sizeof( PKCS11_INFO ) ) );
@@ -837,7 +840,8 @@
{ CKA_CLASS, ( CK_VOID_PTR ) &objectClass, sizeof( CK_OBJECT_CLASS ) },
{ CKA_ID, NULL_PTR, 0 }
};
- BYTE buffer[ MAX_STACK_BUFFER_SIZE + 8 ], *bufPtr;
+ BYTE buffer[ MAX_STACK_BUFFER_SIZE + 8 ];
+ void *bufPtr;
int length, cryptStatus;
assert( isWritePtr( pkcs11Info, sizeof( PKCS11_INFO ) ) );
@@ -1048,7 +1052,8 @@
const FINDCERT_ACTION_TYPE findAction,
INOUT_PTR ERROR_INFO *errorInfo )
{
- BYTE buffer[ MAX_STACK_BUFFER_SIZE + 8 ], *bufPtr;
+ BYTE buffer[ MAX_STACK_BUFFER_SIZE + 8 ];
+ void *bufPtr;
int length, cryptStatus;
assert( isWritePtr( pkcs11Info, sizeof( PKCS11_INFO ) ) );
--- misc/os_spec.c.orig 2025-01-13 23:17:13.713937000 -0500
+++ misc/os_spec.c 2025-01-13 23:18:28.874268000 -0500
@@ -3194,7 +3194,7 @@
#if defined( _MSC_VER ) && ( _MSC_VER >= 1400 )
#define PTR_TYPE INT_PTR
#else
- #define PTR_TYPE long
+ #define PTR_TYPE intptr_t
#endif /* Newer versions of VC++ */
#define getPageStartAddress( address ) \
--- ./kernel/thread.h.orig 2023-08-15 22:09:06.000000000 -0400
+++ ./kernel/thread.h 2024-10-31 00:50:23.566804000 -0400
@@ -3582,7 +3582,7 @@
/* Object handles */
-#define THREAD_HANDLE HANDLE
+#define THREAD_HANDLE unsigned int
#define MUTEX_HANDLE HANDLE
/* Mutex management functions. InitializeCriticalSection() doesn't return
@@ -3712,7 +3712,7 @@
#if defined( __WIN32__ )
#define THREADFUNC_DEFINE( name, arg ) \
......
--- io/dns.c.orig 2025-01-13 23:28:49.754092000 -0500
+++ io/dns.c 2025-01-13 23:29:39.674287000 -0500
@@ -56,8 +56,8 @@
errorStringBuffer, 1024, NULL );
if( errorStringLen <= 0 )
{
- memcpy( errorStringBuffer, "<Unknown>", 13 );
- errorStringLen = 13;
+ memcpy( errorStringBuffer, "<Unknown>", 10 );
+ errorStringLen = 9;
}
setErrorString( NETSTREAM_ERRINFO, errorStringBuffer, errorStringLen );
#elif defined( USE_IPv6 )
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment