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

Alexandre Julliard julliard at winehq.org
Mon Jun 11 15:08:07 CDT 2012


Module: wine
Branch: master
Commit: 9af95b32433f2227c3d62b70dc7740a5fa0b81cf
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9af95b32433f2227c3d62b70dc7740a5fa0b81cf

Author: Jacek Caban <jacek at 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)) {




More information about the wine-cvs mailing list