urlmon: Use error dialog for ERROR_INTERNET_SEC_CERT_REV_FAILED error if IHttpSecurity returns S_FALSE.
This commit is contained in:
parent
f241014f46
commit
9af95b3243
|
@ -129,6 +129,8 @@ static HRESULT handle_http_error(HttpProtocol *This, DWORD error)
|
||||||
DWORD res;
|
DWORD res;
|
||||||
HRESULT hres;
|
HRESULT hres;
|
||||||
|
|
||||||
|
TRACE("(%p %u)\n", This, error);
|
||||||
|
|
||||||
switch(error) {
|
switch(error) {
|
||||||
case ERROR_INTERNET_SEC_CERT_DATE_INVALID:
|
case ERROR_INTERNET_SEC_CERT_DATE_INVALID:
|
||||||
case ERROR_INTERNET_SEC_CERT_CN_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);
|
hres = IHttpSecurity_OnSecurityProblem(http_security, error);
|
||||||
IHttpSecurity_Release(http_security);
|
IHttpSecurity_Release(http_security);
|
||||||
|
|
||||||
|
TRACE("OnSecurityProblem returned %08x\n", hres);
|
||||||
|
|
||||||
if(hres != S_FALSE)
|
if(hres != S_FALSE)
|
||||||
{
|
{
|
||||||
BOOL res = FALSE;
|
BOOL res = FALSE;
|
||||||
|
@ -195,15 +199,13 @@ static HRESULT handle_http_error(HttpProtocol *This, DWORD error)
|
||||||
|
|
||||||
switch(error) {
|
switch(error) {
|
||||||
case ERROR_INTERNET_SEC_CERT_REV_FAILED:
|
case ERROR_INTERNET_SEC_CERT_REV_FAILED:
|
||||||
if(hres == S_FALSE) {
|
if(hres != S_FALSE) {
|
||||||
hres = internet_error_to_hres(error);
|
|
||||||
}else {
|
|
||||||
/* Silently ignore the error. We will get more detailed error from wininet anyway. */
|
/* Silently ignore the error. We will get more detailed error from wininet anyway. */
|
||||||
set_security_flag(This, SECURITY_FLAG_IGNORE_REVOCATION);
|
set_security_flag(This, SECURITY_FLAG_IGNORE_REVOCATION);
|
||||||
hres = RPC_E_RETRY;
|
hres = RPC_E_RETRY;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
/* fallthrough */
|
||||||
|
|
||||||
default:
|
default:
|
||||||
hres = IServiceProvider_QueryService(serv_prov, &IID_IWindowForBindingUI, &IID_IWindowForBindingUI, (void**)&wfb_ui);
|
hres = IServiceProvider_QueryService(serv_prov, &IID_IWindowForBindingUI, &IID_IWindowForBindingUI, (void**)&wfb_ui);
|
||||||
if(SUCCEEDED(hres)) {
|
if(SUCCEEDED(hres)) {
|
||||||
|
|
Loading…
Reference in New Issue