Module: wine Branch: master Commit: 9af95b32433f2227c3d62b70dc7740a5fa0b81cf URL: http://source.winehq.org/git/wine.git/?a=commit;h=9af95b32433f2227c3d62b70dc...
Author: Jacek Caban jacek@codeweavers.com Date: Mon Jun 11 16:14:45 2012 +0200
urlmon: Use error dialog for ERROR_INTERNET_SEC_CERT_REV_FAILED error if IHttpSecurity returns S_FALSE.
---
dlls/urlmon/http.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/dlls/urlmon/http.c b/dlls/urlmon/http.c index d5f2b33..c67d36e 100644 --- a/dlls/urlmon/http.c +++ b/dlls/urlmon/http.c @@ -129,6 +129,8 @@ static HRESULT handle_http_error(HttpProtocol *This, DWORD error) DWORD res; HRESULT hres;
+ TRACE("(%p %u)\n", This, error); + switch(error) { case ERROR_INTERNET_SEC_CERT_DATE_INVALID: case ERROR_INTERNET_SEC_CERT_CN_INVALID: @@ -162,6 +164,8 @@ static HRESULT handle_http_error(HttpProtocol *This, DWORD error) hres = IHttpSecurity_OnSecurityProblem(http_security, error); IHttpSecurity_Release(http_security);
+ TRACE("OnSecurityProblem returned %08x\n", hres); + if(hres != S_FALSE) { BOOL res = FALSE; @@ -195,15 +199,13 @@ static HRESULT handle_http_error(HttpProtocol *This, DWORD error)
switch(error) { case ERROR_INTERNET_SEC_CERT_REV_FAILED: - if(hres == S_FALSE) { - hres = internet_error_to_hres(error); - }else { + if(hres != S_FALSE) { /* Silently ignore the error. We will get more detailed error from wininet anyway. */ set_security_flag(This, SECURITY_FLAG_IGNORE_REVOCATION); hres = RPC_E_RETRY; + break; } - break; - + /* fallthrough */ default: hres = IServiceProvider_QueryService(serv_prov, &IID_IWindowForBindingUI, &IID_IWindowForBindingUI, (void**)&wfb_ui); if(SUCCEEDED(hres)) {