summaryrefslogtreecommitdiffstats
path: root/security/manager/ssl/nsISiteSecurityService.idl
diff options
context:
space:
mode:
authorwolfbeast <mcwerewolf@wolfbeast.com>2019-09-05 15:30:32 +0200
committerwolfbeast <mcwerewolf@wolfbeast.com>2019-09-05 18:23:12 +0200
commite3c13af9761895a19fb1f58abf920190aa739348 (patch)
treef64420fcf74f6124ad53665ccb8a3e781c4b6007 /security/manager/ssl/nsISiteSecurityService.idl
parent2b223cce089bb8cbfb1a463fdd42e09eee63c7b2 (diff)
downloadUXP-e3c13af9761895a19fb1f58abf920190aa739348.tar
UXP-e3c13af9761895a19fb1f58abf920190aa739348.tar.gz
UXP-e3c13af9761895a19fb1f58abf920190aa739348.tar.lz
UXP-e3c13af9761895a19fb1f58abf920190aa739348.tar.xz
UXP-e3c13af9761895a19fb1f58abf920190aa739348.zip
Properly implement various HSTS states.
Previously, HSTS preload list values could be overridden temporarily due to counter-intuitive behavior of the API's removeState function. This adds an explicit flag to the API for writing knockout values to the Site Security Service, with the default resetting to whatever the preload list state is.
Diffstat (limited to 'security/manager/ssl/nsISiteSecurityService.idl')
-rw-r--r--security/manager/ssl/nsISiteSecurityService.idl12
1 files changed, 9 insertions, 3 deletions
diff --git a/security/manager/ssl/nsISiteSecurityService.idl b/security/manager/ssl/nsISiteSecurityService.idl
index 753f32b57..b61577152 100644
--- a/security/manager/ssl/nsISiteSecurityService.idl
+++ b/security/manager/ssl/nsISiteSecurityService.idl
@@ -23,7 +23,7 @@ namespace mozilla
[ref] native nsCStringTArrayRef(nsTArray<nsCString>);
[ref] native mozillaPkixTime(mozilla::pkix::Time);
-[scriptable, uuid(275127f8-dbd7-4681-afbf-6df0c6587a01)]
+[scriptable, uuid(233908bd-6741-4474-a6e1-f298c6ce9eaf)]
interface nsISiteSecurityService : nsISupports
{
const uint32_t HEADER_HSTS = 0;
@@ -98,15 +98,21 @@ interface nsISiteSecurityService : nsISupports
* Given a header type, removes state relating to that header of a host,
* including the includeSubdomains state that would affect subdomains.
* This essentially removes the state for the domain tree rooted at this
- * host.
+ * host. If any preloaded information is present for that host, that
+ * information will then be used instead of any other previously existing
+ * state, unless the force parameter is set.
+ *
* @param aType the type of security state in question
* @param aURI the URI of the target host
* @param aFlags options for this request as defined in nsISocketProvider:
* NO_PERMANENT_STORAGE
+ * @param force if set, forces no-HSTS state by writing a knockout value,
+ * overriding any preload list state
*/
void removeState(in uint32_t aType,
in nsIURI aURI,
- in uint32_t aFlags);
+ in uint32_t aFlags,
+ [optional] in boolean force);
/**
* See isSecureURI