Bug 1308725 - Remove network.http.sendSecureXSiteReferrer pref. r?dragana
MozReview-Commit-ID: LQgxMijXIaF
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -1451,20 +1451,16 @@ pref("network.http.accept.default", "tex
pref("network.http.sendRefererHeader", 2);
// false=real referer, true=spoof referer (use target URI as referer)
pref("network.http.referer.spoofSource", false);
// 0=full URI, 1=scheme+host+port+path, 2=scheme+host+port
pref("network.http.referer.trimmingPolicy", 0);
// 0=always send, 1=send iff base domains match, 2=send iff hosts match
pref("network.http.referer.XOriginPolicy", 0);
-// Controls whether we send HTTPS referres to other HTTPS sites.
-// By default this is enabled for compatibility (see bug 141641)
-pref("network.http.sendSecureXSiteReferrer", true);
-
// Controls whether referrer attributes in <a>, <img>, <area>, <iframe>, and <link> are honoured
pref("network.http.enablePerElementReferrer", true);
// Maximum number of consecutive redirects before aborting.
pref("network.http.redirection-limit", 20);
// Enable http compression: comment this out in case of problems with 1.1
// NOTE: support for "compress" has been disabled per bug 196406.
--- a/netwerk/protocol/http/HttpBaseChannel.cpp
+++ b/netwerk/protocol/http/HttpBaseChannel.cpp
@@ -1403,32 +1403,16 @@ HttpBaseChannel::SetReferrerWithPolicy(n
// It's ok to send referrer for https-to-http scenarios if the referrer
// policy is "unsafe-url", "origin", or "origin-when-cross-origin".
if (referrerPolicy != REFERRER_POLICY_UNSAFE_URL &&
referrerPolicy != REFERRER_POLICY_ORIGIN_WHEN_XORIGIN &&
referrerPolicy != REFERRER_POLICY_ORIGIN) {
// in other referrer policies, https->http is not allowed...
if (!match) return NS_OK;
-
- // ...and https->https is possibly only allowed if the hosts match.
- if (!gHttpHandler->SendSecureXSiteReferrer()) {
- nsAutoCString referrerHost;
- nsAutoCString host;
-
- rv = referrer->GetAsciiHost(referrerHost);
- if (NS_FAILED(rv)) return rv;
-
- rv = mURI->GetAsciiHost(host);
- if (NS_FAILED(rv)) return rv;
-
- // GetAsciiHost returns lowercase hostname.
- if (!referrerHost.Equals(host))
- return NS_OK;
- }
}
}
// for cross-origin-based referrer changes (not just host-based), figure out
// if the referrer is being sent cross-origin.
nsCOMPtr<nsIURI> triggeringURI;
bool isCrossOrigin = true;
if (mLoadInfo) {
--- a/netwerk/protocol/http/nsHttpHandler.cpp
+++ b/netwerk/protocol/http/nsHttpHandler.cpp
@@ -197,17 +197,16 @@ nsHttpHandler::nsHttpHandler()
, mLastUniqueID(NowInSeconds())
, mSessionStartTime(0)
, mLegacyAppName("Mozilla")
, mLegacyAppVersion("5.0")
, mProduct("Gecko")
, mCompatFirefoxEnabled(false)
, mUserAgentIsDirty(true)
, mPromptTempRedirect(true)
- , mSendSecureXSiteReferrer(true)
, mEnablePersistentHttpsCaching(false)
, mDoNotTrackEnabled(false)
, mSafeHintEnabled(false)
, mParentalControlEnabled(false)
, mHandlerActive(false)
, mTelemetryEnabled(false)
, mAllowExperiments(true)
, mDebugObservations(false)
@@ -1225,22 +1224,16 @@ nsHttpHandler::PrefsChanged(nsIPrefBranc
}
if (PREF_CHANGED(HTTP_PREF("qos"))) {
rv = prefs->GetIntPref(HTTP_PREF("qos"), &val);
if (NS_SUCCEEDED(rv))
mQoSBits = (uint8_t) clamped(val, 0, 0xff);
}
- if (PREF_CHANGED(HTTP_PREF("sendSecureXSiteReferrer"))) {
- rv = prefs->GetBoolPref(HTTP_PREF("sendSecureXSiteReferrer"), &cVar);
- if (NS_SUCCEEDED(rv))
- mSendSecureXSiteReferrer = cVar;
- }
-
if (PREF_CHANGED(HTTP_PREF("accept.default"))) {
nsXPIDLCString accept;
rv = prefs->GetCharPref(HTTP_PREF("accept.default"),
getter_Copies(accept));
if (NS_SUCCEEDED(rv))
SetAccept(accept);
}
--- a/netwerk/protocol/http/nsHttpHandler.h
+++ b/netwerk/protocol/http/nsHttpHandler.h
@@ -78,17 +78,16 @@ public:
const nsAFlatCString &UserAgent();
nsHttpVersion HttpVersion() { return mHttpVersion; }
nsHttpVersion ProxyHttpVersion() { return mProxyHttpVersion; }
uint8_t ReferrerLevel() { return mReferrerLevel; }
bool SpoofReferrerSource() { return mSpoofReferrerSource; }
uint8_t ReferrerTrimmingPolicy() { return mReferrerTrimmingPolicy; }
uint8_t ReferrerXOriginPolicy() { return mReferrerXOriginPolicy; }
- bool SendSecureXSiteReferrer() { return mSendSecureXSiteReferrer; }
bool PackagedAppsEnabled() { return mPackagedAppsEnabled; }
uint8_t RedirectionLimit() { return mRedirectionLimit; }
PRIntervalTime IdleTimeout() { return mIdleTimeout; }
PRIntervalTime SpdyTimeout() { return mSpdyTimeout; }
PRIntervalTime ResponseTimeout() {
return mResponseTimeoutEnabled ? mResponseTimeout : 0;
}
PRIntervalTime ResponseTimeoutEnabled() { return mResponseTimeoutEnabled; }
@@ -487,19 +486,16 @@ private:
nsCString mDeviceModelId;
nsCString mUserAgent;
nsXPIDLCString mUserAgentOverride;
bool mUserAgentIsDirty; // true if mUserAgent should be rebuilt
bool mPromptTempRedirect;
- // mSendSecureXSiteReferrer: default is false,
- // if true allow referrer headers between secure non-matching hosts
- bool mSendSecureXSiteReferrer;
// Persistent HTTPS caching flag
bool mEnablePersistentHttpsCaching;
// For broadcasting tracking preference
bool mDoNotTrackEnabled;
// for broadcasting safe hint;