diff options
author | Alexander Strizhakov <alex.strizhakov@gmail.com> | 2019-07-22 14:33:58 +0000 |
---|---|---|
committer | kaniini <ariadne@dereferenced.org> | 2019-07-22 14:33:58 +0000 |
commit | b70e659304ba35f7afc598c3d3d1b96fa16f6cdf (patch) | |
tree | d613f6ff88b2886876dab78475a0dce5bd69ec2b /lib/pleroma/user.ex | |
parent | 674ad5e1df0a001455090279229f186cbbdf1c94 (diff) | |
download | pleroma-b70e659304ba35f7afc598c3d3d1b96fa16f6cdf.tar.gz |
Feature/1087 wildcard option for blocks
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r-- | lib/pleroma/user.ex | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 5ea2b518b..a3f6add28 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -873,10 +873,13 @@ defmodule Pleroma.User do def blocks?(%User{info: info} = _user, %{ap_id: ap_id}) do blocks = info.blocks - domain_blocks = info.domain_blocks + + domain_blocks = Pleroma.Web.ActivityPub.MRF.subdomains_regex(info.domain_blocks) + %{host: host} = URI.parse(ap_id) - Enum.member?(blocks, ap_id) || Enum.any?(domain_blocks, &(&1 == host)) + Enum.member?(blocks, ap_id) || + Pleroma.Web.ActivityPub.MRF.subdomain_match?(domain_blocks, host) end def subscribed_to?(user, %{ap_id: ap_id}) do |