http://bugs.winehq.org/show_bug.cgi?id=16290
Summary: Microsoft's logging version of wininet.dll doesn't work with Wine Product: Wine Version: 1.1.9 Platform: Other URL: http://www.microsoft.com/downloads/details.aspx?FamilyID =57ad7099-de71-4b1c-8147-725545454146 OS/Version: other Status: NEW Keywords: download Severity: enhancement Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: dank@kegel.com
OK, this might be a bit unreasonable, but: Microsoft has a logging implementation of wininet that they give out to users to help in troubleshooting; see http://support.microsoft.com/kb/884931 and http://www.microsoft.com/downloads/details.aspx?FamilyID=57ad7099-de71-4b1c-...
It might come in handy to have their version running on Wine and generating nice log files, so I gave it a shot.
That comes with several versions of wininet.dll. I tried the WinXP SP2 one by doing cabextract IE-KB884931-v2-x86-enu.exe cp wininet.x86.6.0.2900.2180.dll ~/.wine/drive_c/windows/system32/wininet.dll and then setting native override on wininet in winecfg, then tried running a wininet test case, cd dlls/wininet/tests ~/wine-git/wine wininet_test.exe.so ftp.c This crashed because a crazy length was passed to a string compare function:
Unhandled exception: page fault on read access to 0x772c6d0a in 32-bit code (0xb7e60174). Backtrace: =>1 wine_compare_string+0x24(flags=268435457, str1=0x77063d2c, len1=1251312, str2=0x770f0968, len2=1251312) [libs/wine/sortkey.c:329] in libwine.so.1 2 CompareStringW+0x104(lcid=1031, style=268435457, str1=0x77063d2c, len1=1251312, str2=0x770f0968, len2=1251312) [dlls/kernel32/locale.c:2678] in kernel32 3 StrIsIntlEqualW+0xcf(bCase=0, lpszStr=0x77063d2c, lpszComp=0x770f0968, iLen=1251312) [dlls/shlwapi/string.c:2063] in shlwapi 4 0x770c7a3d in wininet (+0x77a3d) (0x0032fb7c) ...
I also tried the Win2003 SP2 version: cp wininet.x86.6.0.3790.1830.dll ~/.wine/drive_c/windows/system32/wininet.dll This crashed with Unhandled exception: page fault on read access to 0x00000007 in 32-bit code (0x7ee3fddf). Backtrace: =>1 CreateMutexExW+0x30(sa=0xffffffff, name=0x32f92c, flags=0, access=2031617) [dlls/kernel32/sync.c:742] in kernel32 2 CreateMutexExA+0xc4(sa=0xffffffff, name="_!MSFTHISTORY!_", flags=0, access=2031617) [dlls/kernel32/sync.c:725] in kernel32 3 CreateMutexA+0x3a(sa=0xffffffff, owner=0, name="_!MSFTHISTORY!_") [dlls/kernel32/sync.c:698] in kernel32 4 0x75ba879e in wininet (+0x7879e) ... 742 attr.Attributes = OBJ_OPENIF | ((sa && sa->bInheritHandle) ? OBJ_INHERIT : 0);
Not sure how much effort it's worth to track these down, but filing a bug just in case.