urlmon: Use error dialog for ERROR_INTERNET_SEC_CERT_REV_FAILED error if IHttpSecurity returns S_FALSE.

This commit is contained in:
Jacek Caban 2012-06-11 16:14:45 +02:00 committed by Alexandre Julliard
parent f241014f46
commit 9af95b3243
1 changed files with 7 additions and 5 deletions

View File

@ -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)) {