Plugs.HTTPSecurityPlug: Add static_url to CSP's connect-src
authorHaelwenn (lanodan) Monnier <contact@hacktivis.me>
Tue, 5 Mar 2019 00:44:24 +0000 (01:44 +0100)
committerHaelwenn (lanodan) Monnier <contact@hacktivis.me>
Tue, 5 Mar 2019 00:44:24 +0000 (01:44 +0100)
Closes: https://git.pleroma.social/pleroma/pleroma/merge_requests/469
lib/pleroma/plugs/http_security_plug.ex

index 057553e2414757eaed4fd40f96774dc7af2babb9..f701aaaa5cec3b6157a1e08bf5957df52ca9555b 100644 (file)
@@ -34,13 +34,16 @@ defmodule Pleroma.Plugs.HTTPSecurityPlug do
 
   defp csp_string do
     scheme = Config.get([Pleroma.Web.Endpoint, :url])[:scheme]
-    websocket_url = String.replace(Pleroma.Web.Endpoint.static_url(), "http", "ws")
+    static_url = Pleroma.Web.Endpoint.static_url()
+    websocket_url = String.replace(static_url, "http", "ws")
+
+    connect_src = "connect-src 'self' #{static_url} #{websocket_url}"
 
     connect_src =
       if Mix.env() == :dev do
-        "connect-src 'self' http://localhost:3035/ " <> websocket_url
+        connect_src <> " http://localhost:3035/"
       else
-        "connect-src 'self' " <> websocket_url
+        connect_src
       end
 
     script_src =