http://bugs.winehq.org/show_bug.cgi?id=20641
Summary: Problems loading dispatch and dual types in SLTG
TypeLibs
Product: Wine
Version: 1.1.32
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: oleaut32
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: sunilmohan(a)fsf.org.in
Created an attachment (id=24631)
--> (http://bugs.winehq.org/attachment.cgi?id=24631)
MS Oleviewer showing the typelib on Wine and Windows
When I tried to run a Visual Basic 6.0 application that uses Crystal Reports
8.5 ActiveX control, multiple problems popped up. The end result was that
invoking a method turns into an error that the method requested for could not
be found.
The attached screenshots best describe the problem. First screenshot shows
oleviewer displaying information about the typelib for the mentioned ocx
control on Wine and on Windows. The dispatch interface "CrystalReportEvents" is
not shown as being derived from IDispatch. And the dual types "IRowCursor" and
"CrystalCtl" as shown simply as interfaces.
The second screenshot shows a simple test application on Wine and on Windows.
We can see that TypeInfo members returned by Wine differ at many places
compared to the TypeInfo returned by Windows. Of interest is the type kind for
descriptions #0 and #7. Also the no. of interfaces implemented by description
#8.
I have patches that fix these two problems. With the patches all TypeInfo
members appear similar to the Windows output (except lcid). I am posting the
patches on wine-patches list.
Patch 1: Type descriptions of type kind DISPATCH can actually inherit from one
interface instead of specifying methods and properties according to MSDN. The
SLTG parser does not seem to handle this. I added code to read information
about inherited interfaces in DISPATCH types when available.
Patch 2: The documentation says that dual interfaces which implement both
INTERFACE and DISPATCH have to be returned first as DISPATCH types and then
INTERFACE type will be returned when calls to GetRefTypeOfImplType and
GetRefTypeInfo are made with -1 index. Clients are supposed to check for DUAL
flag and read the second type info accordingly. However, in SLTG typelib above,
the two dual types have type kind INTERFACE set on them. We must be returning
DISPATCH type first and then later the INTERFACE. So, I added code to return a
DUAL interface as DISPATCH type first in the SLTG parser. This fixes other
problems such as removing the AUTOMATION flag in the returned description and
proper function count.
Patch 3: I removed a check for DISPATCHABLE flag when GetRefTypeOfImplType is
called with -1 index for the following reasons. DUAL which is already being
checked for implies DISPATCHABLE. The SLTG type library being dealt with has
dual types without this flag set. The flag is a computed one and not present in
the IDL.
Patch 4: Updated a comment about a newly seen value in SLTG typelib that was
thought of to be constant.
After the fixes, our test case using the above activex seems to run fine. I ran
the tests but they don't seem to contain any SLTG library parsing tests.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=23824
Summary: Starcraft II: Installer doesn't always launch
Product: Wine
Version: 1.2
Platform: x86
OS/Version: Linux
Status: NEW
Keywords: Installer
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: austinenglish(a)gmail.com
At first, I thought it may be disk protection, since I was trying to install
from an ISO of my original disk, but the original disk has the same problem. I
also ruled out a mounting problem, I've mounted with -o ro,unhide,uid=$UID.
The strange part is, the install will sometimes work. I haven't figured out
what makes it work/fail. It seems to work better if there's nothing else
running in the prefix. A `wineserver -k` right before running `wine
Installer.exe' also seems to help.
Additionally, sometimes wine can't even seem to find the exe (!):
austin@laptop:/mnt/wisotool$ ls
autorun.inf disc.ico Installer.exe Installer Tome 1.MPQE Installer UI 1.MPQ
Installer UI 2.MPQE StarCraft II Installer.app
austin@laptop:/mnt/wisotool$ wine Installer.exe
wine: cannot find L"C:\\windows\\system32\\Installer.exe"
The terminal output when it fails to run isn't very insightful:
austin@laptop:/mnt/wisotool$ wine Installer.exe
fixme:process:GetLogicalProcessorInformation ((nil),0x33f5e4): stub
fixme:ntdll:NtPowerInformation semi-stub: SystemPowerCapabilities
fixme:process:GetLogicalProcessorInformation ((nil),0x33fa14): stub
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT
(60000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 60000
fixme:wininet:InternetSetOptionW Option INTERNET_OPTION_CONNECT_TIMEOUT
(60000): STUB
fixme:wininet:InternetSetOptionW INTERNET_OPTION_SEND/RECEIVE_TIMEOUT 60000
fixme:process:GetLogicalProcessorInformation ((nil),0xb7c5ac): stub
fixme:process:GetLogicalProcessorInformation ((nil),0xb7c5b4): stub
fixme:wininet:CommitUrlCacheEntryInternal entry already in cache - don't know
what to do!
fixme:process:GetLogicalProcessorInformation ((nil),0xe7e99c): stub
fixme:wininet:CommitUrlCacheEntryInternal entry already in cache - don't know
what to do!
fixme:process:GetLogicalProcessorInformation ((nil),0xe7e99c): stub
fixme:ntdll:server_ioctl_file Unsupported ioctl 24000 (device=2 access=1 func=0
method=0)
I've tried native wininet, since I'm grasping at straws, but that didn't help.
The ntdll fixme seems to be the relevant line those process fixme's show up
when the installer does actually run.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=26065
Summary: Starcraft 2 demo "Quit Campaign?" dialog missing text
Product: Wine
Version: 1.3.13
Platform: x86
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: dank(a)kegel.com
In the Starcraft 2 demo, click "Start Campaign", pick any difficulty,
click OK, wait for cutscene to start, press Escape to skip the cutscene.
The Mission Selection screen will appear. (This all takes about ten seconds.)
Click the CLOSE button in the lower right. This will bring up
the "Quit Campaign?" dialog, which on Windows has the words "Quit Campaign?"
and buttons Yes and No. On Wine, the words "Quit Campaign?" are missing.
They don't seem to be in a system font, they're in about the same
font as the words "Destroy the Dominion Outpost" or "Marine" in
the mission selection screen.
+font doesn't seem to show anything interesting, nor does +file.
Presumably their fonts are not stored in naked files nor rendered by the
system.
The fonts for Starcraft 2 seem to be kind of documented in
http://www.sc2mapster.com/api-docs/game-files/layout/font-styles-sc2style/
It looks like they use a mix of .ttf and .otf, for what it's worth.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=32175
Bug #: 32175
Summary: PPTV: titlebar duplicated
Product: Wine
Version: 1.5.16
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: jactry92(a)gmail.com
Classification: Unclassified
Created attachment 42449
--> http://bugs.winehq.org/attachment.cgi?id=42449
pptv.txt is the log
There are two titlebar of the program, just look like as the picture
'wine.png'.
you can reproduce it follow:
0. download it;
1. 'wine pptvsetup_3.2.1.0076.exe'
I have tried 'winetricks gdiplus' and it did't work for it.
attachments:
wine.png is what it look like in wine
windows.png is what it look like in windows
pptv_ui.txt is the log
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=32438
Bug #: 32438
Summary: winhttp:winhttp conformance test
WinHttpGetProxyForUrl() failure
Product: Wine
Version: 1.5.19
Platform: x86
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: winhttp
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: fgouget(a)codeweavers.com
Classification: Unclassified
My laptop gets the following test failure (see the fg-acer64-* winetest
results):
winhttp.c:2700: Test failed: got 12166
I looked into this and what's special about it is that its fqdn is
'hawai.free.fr'. I'm not 100% sure how this happens but I think it makes sense
given that my ISP is free.fr so this is just the combination of the hostname
'hawai' and the default domain 'free.fr' (my other machines are on various
private domains).
This causes WinHttpDetectAutoProxyConfigUrl() to check if wpad.free.fr is
resolvable, which it is. So it succeeds and returns:
http://212.27.63.171/wpad.dat
The problem is that wpad.free.fr is hosted on a virtual web host(1). That is a
single web server with a single IP address hosts multiple web sites and uses
the Host field in the HTTP header to determine which site is being accessed. So
accessing this page by IP address fails while accessing it as
http://wpad.free.fr/wpad.dat succeeds.
This error then causes WinHttpGetProxyForUrl() to fail because the string it is
given to parse is an HTML HTTP 500 error page. I have confirmed that if
WinHttpGetProxyForUrl() return http://wpad.free.fr/wpad.dat the test succeeds.
So why does WinHttpGetProxyForUrl() use the IP address to build the URL?
On Windows I could not get WinHttpDetectAutoProxyConfigUrl() to return anything
but ERROR_WINHTTP_AUTODETECTION_FAILED. I suspect it gets a different domain
name somehow.
(1) https://en.wikipedia.org/wiki/Virtual_hosting#Name-based
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=36569
Bug ID: 36569
Summary: TM.exe crashes at a certain time and native usp10
fixes it
Product: Wine
Version: 1.7.16
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: usp10
Assignee: wine-bugs(a)winehq.org
Reporter: lilydjwg(a)gmail.com
Created attachment 48659
--> http://bugs.winehq.org/attachment.cgi?id=48659
full log with WINEDEBUG=+tid,+seh,+uniscribe
When I use TM.exe to open a chat window for group 45045241 (Vim 草堂), the
program stops and then crashes, either by invoking TM's bug report program,
with exit code 52, and messages like this:
fixme:dbghelp:elf_search_auxv can't find symbol in module
or by just disappearing, with exit code 5, and a message like this:
err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr
0x7bc51688
This is not observed by me for other chatting groups yet.
wineticks -q usp10 can fix this.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=26657
Summary: cannot paste text into wine iexplore.exe when
browswing
Product: Wine
Version: 1.3.17
Platform: x86
URL: http://www.google.com
OS/Version: Linux
Status: NEW
Keywords: download
Severity: trivial
Priority: P2
Component: mshtml
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: austinenglish(a)gmail.com
$ wine http://www.google.com
copy some text to your clipboard. Click in the url bar, right click, paste.
Works fine. Click in the search box on google. Right click, paste:
fixme:mshtml:exec_mshtml_paste Unimplemented in browse mode
no text :(.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=34207
Bug #: 34207
Summary: dotnet20sp1 installer fails most of the time
Product: Wine
Version: 1.7.0
Platform: x86-64
URL: http://download.microsoft.com/download/0/8/c/08c19fa4-
4c4f-4ffb-9d6c-150906578c9e/NetFx20SP1_x86.exe
OS/Version: Linux
Status: NEW
Keywords: download, Installer, regression
Severity: minor
Priority: P2
Component: msi
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: kennybobs(a)o2.co.uk
CC: hans(a)meelstraat.net
Classification: Unclassified
Regression SHA1: b64fabf39e923ebfaa9a77ed9dea05acf7e38dcb
Created attachment 45510
--> http://bugs.winehq.org/attachment.cgi?id=45510
Wine 1.7.0 console output - Fail 1st run then success 2nd
dotnet20sp1 installer fails most of the time (around 2/3) in Wine 1.7.0
1. winetricks dotnet20
2. wine /mnt/winetricks/dotnet20sp1/NetFx20SP1_x86.exe /q
err:msi:ITERATE_Actions Execution halted, action
L"DD_CA_ScheduleNgenServiceVersionCheck_X86.3643236F_FC70_11D3_A536_0090278A1BB8"
returned 1603
Run the installer 2 to 4 times and it will complete successfully. dotnet
verifier confirms.
Setting win2k mode (winetricks dotnet20sp1) makes no difference.
This is a recent regression.
b64fabf39e923ebfaa9a77ed9dea05acf7e38dcb is the first bad commit
commit b64fabf39e923ebfaa9a77ed9dea05acf7e38dcb
Author: Hans Leidekker <hans(a)codeweavers.com>
Date: Mon Jun 3 12:09:54 2013 +0200
msi: Don't defer custom actions in the UI sequence if they match the
currently running script.
:040000 040000 4bd3894bebc82cbfdb53329581e607228c837869
f35105a4bc68d1c7118c6b5309780d89942f0828 M dlls
http://source.winehq.org/git/wine.git/commitdiff/b64fabf39e923ebfaa9a77ed9d…
Reverting this commit in Wine 1.7.0 fixes the problem. (There are other
problems with the installer but it completes).
Note: Affects winetricks dotnet20sp1 verb.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=35069
Bug #: 35069
Summary: Patrol Falcon runs without sound
Product: Wine
Version: 1.7.8
Platform: x86
URL: http://www.onlinegamesector.com/onlinefull/6129/patrol
-falcon.htm
OS/Version: Linux
Status: NEW
Keywords: download, regression
Severity: minor
Priority: P2
Component: winmm&mci
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: gyebro69(a)gmail.com
CC: aeikum(a)codeweavers.com
Classification: Unclassified
Regression SHA1: fdfff7cf6013a030f2b240b13b02831e502d49e7
Created attachment 46775
--> http://bugs.winehq.org/attachment.cgi?id=46775
audio debug log
This regression causes loss of audio in 2 games of mine: Patrol Falcon and
Eschalon: Book I (Steam version). These games are running without any sound
since
fdfff7cf6013a030f2b240b13b02831e502d49e7 is the first bad commit
commit fdfff7cf6013a030f2b240b13b02831e502d49e7
Author: Andrew Eikum <aeikum(a)codeweavers.com>
Date: Wed Aug 21 10:14:59 2013 -0500
winmm: Increase mmdevapi buffer sizes.
The tiny buffer size caused audio capture glitches on OSX, where the OS
often returns audio in half-second chunks.
Reverting the patch on 1.7.8 fixes the problem.
Fedora 19
Alsa 1.0.27 (Pulseaudio is not running)
Audio device: NVIDIA Corporation MCP61 High Definition Audio (rev a2)
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=36257
Bug ID: 36257
Summary: Gears of War fails on startup, reporting 'binkw32.dll:
You cannot run the game with modified executable code.
Please reinstall the game.' (WINTRUST_FILE_INFO file
handle member not reset on cleanup when opened
internally)
Product: Wine
Version: 1.7.17
Hardware: x86
OS: Linux
Status: NEW
Severity: normal
Priority: P2
Component: wintrust
Assignee: wine-bugs(a)winehq.org
Reporter: focht(a)gmx.net
Hello folks,
as the summary says.
No, this is not the infamous mess up that hit everyone who bought this game in
Jan 2009: https://support.microsoft.com/kb/967644
(the original PE executables carry an Authenticode Signature with an expiry
date Jan 29, 2009)
Unfortunately, even with the re-signed/updated executables the message is still
shown.
Relevant part of trace log:
--- snip ---
$ pwd
/home/focht/.wine/drive_c/Program Files/Gears of War/Binaries
$ WINEDEBUG=+tid,+seh,+relay,+wintrust wine ./Startup.exe >>log.txt 2>&1
...
0027:Call wintrust.WinVerifyTrust(00000000,024af720,024af6f0) ret=00f78780
0027:trace:wintrust:WinVerifyTrust ((nil),
{00aac56b-cd44-11d0-8cc2-00c04fc295ee}, 0x24af6f0)
0027:trace:wintrust:dump_wintrust_data 0x24af6f0
0027:trace:wintrust:dump_wintrust_data cbStruct: 48
0027:trace:wintrust:dump_wintrust_data pPolicyCallbackData: (nil)
0027:trace:wintrust:dump_wintrust_data pSIPClientData: (nil)
0027:trace:wintrust:dump_wintrust_data dwUIChoice: 2
0027:trace:wintrust:dump_wintrust_data fdwRevocationChecks: 00000000
0027:trace:wintrust:dump_wintrust_data dwUnionChoice: 1
0027:trace:wintrust:dump_file_info 0x24af6d4
0027:trace:wintrust:dump_file_info cbStruct: 16
0027:trace:wintrust:dump_file_info pcwszFilePath: L"C:\\Program Files\\Gears of
War\\Binaries\\WarGame-G4WLive.exe"
0027:trace:wintrust:dump_file_info hFile: (nil)
0027:trace:wintrust:dump_file_info pgKnownSubject: (null)
0027:trace:wintrust:dump_wintrust_data dwStateAction: 0
0027:trace:wintrust:dump_wintrust_data hWVTStateData: (nil)
0027:trace:wintrust:dump_wintrust_data pwszURLReference: (null)
0027:trace:wintrust:dump_wintrust_data dwProvFlags: 00000100
0027:trace:wintrust:dump_wintrust_data dwUIContext: 0
...
0027:Call
wintrust.CryptSIPGetSignedDataMsg(0016c5b8,0016c3e8,00000000,024af420,00000000)
ret=7de26f02
0027:trace:wintrust:CryptSIPGetSignedDataMsg (0x16c5b8 0x16c3e8 0 0x24af420
(nil))
0027:trace:wintrust:WINTRUST_GetSignedMsgFromPEFile (0x16c5b8 0x16c3e8 0
0x24af420 (nil))
...
0027:trace:wintrust:WINTRUST_GetTimeFromSigner returning time from message
1/29/2009
0027:trace:wintrust:WINTRUST_AddSgnr (0x16c3b0, 0, 0, 0x24af414)
...
0027:trace:wintrust:WINTRUST_AddCert (0x16c3b0, 0, 0, 0, 0x4eda754)
...
0027:Call
crypt32.CertVerifyCertificateChainPolicy(00000002,04ed8ac0,024af440,024af464)
ret=7debb243
0027:Ret crypt32.CertVerifyCertificateChainPolicy() retval=00000001
ret=7debb243
0027:trace:wintrust:SoftpubAuthenticode returning 0 (00000000)
0027:Ret wintrust.SoftpubAuthenticode() retval=00000000 ret=7debc27a
0027:trace:wintrust:WINTRUST_DefaultVerify returning 00000000
0027:trace:wintrust:WINTRUST_DefaultClose ((nil),
{00aac56b-cd44-11d0-8cc2-00c04fc295ee}, 0x24af6f0)
0027:Call wintrust.SoftpubCleanup(0016c3b0) ret=7debc7a4
...
0027:trace:wintrust:WINTRUST_DefaultClose returning 00000000
0027:trace:wintrust:WINTRUST_DefaultVerifyAndClose returning 00000000
0027:trace:wintrust:WinVerifyTrust returning 00000000
0027:Ret wintrust.WinVerifyTrust() retval=00000000 ret=00f78780
--- snip ---
The first file 'C:\\Program Files\\Gears of War\\Binaries\\WarGame-G4WLive.exe'
is successfully validated.
The second file 'binkw32.dll' fails ...
--- snip ---
0027:Call wintrust.WinVerifyTrust(00000000,024af720,024af6f0) ret=00f78780
0027:trace:wintrust:WinVerifyTrust ((nil),
{00aac56b-cd44-11d0-8cc2-00c04fc295ee}, 0x24af6f0)
0027:trace:wintrust:dump_wintrust_data 0x24af6f0
0027:trace:wintrust:dump_wintrust_data cbStruct: 48
0027:trace:wintrust:dump_wintrust_data pPolicyCallbackData: (nil)
0027:trace:wintrust:dump_wintrust_data pSIPClientData: (nil)
0027:trace:wintrust:dump_wintrust_data dwUIChoice: 2
0027:trace:wintrust:dump_wintrust_data fdwRevocationChecks: 00000000
0027:trace:wintrust:dump_wintrust_data dwUnionChoice: 1
0027:trace:wintrust:dump_file_info 0x24af6d4
0027:trace:wintrust:dump_file_info cbStruct: 16
0027:trace:wintrust:dump_file_info pcwszFilePath: L"binkw32.dll"
0027:trace:wintrust:dump_file_info hFile: 0x12c
0027:trace:wintrust:dump_file_info pgKnownSubject: (null)
0027:trace:wintrust:dump_wintrust_data dwStateAction: 0
0027:trace:wintrust:dump_wintrust_data hWVTStateData: (nil)
0027:trace:wintrust:dump_wintrust_data pwszURLReference: (null)
0027:trace:wintrust:dump_wintrust_data dwProvFlags: 00000100
0027:trace:wintrust:dump_wintrust_data dwUIContext: 0
0027:trace:wintrust:WINTRUST_DefaultVerifyAndClose ((nil),
{00aac56b-cd44-11d0-8cc2-00c04fc295ee}, 0x24af6f0)
0027:trace:wintrust:WINTRUST_DefaultVerify ((nil),
{00aac56b-cd44-11d0-8cc2-00c04fc295ee}, 0x24af6f0)
...
0027:Call wintrust.SoftpubInitialize(0016cc90) ret=7debc27a
0027:trace:wintrust:SoftpubInitialize (0x16cc90)
0027:trace:wintrust:SoftpubInitialize returning 00000000
0027:Ret wintrust.SoftpubInitialize() retval=00000000 ret=7debc27a
0027:Call wintrust.SoftpubLoadMessage(0016cc90) ret=7debc27a
0027:trace:wintrust:SoftpubLoadMessage (0x16cc90)
0027:Call KERNEL32.GetFileTime(0000012c,0016ccf0,00000000,00000000)
ret=7deb8a5c
0027:Ret KERNEL32.GetFileTime() retval=00000000 ret=7deb8a5c
0027:trace:wintrust:SOFTPUB_OpenFile returning 0
0027:Call crypt32.CryptSIPRetrieveSubjectGuid(03a618c0
L"binkw32.dll",0000012c,0016e2dc) ret=7deb8b27
0027:Call
KERNEL32.SetFilePointerEx(0000012c,00000000,00000000,024af328,00000001)
ret=7de25ce2
0027:Ret KERNEL32.SetFilePointerEx() retval=00000000 ret=7de25ce2
0027:Call KERNEL32.SetFilePointer(0000012c,00000000,00000000,00000000)
ret=7de25d08
0027:Ret KERNEL32.SetFilePointer() retval=ffffffff ret=7de25d08
0027:Call KERNEL32.ReadFile(0000012c,024af324,00000004,024af338,00000000)
ret=7de25d37
0027:Ret KERNEL32.ReadFile() retval=00000000 ret=7de25d37
0027:Call
KERNEL32.SetFilePointerEx(0000012c,7bcd1000,7bc3b401,00000000,00000000)
ret=7de265e5
0027:Ret KERNEL32.SetFilePointerEx() retval=00000000 ret=7de265e5
0027:Ret crypt32.CryptSIPRetrieveSubjectGuid() retval=00000000 ret=7deb8b27
0027:Call KERNEL32.GetFileSizeEx(0000012c,024af420) ret=7deb8b58
0027:Ret KERNEL32.GetFileSizeEx() retval=00000000 ret=7deb8b58
0027:trace:wintrust:SOFTPUB_GetFileSubject returning 6
0027:trace:wintrust:SoftpubLoadMessage returning 1 (00000006)
0027:Ret wintrust.SoftpubLoadMessage() retval=00000001 ret=7debc27a
0027:trace:wintrust:WINTRUST_DefaultVerify returning 00000006
0027:trace:wintrust:WINTRUST_DefaultClose ((nil),
{00aac56b-cd44-11d0-8cc2-00c04fc295ee}, 0x24af6f0)
0027:Call wintrust.SoftpubCleanup(0016cc90) ret=7debc7a4
...
0027:trace:wintrust:WINTRUST_DefaultClose returning 00000000
0027:trace:wintrust:WINTRUST_DefaultVerifyAndClose returning 00000006
0027:trace:wintrust:WinVerifyTrust returning 00000006
0027:Ret wintrust.WinVerifyTrust() retval=00000006 ret=00f78780
...
0027:Call user32.MessageBoxW(00000000,024a773c L"binkw32.dll: You cannot run
the game with modified executable code. Please reinstall the game.",01915d30
L"Message",00001000) ret=00f78081
--- snip ---
The data structure passed to WinVerifyTrust() is fully reused on subsequent
calls.
Only the filename is changed, all other members remain untouched - including
the file handle value.
Wine's wintrust set the 'hFile' member during processing of the first file but
forgot to reset the value upon return (in non-error case).
Since Wine checks the handle for NULL or INVALID_HANDLE_VALUE it assumes the
client passed a valid handle (which is not true because the client never dealt
with handles).
All file related API calls subsequently fail on the second PE image (returning
'FALSE'), indicated by lasterror 0x6 (invalid handle).
Source:
http://source.winehq.org/git/wine.git/blob/ba78b54820b5a5cdb4cdcfb5556b3578…
--- snip ---
76 /* Assumes data->pWintrustData->u.pFile exists. Makes sure a file handle is
77 * open for the file.
78 */
79 static DWORD SOFTPUB_OpenFile(CRYPT_PROVIDER_DATA *data)
80 {
81 DWORD err = ERROR_SUCCESS;
82
83 /* PSDK implies that all values should be initialized to NULL, so
callers
84 * typically have hFile as NULL rather than INVALID_HANDLE_VALUE. Check
85 * for both.
86 */
87 if (!data->pWintrustData->u.pFile->hFile ||
88 data->pWintrustData->u.pFile->hFile == INVALID_HANDLE_VALUE)
89 {
90 data->pWintrustData->u.pFile->hFile =
91 CreateFileW(data->pWintrustData->u.pFile->pcwszFilePath,
GENERIC_READ,
92 FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
NULL);
93 if (data->pWintrustData->u.pFile->hFile != INVALID_HANDLE_VALUE)
94 data->fOpenedFile = TRUE;
95 else
96 err = GetLastError();
97 }
98 if (!err)
99 GetFileTime(data->pWintrustData->u.pFile->hFile,
&data->sftSystemTime,
100 NULL, NULL);
101 TRACE("returning %d\n", err);
102 return err;
103 }
--- snip ---
Problem:
http://source.winehq.org/git/wine.git/blob/ba78b54820b5a5cdb4cdcfb5556b3578…
--- snip ---
1180 HRESULT WINAPI SoftpubCleanup(CRYPT_PROVIDER_DATA *data)
1181 {
...
1206
1207 CryptMsgClose(data->hMsg);
1208
1209 if (data->fOpenedFile &&
1210 data->pWintrustData->dwUnionChoice == WTD_CHOICE_FILE &&
1211 data->pWintrustData->u.pFile)
1212 CloseHandle(data->pWintrustData->u.pFile->hFile);
1213
1214 return S_OK;
1215 }
--- snip ---
If you close the handle you need to reset the handle value too.
I already tested a fix which lets the signature validation of all PE files
succeed.
This allows the game to run further - only to run into next problem.
Regards
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.