summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Pitcock <nenolod@dereferenced.org>2018-11-11 06:53:42 +0000
committerWilliam Pitcock <nenolod@dereferenced.org>2018-11-11 06:55:44 +0000
commitdf72978dce3805157537e8fa1a2fec35fcf9a7cd (patch)
tree52e22261d014168d4fd94cb59d4af2a1ab1cc986
parent331cf6ada1e4df51b366c79126e094ee335dd684 (diff)
downloadpleroma-df72978dce3805157537e8fa1a2fec35fcf9a7cd.tar.gz
pleroma-df72978dce3805157537e8fa1a2fec35fcf9a7cd.zip
csp plug: add support for certificate transparency
-rw-r--r--config/config.exs3
-rw-r--r--config/config.md1
-rw-r--r--lib/pleroma/plugs/csp_plug.ex6
3 files changed, 7 insertions, 3 deletions
diff --git a/config/config.exs b/config/config.exs
index ad8653025..1d918919d 100644
--- a/config/config.exs
+++ b/config/config.exs
@@ -179,7 +179,8 @@ config :pleroma, :suggestions,
config :pleroma, :csp,
enabled: true,
sts: false,
- sts_max_age: 31_536_000
+ sts_max_age: 31_536_000,
+ ct_max_age: 2_592_000
config :cors_plug,
max_age: 86_400,
diff --git a/config/config.md b/config/config.md
index e08d206b6..34f703560 100644
--- a/config/config.md
+++ b/config/config.md
@@ -85,3 +85,4 @@ This section is used to configure Pleroma-FE, unless ``:managed_config`` in ``:i
* ``enabled``: Whether the managed content security policy is enabled
* ``sts``: Whether to additionally send a `Strict-Transport-Security` header
* ``sts_max_age``: The maximum age for the `Strict-Transport-Security` header if sent
+* ``ct_max_age``: The maximum age for the `Except-CT` header if sent
diff --git a/lib/pleroma/plugs/csp_plug.ex b/lib/pleroma/plugs/csp_plug.ex
index 56f2376ee..8fc21b909 100644
--- a/lib/pleroma/plugs/csp_plug.ex
+++ b/lib/pleroma/plugs/csp_plug.ex
@@ -44,10 +44,12 @@ defmodule Pleroma.Plugs.CSPPlug do
end
defp maybe_send_sts_header(conn, true) do
- max_age = Config.get([:csp, :sts_max_age])
+ max_age_sts = Config.get([:csp, :sts_max_age])
+ max_age_ct = Config.get([:csp, :ct_max_age])
merge_resp_headers(conn, [
- {"strict-transport-security", "max-age=#{max_age}; includeSubDomains"}
+ {"strict-transport-security", "max-age=#{max_age_sts}; includeSubDomains"},
+ {"expect-ct", "enforce, max-age=#{max_age_ct}"}
])
end