mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against 2ee75bf9ade3e90f10ffe4236c8c95d817402392.
This commit is contained in:
parent
9acfa3b899
commit
639755741e
@ -1,4 +1,4 @@
|
||||
From e31513df269b2ba58f0dc11cc5494b9db1e05cd4 Mon Sep 17 00:00:00 2001
|
||||
From aedc3b18250733d5390e88ba451ee58d517eff3b Mon Sep 17 00:00:00 2001
|
||||
From: "Olivier F. R. Dierick" <o.dierick@piezo-forte.be>
|
||||
Date: Tue, 19 Apr 2016 07:33:32 +0200
|
||||
Subject: [PATCH] kernel32: Implement GetSystemDEPPolicy().
|
||||
@ -8,18 +8,18 @@ Subject: [PATCH] kernel32: Implement GetSystemDEPPolicy().
|
||||
1 file changed, 68 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
|
||||
index cf97affd6faf..78f80c5210f0 100644
|
||||
index e8e1e61b354..639c39460d9 100644
|
||||
--- a/dlls/kernel32/process.c
|
||||
+++ b/dlls/kernel32/process.c
|
||||
@@ -51,6 +51,7 @@
|
||||
#include "winbase.h"
|
||||
@@ -33,6 +33,7 @@
|
||||
#include "winnls.h"
|
||||
#include "wincon.h"
|
||||
#include "kernel_private.h"
|
||||
+#include "winreg.h"
|
||||
#include "psapi.h"
|
||||
#include "wine/exception.h"
|
||||
#include "wine/server.h"
|
||||
@@ -671,8 +672,73 @@ DWORD WINAPI WTSGetActiveConsoleSessionId(void)
|
||||
@@ -560,8 +561,73 @@ DWORD WINAPI WTSGetActiveConsoleSessionId(void)
|
||||
*/
|
||||
DEP_SYSTEM_POLICY_TYPE WINAPI GetSystemDEPPolicy(void)
|
||||
{
|
||||
@ -96,5 +96,5 @@ index cf97affd6faf..78f80c5210f0 100644
|
||||
|
||||
/**********************************************************************
|
||||
--
|
||||
2.26.2
|
||||
2.28.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 0f8b2bb82ce32a1b5d384a6b1c970145de6bad57 Mon Sep 17 00:00:00 2001
|
||||
From da42137e7187fddc47862f435f3f238c687dc109 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 3 Apr 2017 05:30:27 +0200
|
||||
Subject: [PATCH] ntdll: Implement HashLinks field in LDR module data.
|
||||
@ -10,7 +10,7 @@ Subject: [PATCH] ntdll: Implement HashLinks field in LDR module data.
|
||||
3 files changed, 141 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/loader.c b/dlls/kernel32/tests/loader.c
|
||||
index 33073820240..ab793b1e136 100644
|
||||
index ca6afcbe051..2b6f51d55ba 100644
|
||||
--- a/dlls/kernel32/tests/loader.c
|
||||
+++ b/dlls/kernel32/tests/loader.c
|
||||
@@ -30,6 +30,7 @@
|
||||
@ -21,7 +21,7 @@ index 33073820240..ab793b1e136 100644
|
||||
#include "wine/test.h"
|
||||
#include "delayloadhandler.h"
|
||||
|
||||
@@ -3970,6 +3971,79 @@ static void test_LoadPackagedLibrary(void)
|
||||
@@ -3945,6 +3946,79 @@ static void test_LoadPackagedLibrary(void)
|
||||
h, GetLastError());
|
||||
}
|
||||
|
||||
@ -101,19 +101,19 @@ index 33073820240..ab793b1e136 100644
|
||||
START_TEST(loader)
|
||||
{
|
||||
int argc;
|
||||
@@ -4042,6 +4116,7 @@ START_TEST(loader)
|
||||
@@ -4017,6 +4091,7 @@ START_TEST(loader)
|
||||
test_InMemoryOrderModuleList();
|
||||
test_LoadPackagedLibrary();
|
||||
test_wow64_redirection();
|
||||
+ test_HashLinks();
|
||||
test_dll_file( "ntdll.dll", FALSE );
|
||||
test_dll_file( "kernel32.dll", TRUE );
|
||||
test_dll_file( "advapi32.dll", FALSE );
|
||||
test_dll_file( "ntdll.dll" );
|
||||
test_dll_file( "kernel32.dll" );
|
||||
test_dll_file( "advapi32.dll" );
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index ccaae0a5a25..37ee3b2cf23 100644
|
||||
index 55588774b29..06f4571a008 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -123,6 +123,9 @@ struct file_id
|
||||
@@ -124,6 +124,9 @@ struct file_id
|
||||
BYTE ObjectId[16];
|
||||
};
|
||||
|
||||
@ -123,7 +123,7 @@ index ccaae0a5a25..37ee3b2cf23 100644
|
||||
/* internal representation of loaded modules */
|
||||
typedef struct _wine_modref
|
||||
{
|
||||
@@ -462,6 +465,52 @@ static void call_ldr_notifications( ULONG reason, LDR_DATA_TABLE_ENTRY *module )
|
||||
@@ -484,6 +487,52 @@ static void call_ldr_notifications( ULONG reason, LDR_DATA_TABLE_ENTRY *module )
|
||||
}
|
||||
}
|
||||
|
||||
@ -176,7 +176,7 @@ index ccaae0a5a25..37ee3b2cf23 100644
|
||||
/*************************************************************************
|
||||
* get_modref
|
||||
*
|
||||
@@ -1203,7 +1252,12 @@ static WINE_MODREF *alloc_module( HMODULE hModule, const UNICODE_STRING *nt_name
|
||||
@@ -1225,7 +1274,12 @@ static WINE_MODREF *alloc_module( HMODULE hModule, const UNICODE_STRING *nt_name
|
||||
&wm->ldr.InLoadOrderLinks);
|
||||
InsertTailList(&NtCurrentTeb()->Peb->LdrData->InMemoryOrderModuleList,
|
||||
&wm->ldr.InMemoryOrderLinks);
|
||||
@ -189,7 +189,7 @@ index ccaae0a5a25..37ee3b2cf23 100644
|
||||
|
||||
if (!(nt->OptionalHeader.DllCharacteristics & IMAGE_DLLCHARACTERISTICS_NX_COMPAT))
|
||||
{
|
||||
@@ -1910,6 +1964,7 @@ static NTSTATUS build_module( LPCWSTR load_path, const UNICODE_STRING *nt_name,
|
||||
@@ -1956,6 +2010,7 @@ static NTSTATUS build_module( LPCWSTR load_path, const UNICODE_STRING *nt_name,
|
||||
/* the module has only be inserted in the load & memory order lists */
|
||||
RemoveEntryList(&wm->ldr.InLoadOrderLinks);
|
||||
RemoveEntryList(&wm->ldr.InMemoryOrderLinks);
|
||||
@ -197,7 +197,7 @@ index ccaae0a5a25..37ee3b2cf23 100644
|
||||
|
||||
/* FIXME: there are several more dangling references
|
||||
* left. Including dlls loaded by this dll before the
|
||||
@@ -3247,6 +3302,7 @@ static void free_modref( WINE_MODREF *wm )
|
||||
@@ -3330,6 +3385,7 @@ static void free_modref( WINE_MODREF *wm )
|
||||
{
|
||||
RemoveEntryList(&wm->ldr.InLoadOrderLinks);
|
||||
RemoveEntryList(&wm->ldr.InMemoryOrderLinks);
|
||||
@ -205,7 +205,7 @@ index ccaae0a5a25..37ee3b2cf23 100644
|
||||
if (wm->ldr.InInitializationOrderLinks.Flink)
|
||||
RemoveEntryList(&wm->ldr.InInitializationOrderLinks);
|
||||
|
||||
@@ -3974,6 +4030,7 @@ static NTSTATUS process_init(void)
|
||||
@@ -4091,6 +4147,7 @@ static NTSTATUS process_init(void)
|
||||
INITIAL_TEB stack;
|
||||
TEB *teb = NtCurrentTeb();
|
||||
PEB *peb = teb->Peb;
|
||||
@ -213,7 +213,7 @@ index ccaae0a5a25..37ee3b2cf23 100644
|
||||
|
||||
peb->LdrData = &ldr;
|
||||
peb->FastPebLock = &peb_lock;
|
||||
@@ -4012,6 +4069,10 @@ static NTSTATUS process_init(void)
|
||||
@@ -4130,6 +4187,10 @@ static NTSTATUS process_init(void)
|
||||
load_global_options();
|
||||
version_init();
|
||||
|
||||
@ -224,7 +224,7 @@ index ccaae0a5a25..37ee3b2cf23 100644
|
||||
/* setup the load callback and create ntdll modref */
|
||||
RtlInitUnicodeString( &nt_name, ntdllW );
|
||||
NtQueryVirtualMemory( GetCurrentProcess(), process_init, MemoryBasicInformation,
|
||||
@@ -4106,6 +4167,10 @@ static NTSTATUS process_init(void)
|
||||
@@ -4223,6 +4284,10 @@ static NTSTATUS process_init(void)
|
||||
teb->Tib.StackBase = stack.StackBase;
|
||||
teb->Tib.StackLimit = stack.StackLimit;
|
||||
teb->DeallocationStack = stack.DeallocationStack;
|
||||
@ -236,10 +236,10 @@ index ccaae0a5a25..37ee3b2cf23 100644
|
||||
}
|
||||
|
||||
diff --git a/include/winternl.h b/include/winternl.h
|
||||
index b4621827454..d5f87c642be 100644
|
||||
index 62395bbce38..2511fa37c05 100644
|
||||
--- a/include/winternl.h
|
||||
+++ b/include/winternl.h
|
||||
@@ -2678,8 +2678,8 @@ typedef struct _LDR_DATA_TABLE_ENTRY
|
||||
@@ -2680,8 +2680,8 @@ typedef struct _LDR_DATA_TABLE_ENTRY
|
||||
ULONG Flags;
|
||||
SHORT LoadCount;
|
||||
SHORT TlsIndex;
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 2fafcf0fbf764a830604ae4d69d5edf724701b8f Mon Sep 17 00:00:00 2001
|
||||
From 7bbbf2acdaa6229c58b42001fa01465e2e0cdbb5 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 30 May 2015 02:23:15 +0200
|
||||
Subject: [PATCH] ntdll: Add support for hiding wine version information from
|
||||
@ -10,10 +10,10 @@ Subject: [PATCH] ntdll: Add support for hiding wine version information from
|
||||
2 files changed, 103 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
|
||||
index 54d56f4e148..3157bc21fdb 100644
|
||||
index bff0bda1bed..fc8c815fb39 100644
|
||||
--- a/dlls/ntdll/loader.c
|
||||
+++ b/dlls/ntdll/loader.c
|
||||
@@ -76,6 +76,9 @@ static const WCHAR system_path[] =
|
||||
@@ -82,6 +82,9 @@ static const WCHAR system_path[] =
|
||||
|
||||
static const WCHAR dotW[] = {'.',0};
|
||||
|
||||
@ -23,7 +23,7 @@ index 54d56f4e148..3157bc21fdb 100644
|
||||
static BOOL imports_fixup_done = FALSE; /* set once the imports have been fixed up, before attaching them */
|
||||
static BOOL process_detaching = FALSE; /* set on process detach to avoid deadlocks with thread detach */
|
||||
static int free_lib_count; /* recursion depth of LdrUnloadDll calls */
|
||||
@@ -92,6 +95,8 @@ struct dll_dir_entry
|
||||
@@ -98,6 +101,8 @@ struct dll_dir_entry
|
||||
|
||||
static struct list dll_dir_list = LIST_INIT( dll_dir_list ); /* extra dirs from LdrAddDllDirectory */
|
||||
|
||||
@ -32,7 +32,7 @@ index 54d56f4e148..3157bc21fdb 100644
|
||||
struct ldr_notification
|
||||
{
|
||||
struct list entry;
|
||||
@@ -1704,6 +1709,96 @@ NTSTATUS WINAPI LdrUnlockLoaderLock( ULONG flags, ULONG_PTR magic )
|
||||
@@ -1809,6 +1814,96 @@ NTSTATUS WINAPI LdrUnlockLoaderLock( ULONG flags, ULONG_PTR magic )
|
||||
}
|
||||
|
||||
|
||||
@ -129,7 +129,7 @@ index 54d56f4e148..3157bc21fdb 100644
|
||||
/******************************************************************
|
||||
* LdrGetProcedureAddress (NTDLL.@)
|
||||
*/
|
||||
@@ -1724,7 +1819,7 @@ NTSTATUS WINAPI LdrGetProcedureAddress(HMODULE module, const ANSI_STRING *name,
|
||||
@@ -1829,7 +1924,7 @@ NTSTATUS WINAPI LdrGetProcedureAddress(HMODULE module, const ANSI_STRING *name,
|
||||
LPCWSTR load_path = NtCurrentTeb()->Peb->ProcessParameters->DllPath.Buffer;
|
||||
void *proc = name ? find_named_export( module, exports, exp_size, name->Buffer, -1, load_path )
|
||||
: find_ordinal_export( module, exports, exp_size, ord - exports->Base, load_path );
|
||||
@ -138,7 +138,7 @@ index 54d56f4e148..3157bc21fdb 100644
|
||||
{
|
||||
*address = proc;
|
||||
ret = STATUS_SUCCESS;
|
||||
@@ -4009,6 +4104,8 @@ void __wine_process_init(void)
|
||||
@@ -4261,6 +4356,8 @@ static NTSTATUS process_init(void)
|
||||
NtTerminateProcess( GetCurrentProcess(), status );
|
||||
}
|
||||
|
||||
@ -148,12 +148,12 @@ index 54d56f4e148..3157bc21fdb 100644
|
||||
if (NtCurrentTeb64())
|
||||
{
|
||||
diff --git a/dlls/ntdll/ntdll_misc.h b/dlls/ntdll/ntdll_misc.h
|
||||
index 63ceac42e94..18300cc4d9e 100644
|
||||
index 1f7226a3ac8..56d26bfe005 100644
|
||||
--- a/dlls/ntdll/ntdll_misc.h
|
||||
+++ b/dlls/ntdll/ntdll_misc.h
|
||||
@@ -126,6 +126,11 @@ void WINAPI LdrInitializeThunk(CONTEXT*,void**,ULONG_PTR,ULONG_PTR);
|
||||
#define InterlockedCompareExchange64(dest,xchg,cmp) RtlInterlockedCompareExchange64(dest,xchg,cmp)
|
||||
#endif
|
||||
@@ -155,6 +155,11 @@ static inline TEB64 *NtCurrentTeb64(void) { return (TEB64 *)NtCurrentTeb()->GdiB
|
||||
|
||||
NTSTATUS WINAPI RtlHashUnicodeString(PCUNICODE_STRING,BOOLEAN,ULONG,ULONG*);
|
||||
|
||||
+/* version */
|
||||
+extern const char * CDECL wine_get_version(void);
|
||||
|
@ -1,31 +1,32 @@
|
||||
From 3ed31bd914d853f6e4b550db7ff0c68ab8918dad Mon Sep 17 00:00:00 2001
|
||||
From a65d5445eea1a5aa1108d5b214a37b37a8c82888 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 4 Oct 2014 02:53:22 +0200
|
||||
Subject: [PATCH] ntdll: Setup a temporary signal handler during process
|
||||
startup to handle page faults. (v2)
|
||||
|
||||
---
|
||||
dlls/ntdll/unix/loader.c | 1 +
|
||||
dlls/ntdll/unix/loader.c | 2 ++
|
||||
dlls/ntdll/unix/signal_arm.c | 6 ++++
|
||||
dlls/ntdll/unix/signal_arm64.c | 7 +++++
|
||||
dlls/ntdll/unix/signal_i386.c | 52 +++++++++++++++++++++++++++++++++
|
||||
dlls/ntdll/unix/signal_x86_64.c | 6 ++++
|
||||
dlls/ntdll/unix/unix_private.h | 1 +
|
||||
dlls/ntdll/unix/virtual.c | 2 +-
|
||||
7 files changed, 74 insertions(+), 1 deletion(-)
|
||||
7 files changed, 75 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/unix/loader.c b/dlls/ntdll/unix/loader.c
|
||||
index e7a7c96a974..0ffbab757a3 100644
|
||||
index 6890a08428b..557d7254190 100644
|
||||
--- a/dlls/ntdll/unix/loader.c
|
||||
+++ b/dlls/ntdll/unix/loader.c
|
||||
@@ -1785,6 +1785,7 @@ void __wine_main( int argc, char *argv[], char *envp[] )
|
||||
@@ -1775,6 +1775,8 @@ void __wine_main( int argc, char *argv[], char *envp[] )
|
||||
#endif
|
||||
|
||||
virtual_init();
|
||||
+ signal_init_early();
|
||||
load_ntdll();
|
||||
|
||||
+
|
||||
init_environment( argc, argv, envp );
|
||||
|
||||
#ifdef __APPLE__
|
||||
diff --git a/dlls/ntdll/unix/signal_arm.c b/dlls/ntdll/unix/signal_arm.c
|
||||
index e8971d22dbd..ca291456284 100644
|
||||
--- a/dlls/ntdll/unix/signal_arm.c
|
||||
@ -149,10 +150,10 @@ index e11b2c70b59..1b45ca246d3 100644
|
||||
/***********************************************************************
|
||||
* init_thread_context
|
||||
diff --git a/dlls/ntdll/unix/unix_private.h b/dlls/ntdll/unix/unix_private.h
|
||||
index 3d9dca3c51d..7b541dc6a31 100644
|
||||
index f99c13fe2ad..26f251b889a 100644
|
||||
--- a/dlls/ntdll/unix/unix_private.h
|
||||
+++ b/dlls/ntdll/unix/unix_private.h
|
||||
@@ -215,6 +215,7 @@ extern NTSTATUS signal_alloc_thread( TEB *teb ) DECLSPEC_HIDDEN;
|
||||
@@ -210,6 +210,7 @@ extern NTSTATUS signal_alloc_thread( TEB *teb ) DECLSPEC_HIDDEN;
|
||||
extern void signal_free_thread( TEB *teb ) DECLSPEC_HIDDEN;
|
||||
extern void signal_init_thread( TEB *teb ) DECLSPEC_HIDDEN;
|
||||
extern void signal_init_process(void) DECLSPEC_HIDDEN;
|
||||
@ -161,10 +162,10 @@ index 3d9dca3c51d..7b541dc6a31 100644
|
||||
BOOL suspend, void *thunk, TEB *teb ) DECLSPEC_HIDDEN;
|
||||
extern void DECLSPEC_NORETURN signal_exit_thread( int status, void (*func)(int) ) DECLSPEC_HIDDEN;
|
||||
diff --git a/dlls/ntdll/unix/virtual.c b/dlls/ntdll/unix/virtual.c
|
||||
index 94b3975a964..cf0c1598720 100644
|
||||
index f18e75c0842..0649b30e8b3 100644
|
||||
--- a/dlls/ntdll/unix/virtual.c
|
||||
+++ b/dlls/ntdll/unix/virtual.c
|
||||
@@ -2967,7 +2967,7 @@ NTSTATUS virtual_handle_fault( void *addr, DWORD err, void *stack )
|
||||
@@ -2917,7 +2917,7 @@ NTSTATUS virtual_handle_fault( void *addr, DWORD err, void *stack )
|
||||
|
||||
mutex_lock( &virtual_mutex ); /* no need for signal masking inside signal handler */
|
||||
vprot = get_page_vprot( page );
|
||||
|
@ -51,7 +51,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "9a6e5b23293fbad3bbdcd52007402a3b9a1cb99d"
|
||||
echo "2ee75bf9ade3e90f10ffe4236c8c95d817402392"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
|
@ -1,18 +1,18 @@
|
||||
From f86165f3d7289221abff169866659c8196c7f8dd Mon Sep 17 00:00:00 2001
|
||||
From 34a06e7077076e43a84eaa9877a94cdfbc750cc0 Mon Sep 17 00:00:00 2001
|
||||
From: Dmitry Timoshkov <dmitry@baikal.ru>
|
||||
Date: Tue, 26 Jan 2016 15:41:06 +0800
|
||||
Subject: [PATCH 24/26] oleaut32: Add support for decoding SLTG function help
|
||||
Subject: [PATCH] oleaut32: Add support for decoding SLTG function help
|
||||
strings.
|
||||
|
||||
---
|
||||
dlls/oleaut32/typelib.c | 23 +++++++++++++----------
|
||||
1 file changed, 13 insertions(+), 10 deletions(-)
|
||||
dlls/oleaut32/typelib.c | 24 ++++++++++++++----------
|
||||
1 file changed, 14 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/dlls/oleaut32/typelib.c b/dlls/oleaut32/typelib.c
|
||||
index f652e0b..d08ee5c 100644
|
||||
index d171956bf46..25d2c304722 100644
|
||||
--- a/dlls/oleaut32/typelib.c
|
||||
+++ b/dlls/oleaut32/typelib.c
|
||||
@@ -4206,7 +4206,8 @@ static void SLTG_DoVars(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI, unsign
|
||||
@@ -4237,7 +4237,8 @@ static void SLTG_DoVars(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI, unsign
|
||||
}
|
||||
|
||||
static void SLTG_DoFuncs(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI,
|
||||
@ -22,16 +22,17 @@ index f652e0b..d08ee5c 100644
|
||||
{
|
||||
SLTG_Function *pFunc;
|
||||
unsigned short i;
|
||||
@@ -4243,6 +4244,8 @@ static void SLTG_DoFuncs(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI,
|
||||
pFuncDesc->funcdesc.cParams = pFunc->nacc >> 3;
|
||||
pFuncDesc->funcdesc.cParamsOpt = (pFunc->retnextopt & 0x7e) >> 1;
|
||||
pFuncDesc->funcdesc.oVft = (pFunc->vtblpos & ~1) * sizeof(void *) / pTI->pTypeLib->ptr_size;
|
||||
+ if (pFunc->helpstring != 0xffff)
|
||||
+ pFuncDesc->HelpString = decode_string(hlp_strings, pBlk + pFunc->helpstring, pNameTable - pBlk, pTI->pTypeLib);
|
||||
@@ -4278,6 +4279,9 @@ static void SLTG_DoFuncs(char *pBlk, char *pFirstItem, ITypeInfoImpl *pTI,
|
||||
else
|
||||
pFuncDesc->funcdesc.oVft = (pFunc->vtblpos & ~1) * sizeof(void *) / pTI->pTypeLib->ptr_size;
|
||||
|
||||
+ if (pFunc->helpstring != 0xffff)
|
||||
+ pFuncDesc->HelpString = decode_string(hlp_strings, pBlk + pFunc->helpstring, pNameTable - pBlk, pTI->pTypeLib);
|
||||
+
|
||||
if(pFunc->magic & SLTG_FUNCTION_FLAGS_PRESENT)
|
||||
pFuncDesc->funcdesc.wFuncFlags = pFunc->funcflags;
|
||||
@@ -4330,7 +4333,7 @@ static void SLTG_ProcessCoClass(char *pBlk, ITypeInfoImpl *pTI,
|
||||
|
||||
@@ -4364,7 +4368,7 @@ static void SLTG_ProcessCoClass(char *pBlk, ITypeInfoImpl *pTI,
|
||||
|
||||
static void SLTG_ProcessInterface(char *pBlk, ITypeInfoImpl *pTI,
|
||||
char *pNameTable, SLTG_TypeInfoHeader *pTIHeader,
|
||||
@ -40,7 +41,7 @@ index f652e0b..d08ee5c 100644
|
||||
{
|
||||
char *pFirstItem;
|
||||
sltg_ref_lookup_t *ref_lookup = NULL;
|
||||
@@ -4347,7 +4350,7 @@ static void SLTG_ProcessInterface(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4381,7 +4385,7 @@ static void SLTG_ProcessInterface(char *pBlk, ITypeInfoImpl *pTI,
|
||||
}
|
||||
|
||||
if (pTITail->funcs_off != 0xffff)
|
||||
@ -49,7 +50,7 @@ index f652e0b..d08ee5c 100644
|
||||
|
||||
heap_free(ref_lookup);
|
||||
|
||||
@@ -4392,7 +4395,7 @@ static void SLTG_ProcessAlias(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4426,7 +4430,7 @@ static void SLTG_ProcessAlias(char *pBlk, ITypeInfoImpl *pTI,
|
||||
|
||||
static void SLTG_ProcessDispatch(char *pBlk, ITypeInfoImpl *pTI,
|
||||
char *pNameTable, SLTG_TypeInfoHeader *pTIHeader,
|
||||
@ -58,7 +59,7 @@ index f652e0b..d08ee5c 100644
|
||||
{
|
||||
sltg_ref_lookup_t *ref_lookup = NULL;
|
||||
if (pTIHeader->href_table != 0xffffffff)
|
||||
@@ -4403,7 +4406,7 @@ static void SLTG_ProcessDispatch(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4437,7 +4441,7 @@ static void SLTG_ProcessDispatch(char *pBlk, ITypeInfoImpl *pTI,
|
||||
SLTG_DoVars(pBlk, pBlk + pTITail->vars_off, pTI, pTITail->cVars, pNameTable, ref_lookup);
|
||||
|
||||
if (pTITail->funcs_off != 0xffff)
|
||||
@ -67,7 +68,7 @@ index f652e0b..d08ee5c 100644
|
||||
|
||||
if (pTITail->impls_off != 0xffff)
|
||||
SLTG_DoImpls(pBlk + pTITail->impls_off, pTI, FALSE, ref_lookup);
|
||||
@@ -4427,7 +4430,7 @@ static void SLTG_ProcessEnum(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4461,7 +4465,7 @@ static void SLTG_ProcessEnum(char *pBlk, ITypeInfoImpl *pTI,
|
||||
|
||||
static void SLTG_ProcessModule(char *pBlk, ITypeInfoImpl *pTI,
|
||||
char *pNameTable, SLTG_TypeInfoHeader *pTIHeader,
|
||||
@ -76,7 +77,7 @@ index f652e0b..d08ee5c 100644
|
||||
{
|
||||
sltg_ref_lookup_t *ref_lookup = NULL;
|
||||
if (pTIHeader->href_table != 0xffffffff)
|
||||
@@ -4438,7 +4441,7 @@ static void SLTG_ProcessModule(char *pBlk, ITypeInfoImpl *pTI,
|
||||
@@ -4472,7 +4476,7 @@ static void SLTG_ProcessModule(char *pBlk, ITypeInfoImpl *pTI,
|
||||
SLTG_DoVars(pBlk, pBlk + pTITail->vars_off, pTI, pTITail->cVars, pNameTable, ref_lookup);
|
||||
|
||||
if (pTITail->funcs_off != 0xffff)
|
||||
@ -85,7 +86,7 @@ index f652e0b..d08ee5c 100644
|
||||
heap_free(ref_lookup);
|
||||
if (TRACE_ON(typelib))
|
||||
dump_TypeInfo(pTI);
|
||||
@@ -4700,7 +4703,7 @@ static ITypeLib2* ITypeLib2_Constructor_SLTG(LPVOID pLib, DWORD dwTLBLength)
|
||||
@@ -4734,7 +4738,7 @@ static ITypeLib2* ITypeLib2_Constructor_SLTG(LPVOID pLib, DWORD dwTLBLength)
|
||||
|
||||
case TKIND_INTERFACE:
|
||||
SLTG_ProcessInterface((char *)(pMemHeader + 1), *ppTypeInfoImpl, pNameTable,
|
||||
@ -94,7 +95,7 @@ index f652e0b..d08ee5c 100644
|
||||
break;
|
||||
|
||||
case TKIND_COCLASS:
|
||||
@@ -4715,12 +4718,12 @@ static ITypeLib2* ITypeLib2_Constructor_SLTG(LPVOID pLib, DWORD dwTLBLength)
|
||||
@@ -4749,12 +4753,12 @@ static ITypeLib2* ITypeLib2_Constructor_SLTG(LPVOID pLib, DWORD dwTLBLength)
|
||||
|
||||
case TKIND_DISPATCH:
|
||||
SLTG_ProcessDispatch((char *)(pMemHeader + 1), *ppTypeInfoImpl, pNameTable,
|
||||
@ -110,5 +111,5 @@ index f652e0b..d08ee5c 100644
|
||||
|
||||
default:
|
||||
--
|
||||
2.7.4
|
||||
2.28.0
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 47fc492aea5790880546171f7baeceb5fb4f96f4 Mon Sep 17 00:00:00 2001
|
||||
From 4e43757350f1104b73d6aef09fd277ef8a245412 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 26 Dec 2016 16:37:40 +0100
|
||||
Subject: [PATCH] wineboot: Initialize proxy settings registry key.
|
||||
@ -9,23 +9,23 @@ Subject: [PATCH] wineboot: Initialize proxy settings registry key.
|
||||
2 files changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/programs/wineboot/Makefile.in b/programs/wineboot/Makefile.in
|
||||
index 3921fa96444..9575b45beca 100644
|
||||
index 2552f69990a..769ad7ee511 100644
|
||||
--- a/programs/wineboot/Makefile.in
|
||||
+++ b/programs/wineboot/Makefile.in
|
||||
@@ -1,7 +1,7 @@
|
||||
MODULE = wineboot.exe
|
||||
APPMODE = -mconsole
|
||||
IMPORTS = uuid advapi32
|
||||
IMPORTS = uuid advapi32 ws2_32
|
||||
-DELAYIMPORTS = shell32 shlwapi version user32 setupapi newdev
|
||||
+DELAYIMPORTS = shell32 shlwapi version user32 setupapi newdev wininet
|
||||
|
||||
EXTRADLLFLAGS = -mno-cygwin
|
||||
|
||||
diff --git a/programs/wineboot/wineboot.c b/programs/wineboot/wineboot.c
|
||||
index 2946a17c7b3..b622f47def1 100644
|
||||
index 119fef90c10..05d695a7d4a 100644
|
||||
--- a/programs/wineboot/wineboot.c
|
||||
+++ b/programs/wineboot/wineboot.c
|
||||
@@ -73,6 +73,7 @@
|
||||
@@ -78,6 +78,7 @@
|
||||
#include <shellapi.h>
|
||||
#include <setupapi.h>
|
||||
#include <ntsecapi.h>
|
||||
@ -33,7 +33,7 @@ index 2946a17c7b3..b622f47def1 100644
|
||||
#include <newdev.h>
|
||||
#include "resource.h"
|
||||
|
||||
@@ -744,6 +745,13 @@ static void create_volatile_environment_registry_key(void)
|
||||
@@ -1032,6 +1033,13 @@ static void create_volatile_environment_registry_key(void)
|
||||
RegCloseKey( hkey );
|
||||
}
|
||||
|
||||
@ -47,7 +47,7 @@ index 2946a17c7b3..b622f47def1 100644
|
||||
static void create_etc_stub_files(void)
|
||||
{
|
||||
static const WCHAR drivers_etcW[] = {'\\','d','r','i','v','e','r','s','\\','e','t','c',0};
|
||||
@@ -1587,6 +1595,7 @@ int __cdecl main( int argc, char *argv[] )
|
||||
@@ -1877,6 +1885,7 @@ int __cdecl main( int argc, char *argv[] )
|
||||
if (init || update) update_wineprefix( update );
|
||||
|
||||
create_volatile_environment_registry_key();
|
||||
@ -56,5 +56,5 @@ index 2946a17c7b3..b622f47def1 100644
|
||||
ProcessRunKeys( HKEY_LOCAL_MACHINE, L"RunOnce", TRUE, TRUE );
|
||||
|
||||
--
|
||||
2.26.2
|
||||
2.28.0
|
||||
|
||||
|
@ -1,18 +1,18 @@
|
||||
From 98db626566f8d4bcc0de8ad17fe0dabb685d69fe Mon Sep 17 00:00:00 2001
|
||||
From 381a5842063016c8cec8810f81baaa7e07b790ac Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 31 Aug 2017 01:15:05 +0200
|
||||
Subject: [PATCH] ws2_32: Fix handling of empty string in WS_getaddrinfo.
|
||||
|
||||
Fixes a regression introduced in a2053597cc326e2305c44e1c1a954c2e0ee2853e.
|
||||
---
|
||||
dlls/ws2_32/socket.c | 38 ++++++++++++++++++++++++++++++--------
|
||||
1 file changed, 30 insertions(+), 8 deletions(-)
|
||||
dlls/ws2_32/socket.c | 46 +++++++++++++++++++++++++++++++++++++-------
|
||||
1 file changed, 39 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
|
||||
index 4d2afa946b7..ed1ca2f44b9 100644
|
||||
index 05423d4b90c..71aaf433d1b 100644
|
||||
--- a/dlls/ws2_32/socket.c
|
||||
+++ b/dlls/ws2_32/socket.c
|
||||
@@ -6673,6 +6673,22 @@ static int convert_eai_u2w(int unixret) {
|
||||
@@ -6759,6 +6759,22 @@ static int convert_eai_u2w(int unixret) {
|
||||
return unixret;
|
||||
}
|
||||
|
||||
@ -35,52 +35,56 @@ index 4d2afa946b7..ed1ca2f44b9 100644
|
||||
static char *get_fqdn(void)
|
||||
{
|
||||
char *ret;
|
||||
@@ -6698,9 +6714,8 @@ int WINAPI WS_getaddrinfo(LPCSTR nodename, LPCSTR servname, const struct WS_addr
|
||||
@@ -6784,7 +6800,7 @@ int WINAPI WS_getaddrinfo(LPCSTR nodename, LPCSTR servname, const struct WS_addr
|
||||
struct addrinfo *unixaires = NULL;
|
||||
int result;
|
||||
struct addrinfo unixhints, *punixhints = NULL;
|
||||
- char *dot, *nodeV6 = NULL, *fqdn;
|
||||
+ char *nodeV6 = NULL, *hostname, *fqdn;
|
||||
- char *nodeV6 = NULL, *fqdn = NULL;
|
||||
+ char *nodeV6 = NULL, *hostname, *fqdn = NULL;
|
||||
const char *node;
|
||||
- size_t hostname_len = 0;
|
||||
|
||||
*res = NULL;
|
||||
if (!nodename && !servname)
|
||||
@@ -6709,16 +6724,20 @@ int WINAPI WS_getaddrinfo(LPCSTR nodename, LPCSTR servname, const struct WS_addr
|
||||
@@ -6794,13 +6810,20 @@ int WINAPI WS_getaddrinfo(LPCSTR nodename, LPCSTR servname, const struct WS_addr
|
||||
return WSAHOST_NOT_FOUND;
|
||||
}
|
||||
|
||||
+ hostname = get_hostname();
|
||||
+ if (!hostname) return WSA_NOT_ENOUGH_MEMORY;
|
||||
+
|
||||
fqdn = get_fqdn();
|
||||
- if (!fqdn) return WSA_NOT_ENOUGH_MEMORY;
|
||||
- dot = strchr(fqdn, '.');
|
||||
- if (dot)
|
||||
- hostname_len = dot - fqdn;
|
||||
+ fqdn = get_fqdn();
|
||||
+ if (!fqdn)
|
||||
+ {
|
||||
+ HeapFree(GetProcessHeap(), 0, hostname);
|
||||
+ return WSA_NOT_ENOUGH_MEMORY;
|
||||
+ }
|
||||
|
||||
+
|
||||
if (!nodename)
|
||||
node = NULL;
|
||||
else if (!nodename[0])
|
||||
- {
|
||||
- if (!(fqdn = get_fqdn())) return WSA_NOT_ENOUGH_MEMORY;
|
||||
- node = fqdn;
|
||||
- }
|
||||
+ node = hostname;
|
||||
else
|
||||
{
|
||||
node = nodename;
|
||||
@@ -6733,6 +6752,7 @@ int WINAPI WS_getaddrinfo(LPCSTR nodename, LPCSTR servname, const struct WS_addr
|
||||
@@ -6813,7 +6836,13 @@ int WINAPI WS_getaddrinfo(LPCSTR nodename, LPCSTR servname, const struct WS_addr
|
||||
if (node[0] == '[' && (close_bracket = strchr(node + 1, ']')))
|
||||
{
|
||||
nodeV6 = HeapAlloc(GetProcessHeap(), 0, close_bracket - node);
|
||||
if (!nodeV6)
|
||||
{
|
||||
- if (!nodeV6) return WSA_NOT_ENOUGH_MEMORY;
|
||||
+ if (!nodeV6)
|
||||
+ {
|
||||
+ HeapFree(GetProcessHeap(), 0, hostname);
|
||||
HeapFree(GetProcessHeap(), 0, fqdn);
|
||||
return WSA_NOT_ENOUGH_MEMORY;
|
||||
}
|
||||
@@ -6762,6 +6782,7 @@ int WINAPI WS_getaddrinfo(LPCSTR nodename, LPCSTR servname, const struct WS_addr
|
||||
+ HeapFree(GetProcessHeap(), 0, fqdn);
|
||||
+ return WSA_NOT_ENOUGH_MEMORY;
|
||||
+ }
|
||||
+
|
||||
lstrcpynA(nodeV6, node + 1, close_bracket - node);
|
||||
node = nodeV6;
|
||||
}
|
||||
@@ -6840,6 +6869,7 @@ int WINAPI WS_getaddrinfo(LPCSTR nodename, LPCSTR servname, const struct WS_addr
|
||||
if (punixhints->ai_socktype < 0)
|
||||
{
|
||||
SetLastError(WSAESOCKTNOSUPPORT);
|
||||
@ -88,17 +92,18 @@ index 4d2afa946b7..ed1ca2f44b9 100644
|
||||
HeapFree(GetProcessHeap(), 0, fqdn);
|
||||
HeapFree(GetProcessHeap(), 0, nodeV6);
|
||||
return SOCKET_ERROR;
|
||||
@@ -6787,7 +6808,7 @@ int WINAPI WS_getaddrinfo(LPCSTR nodename, LPCSTR servname, const struct WS_addr
|
||||
@@ -6864,7 +6894,8 @@ int WINAPI WS_getaddrinfo(LPCSTR nodename, LPCSTR servname, const struct WS_addr
|
||||
/* getaddrinfo(3) is thread safe, no need to wrap in CS */
|
||||
result = getaddrinfo(node, servname, punixhints, &unixaires);
|
||||
|
||||
if (result && (!hints || !(hints->ai_flags & WS_AI_NUMERICHOST))
|
||||
- && node && (!strcmp(fqdn, node) || (!strncmp(fqdn, node, hostname_len) && !node[hostname_len])))
|
||||
- if (result && (!hints || !(hints->ai_flags & WS_AI_NUMERICHOST)) && node)
|
||||
+ if (result && (!hints || !(hints->ai_flags & WS_AI_NUMERICHOST))
|
||||
+ && node && (!strcmp(node, hostname) || !strcmp(node, fqdn)))
|
||||
{
|
||||
/* If it didn't work it means the host name IP is not in /etc/hosts, try again
|
||||
* by sending a NULL host and avoid sending a NULL servname too because that
|
||||
@@ -6796,6 +6817,7 @@ int WINAPI WS_getaddrinfo(LPCSTR nodename, LPCSTR servname, const struct WS_addr
|
||||
result = getaddrinfo(NULL, servname ? servname : "0", punixhints, &unixaires);
|
||||
if (!fqdn && !(fqdn = get_fqdn()))
|
||||
{
|
||||
@@ -6881,6 +6912,7 @@ int WINAPI WS_getaddrinfo(LPCSTR nodename, LPCSTR servname, const struct WS_addr
|
||||
}
|
||||
}
|
||||
TRACE("%s, %s %p -> %p %d\n", debugstr_a(nodename), debugstr_a(servname), hints, res, result);
|
||||
+ HeapFree(GetProcessHeap(), 0, hostname);
|
||||
@ -106,5 +111,5 @@ index 4d2afa946b7..ed1ca2f44b9 100644
|
||||
HeapFree(GetProcessHeap(), 0, nodeV6);
|
||||
|
||||
--
|
||||
2.27.0
|
||||
2.28.0
|
||||
|
||||
|
@ -1 +1 @@
|
||||
9a6e5b23293fbad3bbdcd52007402a3b9a1cb99d
|
||||
2ee75bf9ade3e90f10ffe4236c8c95d817402392
|
||||
|
Loading…
Reference in New Issue
Block a user