[Bug 37562] Skype 6.x opens apps.skype.com in external browser on every start

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Nov 16 15:08:12 CST 2014


https://bugs.winehq.org/show_bug.cgi?id=37562

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
                 CC|                            |focht at gmx.net
          Component|-unknown                    |urlmon
            Summary|Skype opens apps.skype.com  |Skype 6.x opens
                   |on every start              |apps.skype.com in external
                   |                            |browser on every start
     Ever confirmed|0                           |1

--- Comment #2 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

according to
http://community.skype.com/t5/Windows-desktop-client/Skype-is-opening-a-Browser-s-tab-Window-each-time/td-p/3573947

http://community.skype.com/t5/Windows-archive/The-New-Banner-Ad-s-Above-People-s-Profiles/m-p/2971118#M239490

https://apps.skype.com/chatadwidget/ has the purpose to annoy the user with ads
in the chat window.

Garbage from that site is supposed to be embedded every time unless one takes
further action (buying credit, using old Skype version or simply hack it).

The external browser opening is the result of Wine's 'urlmon' handling when the
client returns 'INET_E_DEFAULT_ACTION' during protocol binding.

--- snip ---
...
0023:trace:urlmon:BPInternetProtocolSink_ReportProgress (0x39bbb88)->(1
L"https://apps.skype.com/chatadwidget/")
0023:trace:urlmon:ProtocolSinkHandler_ReportProgress
(0x39bbb88)->(BINDSTATUS_FINDINGRESOURCE
L"https://apps.skype.com/chatadwidget/")
0023:trace:urlmon:InternetProtocolSink_ReportProgress
(0x39c14d0)->(BINDSTATUS_FINDINGRESOURCE
L"https://apps.skype.com/chatadwidget/")
0023:trace:urlmon:BindStatusCallback_OnProgress 0x39bef58)->(0 0
BINDSTATUS_FINDINGRESOURCE L"https://apps.skype.com/chatadwidget/")
0023:trace:ieframe:BindStatusCallback_OnProgress (0x3b01c58)->(0 0 1
L"https://apps.skype.com/chatadwidget/")
0023:trace:ieframe:set_status_text (0x3b01c58, 1,
L"https://apps.skype.com/chatadwidget/")
...
0023:trace:ieframe:set_status_text => L"Searching for
https://apps.skype.com/chatadwidget/"
...
0023:trace:urlmon:BindProtocol_Release (0x39bbb88) ref=4
0023:trace:urlmon:BindProtocol_Release (0x39bbb88) ref=3
0023:trace:urlmon:start_binding start ret 800c0011
0023:trace:urlmon:BindStatusCallback_OnStopBinding (0x39bef58)->(800c0011
(null))
0023:trace:ieframe:BindStatusCallback_OnStopBinding (0x3b01c58)->(800c0011
(null))
0023:trace:ieframe:set_status_text (0x3b01c58, 0, L"")
...
0023:trace:ieframe:set_status_text => L"" 
...
0023:trace:ieframe:WebBrowser_AddRef (0x3affe40) ref=12
...
0023:trace:ieframe:WebBrowser_Release (0x3affe40) ref=11
...
0023:fixme:ieframe:handle_navigation_error Navigate to error page
0023:trace:ieframe:WebBrowser_Release (0x3affe40) ref=10
0023:trace:urlmon:Binding_Release (0x39c14d0) ref=4
0023:trace:urlmon:Binding_Release (0x39c14d0) ref=3
0023:Call urlmon.CoInternetParseUrl(03b01c8c
L"https://apps.skype.com/chatadwidget/",0000000d,00000000,0033df44
L"\d8f8\7a21\df543\df703\e000\7de9\2c48\0017\e0083\0011\800c\4000\7ec6\e000\7de9\e0083\8ace\7de3\fd60\039b\0ec8\03b0\df58\039b\d8f8\7a21\e0443\df58\039b",00000040,00000000,00000000)
ret=7a200055
0023:trace:urlmon:parse_schema (L"https://apps.skype.com/chatadwidget/"
00000000 0x33df44 64 (nil))
0023:Ret  urlmon.CoInternetParseUrl() retval=00000000 ret=7a200055
0023:Call advapi32.RegOpenKeyW(80000000,0033df44 L"https",0033df40)
ret=7a20008b
0023:Ret  advapi32.RegOpenKeyW() retval=00000000 ret=7a20008b
0023:Call advapi32.RegQueryValueExW(0000050c,7a2194f4 L"URL
Protocol",00000000,0033df3c,00000000,00000000) ret=7a2000db
0023:Ret  advapi32.RegQueryValueExW() retval=00000000 ret=7a2000db
0023:Call advapi32.RegCloseKey(0000050c) ret=7a2000ef
0023:Ret  advapi32.RegCloseKey() retval=00000000 ret=7a2000ef
0023:trace:ieframe:try_application_url opening application L"https"
0023:Call shell32.ShellExecuteExW(0033dfc4) ret=7a2001a2
...
0023:Call KERNEL32.CreateProcessW(00000000,0033cb68
L"https://apps.skype.com/chatadwidget/",00000000,00000000,00000000,00000410,00000000,00000000,0033c220,0033c210)
ret=7dc326a3 
...
0023:Ret  KERNEL32.CreateProcessW() retval=00000000 ret=7dc326a3 
...
0023:Call user32.DdeInitializeW(0033aad4,7dc336b4,00000010,00000000)
ret=7dc33e26 
...
0023:Ret  user32.DdeConnect() retval=00000000 ret=7dc33eec
0023:Call KERNEL32.CreateProcessW(00000000,0033b808
L"\"C:\\windows\\system32\\winebrowser.exe\"
-nohome",00000000,00000000,00000000,00000410,00000000,00000000,0033a000,00339ff0)
ret=7dc326a3 
...
--- snip ---

'BindProtocol_StartEx' calls client's 'IInternetProtocol::Start'

The client returns 0x800c0011 -> 'INET_E_DEFAULT_ACTION' (expected) which Wine
handles differently than native 'urlmon'.
It stops binding and defers further action to default registry protocol
association which in turns creates an own browser process (or reuses existing
native browser).

Likely the same issue as bug 24285 or other bugs with applications that make
use of embedded browser control but get external browser processes via default
registry assoc handler.

'winetricks -q ie8' works around but only 'urlmon' and its link dependencies
are really needed here.

$ sha1sum SkypeSetup.msi 
7b600669da6d47d9a89b2093fea845daa02c81a8  SkypeSetup.msi

$ du -sh SkypeSetup.msi 
28M    SkypeSetup.msi

$ wine --version
wine-1.7.31

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.



More information about the wine-bugs mailing list