Hello community, here is the log from the commit of package wine for openSUSE:Factory checked in at 2015-08-13 18:10:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/wine (Old) and /work/SRC/openSUSE:Factory/.wine.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wine" Changes: -------- --- /work/SRC/openSUSE:Factory/wine/wine.changes 2015-08-03 17:22:17.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.wine.new/wine.changes 2015-08-13 18:11:02.000000000 +0200 @@ -1,0 +2,16 @@ +Thu Aug 13 06:21:54 UTC 2015 - [email protected] + +- susepatches.patch: fix ms word + +------------------------------------------------------------------- +Sat Aug 8 10:57:45 UTC 2015 - [email protected] + +- Updated to 1.7.49 development snapshot + - DirectWrite is now good enough for rendering text in Steam. + - A number of Direct2D improvements. + - Some more OpenMP functions. + - Support for namespaces in the IDL compiler. + - Various bug fixes. +- winetricks update + +------------------------------------------------------------------- Old: ---- wine-1.7.48.tar.bz2 wine-1.7.48.tar.bz2.sign New: ---- susepatches.patch wine-1.7.49.tar.bz2 wine-1.7.49.tar.bz2.sign ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ wine.spec ++++++ --- /var/tmp/diff_new_pack.rOjCUp/_old 2015-08-13 18:11:05.000000000 +0200 +++ /var/tmp/diff_new_pack.rOjCUp/_new 2015-08-13 18:11:05.000000000 +0200 @@ -57,7 +57,7 @@ BuildRequires: update-desktop-files BuildRequires: valgrind-devel BuildRequires: xorg-x11-devel -Version: 1.7.48 +Version: 1.7.49 Release: 0 Summary: An MS Windows Emulator License: LGPL-2.1+ @@ -80,7 +80,7 @@ Source7: baselibs.conf # SUSE specific patches # - currently none, but add them here -#Patch0: susepatches.patch +Patch0: susepatches.patch Recommends: wine-gecko >= 2.24 Recommends: wine-mp3 # not packaged in distro... @@ -125,7 +125,7 @@ %prep %setup -q -#%patch0 -p1 +%patch0 -p1 # cp %{S:3} . # ++++++ susepatches.patch ++++++ commit 38076fa63308417429617f959ce44315b604424c Author: Sebastian Lackner <[email protected]> Date: Mon Aug 10 18:31:56 2015 +0200 ntdll: Move cookie initialization code from memory management to loader. diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c index 0e91af4..d15b140 100644 --- a/dlls/ntdll/loader.c +++ b/dlls/ntdll/loader.c @@ -50,6 +50,12 @@ WINE_DECLARE_DEBUG_CHANNEL(snoop); WINE_DECLARE_DEBUG_CHANNEL(loaddll); WINE_DECLARE_DEBUG_CHANNEL(imports); +#ifdef _WIN64 +#define DEFAULT_SECURITY_COOKIE_64 (((ULONGLONG)0x00002b99 << 32) | 0x2ddfa232) +#endif +#define DEFAULT_SECURITY_COOKIE_32 0xbb40e64e +#define DEFAULT_SECURITY_COOKIE_16 (DEFAULT_SECURITY_COOKIE_32 >> 16) + /* we don't want to include winuser.h */ #define RT_MANIFEST ((ULONG_PTR)24) #define ISOLATIONAWARE_MANIFEST_RESOURCE_ID ((ULONG_PTR)2) @@ -1602,6 +1608,55 @@ static void load_builtin_callback( void *module, const char *filename ) } +/*********************************************************************** + * set_security_cookie + * + * Create a random security cookie for buffer overflow protection. Make + * sure it does not accidentally match the default cookie value. + */ +static void set_security_cookie( void *module, SIZE_T len ) +{ + static ULONG seed; + IMAGE_LOAD_CONFIG_DIRECTORY *loadcfg; + ULONG loadcfg_size; + ULONG_PTR *cookie; + + loadcfg = RtlImageDirectoryEntryToData( module, TRUE, IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG, &loadcfg_size ); + if (!loadcfg) return; + if (loadcfg_size < offsetof(IMAGE_LOAD_CONFIG_DIRECTORY, SecurityCookie) + sizeof(loadcfg->SecurityCookie)) return; + if (!loadcfg->SecurityCookie) return; + if (loadcfg->SecurityCookie < (ULONG_PTR)module || + loadcfg->SecurityCookie > (ULONG_PTR)module + len - sizeof(ULONG_PTR)) + { + WARN( "security cookie %p outside of image %p-%p\n", + (void *)loadcfg->SecurityCookie, module, (char *)module + len ); + return; + } + + cookie = (ULONG_PTR *)loadcfg->SecurityCookie; + TRACE( "initializing security cookie %p\n", cookie ); + + if (!seed) seed = NtGetTickCount() ^ GetCurrentProcessId(); + for (;;) + { + if (*cookie == DEFAULT_SECURITY_COOKIE_16) + *cookie = RtlRandom( &seed ) >> 16; /* leave the high word clear */ + else if (*cookie == DEFAULT_SECURITY_COOKIE_32) + *cookie = RtlRandom( &seed ); +#ifdef DEFAULT_SECURITY_COOKIE_64 + else if (*cookie == DEFAULT_SECURITY_COOKIE_64) + { + *cookie = RtlRandom( &seed ); + /* fill up, but keep the highest word clear */ + *cookie ^= (ULONG_PTR)RtlRandom( &seed ) << 16; + } +#endif + else + break; + } +} + + /****************************************************************************** * load_native_dll (internal) */ @@ -1636,6 +1691,8 @@ static NTSTATUS load_native_dll( LPCWSTR load_path, LPCWSTR name, HANDLE file, goto done; } + set_security_cookie( module, len ); + /* fixup imports */ nt = RtlImageNtHeader( module ); diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c index 676675f..fe17518 100644 --- a/dlls/ntdll/virtual.c +++ b/dlls/ntdll/virtual.c @@ -61,12 +61,6 @@ WINE_DECLARE_DEBUG_CHANNEL(module); #define MAP_NORESERVE 0 #endif -#ifdef _WIN64 -#define DEFAULT_SECURITY_COOKIE_64 (((ULONGLONG)0x00002b99 << 32) | 0x2ddfa232) -#endif -#define DEFAULT_SECURITY_COOKIE_32 0xbb40e64e -#define DEFAULT_SECURITY_COOKIE_16 (DEFAULT_SECURITY_COOKIE_32 >> 16) - /* File view */ struct file_view { @@ -1060,37 +1054,6 @@ static NTSTATUS stat_mapping_file( struct file_view *view, struct stat *st ) } /*********************************************************************** - * set_security_cookie - * - * Create a random security cookie for buffer overflow protection. Make - * sure it does not accidentally match the default cookie value. - */ -static void set_security_cookie(ULONG_PTR *cookie) -{ - static ULONG seed; - - if (!cookie) return; - if (!seed) seed = NtGetTickCount() ^ GetCurrentProcessId(); - while (1) - { - if (*cookie == DEFAULT_SECURITY_COOKIE_16) - *cookie = RtlRandom( &seed ) >> 16; /* leave the high word clear */ - else if (*cookie == DEFAULT_SECURITY_COOKIE_32) - *cookie = RtlRandom( &seed ); -#ifdef DEFAULT_SECURITY_COOKIE_64 - else if (*cookie == DEFAULT_SECURITY_COOKIE_64) - { - *cookie = RtlRandom( &seed ); - /* fill up, but keep the highest word clear */ - *cookie ^= (ULONG_PTR)RtlRandom( &seed ) << 16; - } -#endif - else - break; - } -} - -/*********************************************************************** * map_image * * Map an executable (PE format) image into memory. @@ -1103,8 +1066,6 @@ static NTSTATUS map_image( HANDLE hmapping, int fd, char *base, SIZE_T total_siz IMAGE_SECTION_HEADER sections[96]; IMAGE_SECTION_HEADER *sec; IMAGE_DATA_DIRECTORY *imports; - IMAGE_LOAD_CONFIG_DIRECTORY *loadcfg; - ULONG loadcfg_size; NTSTATUS status = STATUS_CONFLICTING_ADDRESSES; int i; off_t pos; @@ -1316,16 +1277,6 @@ static NTSTATUS map_image( HANDLE hmapping, int fd, char *base, SIZE_T total_siz } } - /* randomize security cookie */ - - loadcfg = RtlImageDirectoryEntryToData( (HMODULE)ptr, TRUE, - IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG, &loadcfg_size ); - if (loadcfg && loadcfg_size >= offsetof(IMAGE_LOAD_CONFIG_DIRECTORY, SecurityCookie) + sizeof(loadcfg->SecurityCookie) && - (ULONG_PTR)ptr <= loadcfg->SecurityCookie && loadcfg->SecurityCookie <= (ULONG_PTR)ptr + total_size - sizeof(ULONG_PTR)) - { - set_security_cookie((ULONG_PTR *)loadcfg->SecurityCookie); - } - /* set the image protections */ VIRTUAL_SetProt( view, ptr, ROUND_SIZE( 0, header_size ), VPROT_COMMITTED | VPROT_READ ); ++++++ wine-1.7.48.tar.bz2 -> wine-1.7.49.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/wine/wine-1.7.48.tar.bz2 /work/SRC/openSUSE:Factory/.wine.new/wine-1.7.49.tar.bz2 differ: char 11, line 1 ++++++ winetricks ++++++ --- /var/tmp/diff_new_pack.rOjCUp/_old 2015-08-13 18:11:05.000000000 +0200 +++ /var/tmp/diff_new_pack.rOjCUp/_new 2015-08-13 18:11:05.000000000 +0200 @@ -5953,7 +5953,8 @@ # 2013/03/28: sha1sum 0eba832a0733cd47b7639463dd5a22a41e95ee6e # 2014/01/23: sha1sum 8818f3460826145e2a66bb91727afa7cd531037b # 2014/11/22: sha1sum 47de0b849c4c3d354df23588c709108e7816d788 - w_download http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-08-99-90-04/netfx_5F00_setupverifier_5F00_new.zip 47de0b849c4c3d354df23588c709108e7816d788 + # 2015/07/31: sha1sum 32f24526a5716737281dc260451b60a641b23c7e + w_download http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Components-PostAttachments/00-08-99-90-04/netfx_5F00_setupverifier_5F00_new.zip 32f24526a5716737281dc260451b60a641b23c7e cd "$W_CACHE"/dotnet_verifier @@ -7323,8 +7324,9 @@ # 2014-11-22 sha1sum: 644d3228654ded798eabe40e7044b96b90e742f6 # 2015-03-30 sha1sum: 9f2d4d929e7210ae9fb633881127b21586ffd8ce # 2015-04-27 sha1sum: 244e6a5c5fa2dd26c136bc5b402f6cad588763d7 + # 2015-08-02 sha1sum: e2efa2eb7db0a6de08905cd61bb3efcf58fda994 - w_download http://fpdownload.macromedia.com/get/shockwave/default/english/win95nt/latest/sw_lic_full_installer.msi 244e6a5c5fa2dd26c136bc5b402f6cad588763d7 + w_download http://fpdownload.macromedia.com/get/shockwave/default/english/win95nt/latest/sw_lic_full_installer.msi e2efa2eb7db0a6de08905cd61bb3efcf58fda994 cd "$W_CACHE"/shockwave w_try "$WINE" msiexec /i sw_lic_full_installer.msi $W_UNATTENDED_SLASH_Q } @@ -9104,11 +9106,11 @@ then w_call dxdiagn fi - if w_workaround_wine_bug 25715 + if w_workaround_wine_bug 25715 "" 1.7.28, then w_call quartz fi - if w_workaround_wine_bug 25716 + if w_workaround_wine_bug 25716 "" 1.7.29, then w_call devenum fi
