From cddab5700b4903ba280fada57a79b8efe10f0bf6 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Sat, 15 Dec 2018 17:34:37 +0100 Subject: [PATCH] WebFinger: Sends a 400 when resource param is missing, fix XRD typo in test --- lib/pleroma/web/web_finger/web_finger_controller.ex | 4 ++++ test/web/web_finger/web_finger_controller_test.exs | 11 ++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/pleroma/web/web_finger/web_finger_controller.ex b/lib/pleroma/web/web_finger/web_finger_controller.ex index 002353166..8c60300a4 100644 --- a/lib/pleroma/web/web_finger/web_finger_controller.ex +++ b/lib/pleroma/web/web_finger/web_finger_controller.ex @@ -35,4 +35,8 @@ def webfinger(conn, %{"resource" => resource}) do send_resp(conn, 404, "Unsupported format") end end + + def webfinger(conn, _params) do + send_resp(conn, 400, "Bad Request") + end end diff --git a/test/web/web_finger/web_finger_controller_test.exs b/test/web/web_finger/web_finger_controller_test.exs index cac003e76..3bc878532 100644 --- a/test/web/web_finger/web_finger_controller_test.exs +++ b/test/web/web_finger/web_finger_controller_test.exs @@ -29,9 +29,18 @@ test "Webfinger XML" do response = build_conn() - |> put_req_header("accept", "application/jrd+json") + |> put_req_header("accept", "application/xrd+xml") |> get("/.well-known/webfinger?resource=acct:#{user.nickname}@localhost") assert response(response, 200) end + + test "Sends a 400 when resource param is missing" do + response = + build_conn() + |> put_req_header("accept", "application/xrd+xml,application/jrd+json") + |> get("/.well-known/webfinger") + + assert response(response, 400) + end end