Bug 1328847 - Change SEC_NORMAL to SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL where system principal is used.

Tag #1273
This commit is contained in:
Matt A. Tobin 2019-11-10 17:25:51 -05:00 • committed by Roy Tam
commit d0d5ec75d5
10 changed files with 34 additions and 20 deletions

View file

@ -125,7 +125,7 @@ nsAbContentHandler::HandleContent(const char *aContentType,
uri, uri,
this, this,
nullPrincipal, nullPrincipal,
nsILoadInfo::SEC_NORMAL, nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
nsIContentPolicy::TYPE_OTHER); nsIContentPolicy::TYPE_OTHER);
NS_ENSURE_SUCCESS(rv, rv); NS_ENSURE_SUCCESS(rv, rv);

View file

@ -114,8 +114,11 @@ nsAddbookProtocolHandler::GenerateXMLOutputChannel( nsString &aOutput,
if (NS_FAILED(rv)) if (NS_FAILED(rv))
return rv; return rv;
return NS_NewInputStreamChannel(_retval, aURI, inStr, return NS_NewInputStreamChannel(_retval,
nullPrincipal, nsILoadInfo::SEC_NORMAL, aURI,
inStr,
nullPrincipal,
nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
nsIContentPolicy::TYPE_OTHER, nsIContentPolicy::TYPE_OTHER,
NS_LITERAL_CSTRING("text/xml")); NS_LITERAL_CSTRING("text/xml"));
} }
@ -180,8 +183,12 @@ nsAddbookProtocolHandler::NewChannel2(nsIURI *aURI,
if (NS_FAILED(rv)) if (NS_FAILED(rv))
return rv; return rv;
return NS_NewInputStreamChannel(_retval, aURI, pipeIn, return NS_NewInputStreamChannel(_retval,
nullPrincipal, nsILoadInfo::SEC_NORMAL, nsIContentPolicy::TYPE_OTHER, aURI,
pipeIn,
nullPrincipal,
nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
nsIContentPolicy::TYPE_OTHER,
NS_LITERAL_CSTRING("application/x-addvcard")); NS_LITERAL_CSTRING("application/x-addvcard"));
} }

View file

@ -70,7 +70,7 @@ function readURLasUTF8(uri)
null, null,
Services.scriptSecurityManager.getSystemPrincipal(), Services.scriptSecurityManager.getSystemPrincipal(),
null, null,
Ci.nsILoadInfo.SEC_NORMAL, Ci.nsILoadInfo.SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
Ci.nsIContentPolicy.TYPE_OTHER); Ci.nsIContentPolicy.TYPE_OTHER);
let is = Cc["@mozilla.org/intl/converter-input-stream;1"] let is = Cc["@mozilla.org/intl/converter-input-stream;1"]
.createInstance(Ci.nsIConverterInputStream); .createInstance(Ci.nsIConverterInputStream);

View file

@ -1108,7 +1108,7 @@ nsMessenger::SaveAs(const nsACString& aURI, bool aAsFile,
url, url,
nullptr, nullptr,
nullPrincipal, nullPrincipal,
nsILoadInfo::SEC_NORMAL, nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
nsIContentPolicy::TYPE_OTHER); nsIContentPolicy::TYPE_OTHER);
NS_ASSERTION(NS_SUCCEEDED(rv), "NS_NewChannel failed"); NS_ASSERTION(NS_SUCCEEDED(rv), "NS_NewChannel failed");
if (NS_FAILED(rv)) if (NS_FAILED(rv))

View file

@ -663,7 +663,7 @@ nsMsgAttachmentHandler::SnarfMsgAttachment(nsMsgCompFields *compFields)
aURL, aURL,
nullptr, nullptr,
nullPrincipal, nullPrincipal,
nsILoadInfo::SEC_NORMAL, nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
nsIContentPolicy::TYPE_OTHER); nsIContentPolicy::TYPE_OTHER);
if (NS_FAILED(rv)) if (NS_FAILED(rv))
goto done; goto done;

View file

@ -1362,7 +1362,7 @@ nsMsgComposeService::RunMessageThroughMimeDraft(
url, url,
nullptr, nullptr,
nullPrincipal, nullPrincipal,
nsILoadInfo::SEC_NORMAL, nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
nsIContentPolicy::TYPE_OTHER); nsIContentPolicy::TYPE_OTHER);
NS_ASSERTION(NS_SUCCEEDED(rv), "NS_NewChannel failed."); NS_ASSERTION(NS_SUCCEEDED(rv), "NS_NewChannel failed.");
if (NS_FAILED(rv)) if (NS_FAILED(rv))

View file

@ -188,7 +188,7 @@ nsMsgQuote::QuoteMessage(const char *msgURI, bool quoteHeaders,
nullptr, nullptr,
systemPrincipal, systemPrincipal,
nullptr, nullptr,
nsILoadInfo::SEC_NORMAL, nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
nsIContentPolicy::TYPE_OTHER, nsIContentPolicy::TYPE_OTHER,
getter_AddRefs(mQuoteChannel)); getter_AddRefs(mQuoteChannel));

View file

@ -357,8 +357,11 @@ NS_IMETHODIMP nsSmtpService::NewChannel2(nsIURI *aURI,
if (NS_FAILED(rv)) if (NS_FAILED(rv))
return rv; return rv;
return NS_NewInputStreamChannel(_retval, aURI, pipeIn, return NS_NewInputStreamChannel(_retval,
nullPrincipal, nsILoadInfo::SEC_NORMAL, aURI,
pipeIn,
nullPrincipal,
nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
nsIContentPolicy::TYPE_OTHER, nsIContentPolicy::TYPE_OTHER,
NS_LITERAL_CSTRING("application/x-mailto")); NS_LITERAL_CSTRING("application/x-mailto"));
} }

View file

@ -7,7 +7,7 @@
#include "msgCore.h" // for pre-compiled headers #include "msgCore.h" // for pre-compiled headers
#include "nsCOMPtr.h" #include "nsCOMPtr.h"
#include "nsNullPrincipal.h" #include "nsIScriptSecurityManager.h"
#include <stdio.h> #include <stdio.h>
#include "nscore.h" #include "nscore.h"
#include "nsIFactory.h" #include "nsIFactory.h"
@ -317,15 +317,19 @@ nsURLFetcher::FireURLRequest(nsIURI *aURL, nsIFile *localFile, nsIOutputStream *
nsCOMPtr<nsIURILoader> pURILoader (do_GetService(NS_URI_LOADER_CONTRACTID)); nsCOMPtr<nsIURILoader> pURILoader (do_GetService(NS_URI_LOADER_CONTRACTID));
NS_ENSURE_TRUE(pURILoader, NS_ERROR_FAILURE); NS_ENSURE_TRUE(pURILoader, NS_ERROR_FAILURE);
nsCOMPtr<nsIPrincipal> nullPrincipal = nsCOMPtr<nsIScriptSecurityManager>
do_CreateInstance("@mozilla.org/nullprincipal;1", &rv); secMan(do_GetService(NS_SCRIPTSECURITYMANAGER_CONTRACTID, &rv));
NS_ENSURE_SUCCESS(rv, rv); NS_ENSURE_SUCCESS(rv,rv);
nsCOMPtr<nsIPrincipal> systemPrincipal;
rv = secMan->GetSystemPrincipal(getter_AddRefs(systemPrincipal));
NS_ENSURE_SUCCESS(rv,rv);
nsCOMPtr<nsIChannel> channel; nsCOMPtr<nsIChannel> channel;
rv = NS_NewChannel(getter_AddRefs(channel), rv = NS_NewChannel(getter_AddRefs(channel),
aURL, aURL,
nullPrincipal, systemPrincipal,
nsILoadInfo::SEC_NORMAL, nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
nsIContentPolicy::TYPE_OTHER, nsIContentPolicy::TYPE_OTHER,
nullptr, // aLoadGroup nullptr, // aLoadGroup
this); // aCallbacks this); // aCallbacks

View file

@ -745,7 +745,7 @@ nsresult nsImapProtocol::SetupWithUrl(nsIURI * aURL, nsISupports* aConsumer)
rv = NS_NewChannel(getter_AddRefs(channel), rv = NS_NewChannel(getter_AddRefs(channel),
aURL, aURL,
nullPrincipal, nullPrincipal,
nsILoadInfo::SEC_NORMAL, nsILoadInfo::SEC_ALLOW_CROSS_ORIGIN_DATA_IS_NULL,
nsIContentPolicy::TYPE_OTHER); nsIContentPolicy::TYPE_OTHER);
m_mockChannel = do_QueryInterface(channel); m_mockChannel = do_QueryInterface(channel);