From 672fcbc7b716f18346a17845d05c286b45dca5f3 Mon Sep 17 00:00:00 2001
From: Egor Kislitsyn <egor@kislitsyn.com>
Date: Wed, 7 Aug 2019 18:48:05 +0700
Subject: [PATCH] Limit custom fields for old remote users

---
 lib/pleroma/user/info.ex | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/pleroma/user/info.ex b/lib/pleroma/user/info.ex
index 47e7df911..45a39924b 100644
--- a/lib/pleroma/user/info.ex
+++ b/lib/pleroma/user/info.ex
@@ -423,9 +423,12 @@ def remove_reblog_mute(info, ap_id) do
   # ``fields`` is an array of mastodon profile field, containing ``{"name": "…", "value": "…"}``.
   # For example: [{"name": "Pronoun", "value": "she/her"}, …]
   def fields(%{fields: [], source_data: %{"attachment" => attachment}}) do
+    limit = Pleroma.Config.get([:instance, :max_remote_account_fields], 0)
+
     attachment
     |> Enum.filter(fn %{"type" => t} -> t == "PropertyValue" end)
     |> Enum.map(fn fields -> Map.take(fields, ["name", "value"]) end)
+    |> Enum.take(limit)
   end
 
   def fields(%{fields: fields}), do: fields