From 6745590e54dce236dc7a2319f9c49c4aa6858306 Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Tue, 6 Jun 2023 12:12:19 +0200 Subject: [PATCH 1/2] fix(federation): only refresh instances once a day Signed-off-by: Thomas Citharel --- config/config.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/config.exs b/config/config.exs index 70e446dfb..3704be0ed 100644 --- a/config/config.exs +++ b/config/config.exs @@ -307,7 +307,7 @@ config :mobilizon, Oban, crontab: [ {"@hourly", Mobilizon.Service.Workers.BuildSiteMap, queue: :background}, {"17 4 * * *", Mobilizon.Service.Workers.RefreshGroups, queue: :background}, - {"36 * * * *", Mobilizon.Service.Workers.RefreshInstances, queue: :background}, + {"36 3 * * *", Mobilizon.Service.Workers.RefreshInstances, queue: :background}, {"@hourly", Mobilizon.Service.Workers.CleanOrphanMediaWorker, queue: :background}, {"@hourly", Mobilizon.Service.Workers.CleanUnconfirmedUsersWorker, queue: :background}, {"@hourly", Mobilizon.Service.Workers.ExportCleanerWorker, queue: :background}, From 5381eaae22248cdc6585d19c10be7fe2b7f5709f Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Tue, 6 Jun 2023 12:20:35 +0200 Subject: [PATCH 2/2] fix(federation): rotate relay keys on startup if missing private keys Signed-off-by: Thomas Citharel --- lib/federation/activity_pub/relay.ex | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/federation/activity_pub/relay.ex b/lib/federation/activity_pub/relay.ex index 21d3909e5..acc5c6647 100644 --- a/lib/federation/activity_pub/relay.ex +++ b/lib/federation/activity_pub/relay.ex @@ -23,7 +23,13 @@ defmodule Mobilizon.Federation.ActivityPub.Relay do def init do # Wait for everything to settle. Process.sleep(1000 * 5) - get_actor() + relay = get_actor() + + unless Regex.match?(~r/BEGIN RSA PRIVATE KEY/, relay.keys) do + {:ok, relay} = Actors.actor_key_rotation(relay) + end + + relay end @spec get_actor() :: Actor.t() | no_return