diff options
author | Haelwenn (lanodan) Monnier <contact@hacktivis.me> | 2024-01-02 15:12:33 +0100 |
---|---|---|
committer | Haelwenn (lanodan) Monnier <contact@hacktivis.me> | 2024-01-02 15:37:41 +0100 |
commit | 6af49270a9b1ddbdf8836139597b66695d8e1606 (patch) | |
tree | c6a33ed249fd58fb37b796a60c62bcc08976fbe3 /lib | |
parent | 47e00524f7c443d5313c1b05f05d61f50c3a1f7c (diff) | |
download | pleroma-6af49270a9b1ddbdf8836139597b66695d8e1606.tar.gz pleroma-6af49270a9b1ddbdf8836139597b66695d8e1606.zip |
MRF: Log sensible error for subdomains_regex
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/activity_pub/mrf.ex | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/pleroma/web/activity_pub/mrf.ex b/lib/pleroma/web/activity_pub/mrf.ex index 7f6dce925..1071f8e6e 100644 --- a/lib/pleroma/web/activity_pub/mrf.ex +++ b/lib/pleroma/web/activity_pub/mrf.ex @@ -1,5 +1,5 @@ # Pleroma: A lightweight social networking server -# Copyright © 2017-2022 Pleroma Authors <https://pleroma.social/> +# Copyright © 2017-2023 Pleroma Authors <https://pleroma.social/> # SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Web.ActivityPub.MRF do @@ -139,7 +139,16 @@ defmodule Pleroma.Web.ActivityPub.MRF do @spec subdomains_regex([String.t()]) :: [Regex.t()] def subdomains_regex(domains) when is_list(domains) do - for domain <- domains, do: ~r(^#{String.replace(domain, "*.", "(.*\\.)*")}$)i + for domain <- domains do + try do + target = String.replace(domain, "*.", "(.*\\.)*") + ~r<^#{target}$>i + rescue + e -> + Logger.error("MRF: Invalid subdomain Regex: #{domain}") + reraise e, __STACKTRACE__ + end + end end @spec subdomain_match?([Regex.t()], String.t()) :: boolean() |