From 42144eaa4b11b1f7f783876a1228e1a5700ad13b Mon Sep 17 00:00:00 2001 From: evazion Date: Fri, 18 Mar 2022 04:39:13 -0500 Subject: [PATCH] Fix #5012: Fc2 image link paste not uploading. Fix referer spoofing not working for certain fc2.com image URLs. Spoofing the referer like this redirects to an HTML error page: * curl -H "Referer: http://wwwew.web.fc2.com" http://wwwew.web.fc2.com/e/405.jpg Spoofing it like this works: * curl -H "Referer: http://wwwew.web.fc2.com/e/405.jpg" http://wwwew.web.fc2.com/e/405.jpg --- app/logical/danbooru/http/spoof_referrer.rb | 2 +- test/functional/uploads_controller_test.rb | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/logical/danbooru/http/spoof_referrer.rb b/app/logical/danbooru/http/spoof_referrer.rb index a93daf31a..b125be209 100644 --- a/app/logical/danbooru/http/spoof_referrer.rb +++ b/app/logical/danbooru/http/spoof_referrer.rb @@ -6,7 +6,7 @@ module Danbooru HTTP::Options.register_feature :spoof_referrer, self def perform(request, &block) - request.headers["Referer"] = request.uri.origin unless request.headers["Referer"].present? + request.headers["Referer"] = request.uri unless request.headers["Referer"].present? response = yield request response end diff --git a/test/functional/uploads_controller_test.rb b/test/functional/uploads_controller_test.rb index f0c14ed47..03e4bffea 100644 --- a/test/functional/uploads_controller_test.rb +++ b/test/functional/uploads_controller_test.rb @@ -356,6 +356,8 @@ class UploadsControllerTest < ActionDispatch::IntegrationTest should_upload_successfully("https://c.fantia.jp/uploads/post/file/1070093/16faf0b1-58d8-4aac-9e86-b243063eaaf1.jpeg") should_upload_successfully("https://fantia.jp/posts/1132267") should_upload_successfully("https://fantia.jp/products/249638") + + should_upload_successfully("http://wwwew.web.fc2.com/e/405.jpg") end end end