forked from mirrors/gecko-dev
As we roll out the TLS 1.0 and 1.1 deprecation, sites that don't support TLS 1.2 will show the neterror page. This adds a box to that page that shows in this specific case. That box explains what is going on and gives an option to re-enable TLS 1.0. As mentioned, this will show alongside an option to reset TLS-related preferences if any overrides are active. Hitting the button will set the new pref to 'true' and reload the page. Once the override is engaged, the option won't show, but that option to reset preferences will show (as this is a TLS-related preference). The intent is to remove this affordance in March 2020 as we formally move to having TLS 1.2 the minimum version. All going to plan, this will only affect prerelease channels, though anyone who has tweaked security.tls.version.* could also see this. Differential Revision: https://phabricator.services.mozilla.com/D45799 --HG-- extra : moz-landing-system : lando
240 lines
12 KiB
HTML
240 lines
12 KiB
HTML
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
<!DOCTYPE html [
|
|
<!ENTITY % htmlDTD
|
|
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"DTD/xhtml1-strict.dtd">
|
|
%htmlDTD;
|
|
<!ENTITY % netErrorDTD
|
|
SYSTEM "chrome://browser/locale/netError.dtd">
|
|
%netErrorDTD;
|
|
<!ENTITY % globalDTD
|
|
SYSTEM "chrome://global/locale/global.dtd">
|
|
%globalDTD;
|
|
]>
|
|
|
|
<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
|
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Security-Policy" content="default-src chrome:; object-src 'none'" />
|
|
<title>&loadError.label;</title>
|
|
<link rel="stylesheet" href="chrome://browser/skin/aboutNetError.css" type="text/css" media="all" />
|
|
<!-- If the location of the favicon is changed here, the FAVICON_ERRORPAGE_URL symbol in
|
|
toolkit/components/places/src/nsFaviconService.h should be updated. -->
|
|
<link rel="icon" id="favicon" href="chrome://global/skin/icons/warning.svg"/>
|
|
<link rel="localization" href="browser/aboutCertError.ftl" />
|
|
<link rel="localization" href="browser/nsserrors.ftl" />
|
|
<link rel="localization" href="branding/brand.ftl"/>
|
|
</head>
|
|
|
|
<body dir="&locale.dir;">
|
|
<!-- ERROR ITEM CONTAINER (removed during loading to avoid bug 39098) -->
|
|
<div id="errorContainer">
|
|
<div id="errorPageTitlesContainer">
|
|
<span id="ept_nssBadCert">&certerror.pagetitle2;</span>
|
|
<span id="ept_nssBadCert_sts">&certerror.sts.pagetitle;</span>
|
|
<span id="ept_captivePortal">&captivePortal.title;</span>
|
|
<span id="ept_dnsNotFound">&dnsNotFound.pageTitle;</span>
|
|
<span id="ept_malformedURI">&malformedURI.pageTitle;</span>
|
|
<span id="ept_blockedByPolicy">&blockedByPolicy.title;</span>
|
|
</div>
|
|
<div id="errorTitlesContainer">
|
|
<h1 id="et_generic">&generic.title;</h1>
|
|
<h1 id="et_captivePortal">&captivePortal.title;</h1>
|
|
<h1 id="et_dnsNotFound">&dnsNotFound.title1;</h1>
|
|
<h1 id="et_fileNotFound">&fileNotFound.title;</h1>
|
|
<h1 id="et_fileAccessDenied">&fileAccessDenied.title;</h1>
|
|
<h1 id="et_malformedURI">&malformedURI.title1;</h1>
|
|
<h1 id="et_unknownProtocolFound">&unknownProtocolFound.title;</h1>
|
|
<h1 id="et_connectionFailure">&connectionFailure.title;</h1>
|
|
<h1 id="et_netTimeout">&netTimeout.title;</h1>
|
|
<h1 id="et_redirectLoop">&redirectLoop.title;</h1>
|
|
<h1 id="et_unknownSocketType">&unknownSocketType.title;</h1>
|
|
<h1 id="et_netReset">&netReset.title;</h1>
|
|
<h1 id="et_notCached">¬Cached.title;</h1>
|
|
<h1 id="et_netOffline">&netOffline.title;</h1>
|
|
<h1 id="et_netInterrupt">&netInterrupt.title;</h1>
|
|
<h1 id="et_deniedPortAccess">&deniedPortAccess.title;</h1>
|
|
<h1 id="et_proxyResolveFailure">&proxyResolveFailure.title;</h1>
|
|
<h1 id="et_proxyConnectFailure">&proxyConnectFailure.title;</h1>
|
|
<h1 id="et_contentEncodingError">&contentEncodingError.title;</h1>
|
|
<h1 id="et_unsafeContentType">&unsafeContentType.title;</h1>
|
|
<h1 id="et_nssFailure2">&nssFailure2.title;</h1>
|
|
<h1 id="et_nssBadCert">&certerror.longpagetitle2;</h1>
|
|
<h1 id="et_nssBadCert_sts">&certerror.sts.longpagetitle;</h1>
|
|
<h1 id="et_cspBlocked">&cspBlocked.title;</h1>
|
|
<h1 id="et_remoteXUL">&remoteXUL.title;</h1>
|
|
<h1 id="et_corruptedContentErrorv2">&corruptedContentErrorv2.title;</h1>
|
|
<h1 id="et_sslv3Used">&sslv3Used.title;</h1>
|
|
<h1 id="et_inadequateSecurityError">&inadequateSecurityError.title;</h1>
|
|
<h1 id="et_blockedByPolicy">&blockedByPolicy.title;</h1>
|
|
<h1 id="et_mitm">&certerror.mitm.title;</h1>
|
|
<h1 id="et_clockSkewError">&clockSkewError.title;</h1>
|
|
<h1 id="et_networkProtocolError">&networkProtocolError.title;</h1>
|
|
</div>
|
|
<div id="errorDescriptionsContainer">
|
|
<div id="ed_generic">&generic.longDesc;</div>
|
|
<div id="ed_captivePortal">&captivePortal.longDesc2;</div>
|
|
<div id="ed_dnsNotFound">&dnsNotFound.longDesc1;</div>
|
|
<div id="ed_fileNotFound">&fileNotFound.longDesc;</div>
|
|
<div id="ed_fileAccessDenied">&fileAccessDenied.longDesc;</div>
|
|
<div id="ed_malformedURI"></div>
|
|
<div id="ed_unknownProtocolFound">&unknownProtocolFound.longDesc;</div>
|
|
<div id="ed_connectionFailure">&connectionFailure.longDesc;</div>
|
|
<div id="ed_netTimeout">&netTimeout.longDesc;</div>
|
|
<div id="ed_redirectLoop">&redirectLoop.longDesc;</div>
|
|
<div id="ed_unknownSocketType">&unknownSocketType.longDesc;</div>
|
|
<div id="ed_netReset">&netReset.longDesc;</div>
|
|
<div id="ed_notCached">¬Cached.longDesc;</div>
|
|
<div id="ed_netOffline">&netOffline.longDesc2;</div>
|
|
<div id="ed_netInterrupt">&netInterrupt.longDesc;</div>
|
|
<div id="ed_deniedPortAccess">&deniedPortAccess.longDesc;</div>
|
|
<div id="ed_proxyResolveFailure">&proxyResolveFailure.longDesc;</div>
|
|
<div id="ed_proxyConnectFailure">&proxyConnectFailure.longDesc;</div>
|
|
<div id="ed_contentEncodingError">&contentEncodingError.longDesc;</div>
|
|
<div id="ed_unsafeContentType">&unsafeContentType.longDesc;</div>
|
|
<div id="ed_nssFailure2">&nssFailure2.longDesc2;</div>
|
|
<div id="ed_nssBadCert">&certerror.introPara2;</div>
|
|
<div id="ed_nssBadCert_sts">&certerror.sts.introPara;</div>
|
|
<div id="ed_nssBadCert_SEC_ERROR_EXPIRED_CERTIFICATE">&certerror.expiredCert.introPara;</div>
|
|
<div id="ed_mitm">&certerror.mitm.longDesc;</div>
|
|
<div id="ed_cspBlocked">&cspBlocked.longDesc;</div>
|
|
<div id="ed_remoteXUL">&remoteXUL.longDesc;</div>
|
|
<div id="ed_corruptedContentErrorv2">&corruptedContentErrorv2.longDesc;</div>
|
|
<div id="ed_sslv3Used">&sslv3Used.longDesc2;</div>
|
|
<div id="ed_inadequateSecurityError">&inadequateSecurityError.longDesc;</div>
|
|
<div id="ed_blockedByPolicy"></div>
|
|
<div id="ed_clockSkewError">&clockSkewError.longDesc;</div>
|
|
<div id="ed_networkProtocolError">&networkProtocolError.longDesc;</div>
|
|
</div>
|
|
<div id="errorDescriptions2Container">
|
|
<div id="ed2_nssBadCert_SEC_ERROR_EXPIRED_CERTIFICATE">&certerror.expiredCert.secondPara2;</div>
|
|
<div id="ed2_nssBadCert_SEC_ERROR_EXPIRED_CERTIFICATE_sts">&certerror.expiredCert.sts.secondPara;</div>
|
|
</div>
|
|
<div id="whatCanYouDoAboutItTitleContainer">
|
|
<div id="edd_nssBadCert"><strong>&certerror.whatCanYouDoAboutItTitle;</strong></div>
|
|
</div>
|
|
<div id="whatCanYouDoAboutItContainer">
|
|
<div id="es_nssBadCert_SEC_ERROR_UNKNOWN_ISSUER">&certerror.unknownIssuer.whatCanYouDoAboutIt;</div>
|
|
<div id="es_nssBadCert_SEC_ERROR_EXPIRED_CERTIFICATE">&certerror.expiredCert.whatCanYouDoAboutIt2;</div>
|
|
<div id="es_nssBadCert_SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE">&certerror.expiredCert.whatCanYouDoAboutIt2;</div>
|
|
<div id="es_nssBadCert_MOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE">&certerror.expiredCert.whatCanYouDoAboutIt2;</div>
|
|
<div id="es_nssBadCert_MOZILLA_PKIX_ERROR_NOT_YET_VALID_ISSUER_CERTIFICATE">&certerror.expiredCert.whatCanYouDoAboutIt2;</div>
|
|
<div id="es_nssBadCert_SSL_ERROR_BAD_CERT_DOMAIN">&certerror.badCertDomain.whatCanYouDoAboutIt;</div>
|
|
<div id="es_nssBadCert_MOZILLA_PKIX_ERROR_MITM_DETECTED">
|
|
<ul>
|
|
<li>&certerror.mitm.whatCanYouDoAboutIt1;</li>
|
|
<li>&certerror.mitm.whatCanYouDoAboutIt2;</li>
|
|
<li id="mitmWhatCanYouDoAboutIt3">&certerror.mitm.whatCanYouDoAboutIt3;</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<!-- Stores an alternative text for when we don't want to add "Recommended" to the
|
|
return button. This is one of many l10n atrocities in this file and should be
|
|
removed when we finally switch to Fluent. -->
|
|
<span id="stsReturnButtonText">&returnToPreviousPage.label;</span>
|
|
<span id="stsMitmWhatCanYouDoAboutIt3">&certerror.mitm.sts.whatCanYouDoAboutIt3;</span>
|
|
</div>
|
|
|
|
<!-- PAGE CONTAINER (for styling purposes only) -->
|
|
<div id="errorPageContainer" class="container">
|
|
<div id="text-container">
|
|
<!-- Error Title -->
|
|
<div class="title">
|
|
<h1 class="title-text"/>
|
|
</div>
|
|
|
|
<!-- LONG CONTENT (the section most likely to require scrolling) -->
|
|
<div id="errorLongContent">
|
|
|
|
<!-- Short Description -->
|
|
<div id="errorShortDesc">
|
|
<p id="errorShortDescText" />
|
|
</div>
|
|
|
|
<div id="errorShortDesc2">
|
|
<p id="errorShortDescText2" />
|
|
</div>
|
|
|
|
<div id="errorWhatToDoTitle">
|
|
<p id="errorWhatToDoTitleText" />
|
|
</div>
|
|
|
|
<div id="errorWhatToDo">
|
|
<p id="badStsCertExplanation" hidden="true">&certerror.whatShouldIDo.badStsCertExplanation1;</p>
|
|
<p id="errorWhatToDoText" />
|
|
</div>
|
|
|
|
<div id="errorWhatToDo2">
|
|
<p id="errorWhatToDoText2" />
|
|
<p id="badStsCertExplanation" hidden="true">&certerror.whatShouldIDo.badStsCertExplanation1;</p>
|
|
</div>
|
|
|
|
<!-- Long Description (Note: See netError.dtd for used XHTML tags) -->
|
|
<div id="errorLongDesc" />
|
|
|
|
<div id="learnMoreContainer">
|
|
<p><a id="learnMoreLink" target="new">&errorReporting.learnMore;</a></p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- UI to temporarily re-enable TLS 1.0 and 1.1.
|
|
This should be removed after March 2020, see bug 1579285. -->
|
|
<div id="enableTls10Container" class="button-container">
|
|
<p>&enableTls10.longDesc;</p>
|
|
<p>&enableTls10.note;</p>
|
|
<button id="enableTls10Button" class="primary">&enableTls10.label;</button>
|
|
</div>
|
|
|
|
<!-- UI for option to report certificate errors to Mozilla. Removed on
|
|
init for other error types .-->
|
|
<div id="prefChangeContainer" class="button-container">
|
|
<p>&prefReset.longDesc;</p>
|
|
<button id="prefResetButton" class="primary">&prefReset.label;</button>
|
|
</div>
|
|
|
|
<div id="certErrorAndCaptivePortalButtonContainer" class="button-container">
|
|
<button id="returnButton" class="primary">&returnToPreviousPage1.label;</button>
|
|
<button id="openPortalLoginPageButton" class="primary">&openPortalLoginPage.label2;</button>
|
|
<button class="primary try-again">&retry.label;</button>
|
|
<button id="advancedButton">&advanced2.label;</button>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="netErrorButtonContainer" class="button-container">
|
|
<button class="primary try-again">&retry.label;</button>
|
|
</div>
|
|
|
|
<div id="advancedPanelContainer">
|
|
<div id="badCertAdvancedPanel" class="advanced-panel">
|
|
<p id="badCertTechnicalInfo"/>
|
|
<a id="viewCertificate" href="javascript:void(0)">&viewCertificate.label;</a>
|
|
<div id="advancedPanelButtonContainer" class="button-container">
|
|
<button id="advancedPanelReturnButton" class="primary">&returnToPreviousPage1.label;</button>
|
|
<button class="primary try-again">&retry.label;</button>
|
|
<div class="exceptionDialogButtonContainer">
|
|
<button id="exceptionDialogButton">&securityOverride.exceptionButton1Label;</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="certificateErrorReporting">
|
|
<p class="toggle-container-with-text">
|
|
<input type="checkbox" id="automaticallyReportInFuture" role="checkbox"/>
|
|
<label for="automaticallyReportInFuture">&errorReporting.automatic2;</label>
|
|
</p>
|
|
</div>
|
|
|
|
<div id="certificateErrorDebugInformation">
|
|
<button id="copyToClipboardTop">&certerror.copyToClipboard.label;</button>
|
|
<div id="certificateErrorText"/>
|
|
<button id="copyToClipboardBottom">&certerror.copyToClipboard.label;</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
<script src="chrome://browser/content/aboutNetError.js"/>
|
|
</html>
|