зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1248452: Rewrite NS_IsHSTSUpgradeRedirect to use HttpBaseChannel::GetSecureUpgradedURI. r=jduell
This commit is contained in:
Родитель
2cdfef61a2
Коммит
aabf7f299c
|
@ -63,6 +63,7 @@
|
|||
#include "plstr.h"
|
||||
#include "nsINestedURI.h"
|
||||
#include "mozilla/dom/nsCSPUtils.h"
|
||||
#include "mozilla/net/HttpBaseChannel.h"
|
||||
#include "nsIScriptError.h"
|
||||
#include "nsISiteSecurityService.h"
|
||||
#include "nsHttpHandler.h"
|
||||
|
@ -1919,30 +1920,13 @@ NS_IsHSTSUpgradeRedirect(nsIChannel *aOldChannel,
|
|||
return false;
|
||||
}
|
||||
|
||||
bool isHttps;
|
||||
if (NS_FAILED(newURI->SchemeIs("https", &isHttps)) || !isHttps) {
|
||||
return false;
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIURI> upgradedURI;
|
||||
if (NS_FAILED(oldURI->Clone(getter_AddRefs(upgradedURI)))) {
|
||||
nsresult rv =
|
||||
HttpBaseChannel::GetSecureUpgradedURI(oldURI, getter_AddRefs(upgradedURI));
|
||||
if (NS_FAILED(rv)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (NS_FAILED(upgradedURI->SetScheme(NS_LITERAL_CSTRING("https")))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
int32_t oldPort = -1;
|
||||
if (NS_FAILED(oldURI->GetPort(&oldPort))) {
|
||||
return false;
|
||||
}
|
||||
if (oldPort == 80 || oldPort == -1) {
|
||||
upgradedURI->SetPort(-1);
|
||||
} else {
|
||||
upgradedURI->SetPort(oldPort);
|
||||
}
|
||||
|
||||
bool res;
|
||||
return NS_SUCCEEDED(upgradedURI->Equals(newURI, &res)) && res;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче