From 054396a99ed81fd659f4394e3bfa7fab17382773 Mon Sep 17 00:00:00 2001 From: Floatingghost Date: Sun, 5 Jan 2025 17:23:52 +0000 Subject: [PATCH 1/5] ARM64 --- .woodpecker/build-arm64.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.woodpecker/build-arm64.yml b/.woodpecker/build-arm64.yml index 2ee94be3b..b1e495153 100644 --- a/.woodpecker/build-arm64.yml +++ b/.woodpecker/build-arm64.yml @@ -1,5 +1,5 @@ labels: - platform: linux/aarch64 + platform: linux/arm64 depends_on: - test From a2256b3f9edf9836efa4968509307887ccc0c63d Mon Sep 17 00:00:00 2001 From: Floatingghost Date: Sun, 5 Jan 2025 17:30:32 +0000 Subject: [PATCH 2/5] add unreleased section --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ca19e9c7..f979889e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). +## Unreleased + ## 2025.01 ## Added From 2e049037de033d51a6366014de7037a5f585d9ed Mon Sep 17 00:00:00 2001 From: Floatingghost Date: Sun, 5 Jan 2025 17:35:01 +0000 Subject: [PATCH 3/5] force CI build --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f979889e2..07b758ac6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## Unreleased + ## 2025.01 ## Added From 1ffbaa2924a84bb6fab19062d73996fb13de8e9b Mon Sep 17 00:00:00 2001 From: Floatingghost Date: Mon, 6 Jan 2025 11:43:41 +0000 Subject: [PATCH 4/5] don't allow a nil inbox to obliterate federation --- CHANGELOG.md | 3 +++ lib/pleroma/web/activity_pub/publisher.ex | 4 +++- test/pleroma/web/activity_pub/publisher_test.exs | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07b758ac6..42ed630fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ## Unreleased +## 2025.01.01 + +Hotfix: Federation could break if a null value found its way into `should_federate?\1` ## 2025.01 diff --git a/lib/pleroma/web/activity_pub/publisher.ex b/lib/pleroma/web/activity_pub/publisher.ex index 4fe394be6..07f430805 100644 --- a/lib/pleroma/web/activity_pub/publisher.ex +++ b/lib/pleroma/web/activity_pub/publisher.ex @@ -112,7 +112,7 @@ defp allowed_instances do Config.get([:mrf_simple, :accept]) end - def should_federate?(url) do + def should_federate?(url) when is_binary(url) do %{host: host} = URI.parse(url) with {nil, false} <- {nil, is_nil(host)}, @@ -137,6 +137,8 @@ def should_federate?(url) do end end + def should_federate?(_), do: false + @spec recipients(User.t(), Activity.t()) :: list(User.t()) | [] defp recipients(actor, activity) do followers = diff --git a/test/pleroma/web/activity_pub/publisher_test.exs b/test/pleroma/web/activity_pub/publisher_test.exs index eeec59cfb..5896568b8 100644 --- a/test/pleroma/web/activity_pub/publisher_test.exs +++ b/test/pleroma/web/activity_pub/publisher_test.exs @@ -519,6 +519,9 @@ test "publish to url with with different ports" do test "should not obliterate itself if the inbox URL is bad" do url = "/inbox" refute Pleroma.Web.ActivityPub.Publisher.should_federate?(url) + + url = nil + refute Pleroma.Web.ActivityPub.Publisher.should_federate?(url) end end end From ad92e504d773e6bbeaee5a2ed47154a021ec66ed Mon Sep 17 00:00:00 2001 From: floatingghost Date: Mon, 6 Jan 2025 12:01:53 +0000 Subject: [PATCH 5/5] Update mix.exs --- mix.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.exs b/mix.exs index cd2485a20..e7eebb815 100644 --- a/mix.exs +++ b/mix.exs @@ -4,7 +4,7 @@ defmodule Pleroma.Mixfile do def project do [ app: :pleroma, - version: version("3.14.0"), + version: version("3.14.1"), elixir: "~> 1.14", elixirc_paths: elixirc_paths(Mix.env()), compilers: Mix.compilers(),