From a8f57b8dad220459966ea91abafe320acd571b47 Mon Sep 17 00:00:00 2001 From: "gagan%netscape.com" Date: Thu, 24 May 2001 07:12:06 +0000 Subject: [PATCH] Fix for bug 81214. We were running the PAC routines even for non-relevant scheme URLs like chrome, file, etc. Added a check to only process proxy related ones. r=pavlov, sr=darin, a=asa git-svn-id: svn://10.0.0.236/trunk@95863 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/netwerk/base/src/nsProtocolProxyService.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mozilla/netwerk/base/src/nsProtocolProxyService.cpp b/mozilla/netwerk/base/src/nsProtocolProxyService.cpp index 65da67db528..c91bb841ff7 100644 --- a/mozilla/netwerk/base/src/nsProtocolProxyService.cpp +++ b/mozilla/netwerk/base/src/nsProtocolProxyService.cpp @@ -379,6 +379,15 @@ nsProtocolProxyService::ExamineForProxy(nsIURI *aURI, char * *aProxyHost, PRInt3 *aProxyHost = nsnull; *aProxyType = nsnull; *aProxyPort = -1; + + // we only know about http, https, ftp and gopher as yet... + // return nothing for others. See what happens otherwise in bug 81214 + PRBool validScheme = PR_FALSE; + if ((NS_FAILED(aURI->SchemeIs("http", &validScheme)) || !validScheme) && + (NS_FAILED(aURI->SchemeIs("https", &validScheme)) || !validScheme) && + (NS_FAILED(aURI->SchemeIs("ftp", &validScheme)) || !validScheme ) && + (NS_FAILED(aURI->SchemeIs("gopher", &validScheme)) || !validScheme)) + return NS_OK; // if proxies are enabled and this host:port combo is // supposed to use a proxy, check for a proxy. @@ -406,7 +415,7 @@ nsProtocolProxyService::ExamineForProxy(nsIURI *aURI, char * *aProxyHost, PRInt3 nsXPIDLCString scheme; rv = aURI->GetScheme(getter_Copies(scheme)); if (NS_FAILED(rv)) return rv; - + if (mHTTPProxyHost.get()[0] && mHTTPProxyPort > 0 && !PL_strcasecmp(scheme, "http")) { *aProxyHost = PL_strdup(mHTTPProxyHost);