From 52edf5c3bed8f087aee024481e7faf583eae51ea Mon Sep 17 00:00:00 2001 From: evazion Date: Thu, 5 May 2022 19:07:44 -0500 Subject: [PATCH] config: don't hardcode safebooru donmain. --- app/logical/session_loader.rb | 2 +- config/danbooru_default_config.rb | 5 +++++ test/unit/session_loader_test.rb | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/logical/session_loader.rb b/app/logical/session_loader.rb index 438172d4f..da4abfe49 100644 --- a/app/logical/session_loader.rb +++ b/app/logical/session_loader.rb @@ -176,7 +176,7 @@ class SessionLoader end def set_safe_mode - safe_mode = request.host.match?(/safebooru/i) || params[:safe_mode].to_s.truthy? || CurrentUser.user.enable_safe_mode? + safe_mode = request.host.in?(Danbooru.config.safe_mode_hostnames) || params[:safe_mode].to_s.truthy? || CurrentUser.user.enable_safe_mode? CurrentUser.safe_mode = safe_mode end diff --git a/config/danbooru_default_config.rb b/config/danbooru_default_config.rb index b338dc1db..50094e871 100644 --- a/config/danbooru_default_config.rb +++ b/config/danbooru_default_config.rb @@ -66,6 +66,11 @@ module Danbooru Socket.gethostname end + # A list of alternate hostnames where safe mode will automatically be enabled. + def safe_mode_hostnames + ["safebooru.donmai.us"] + end + # The URL of your site, e.g. https://danbooru.donmai.us. # # If you support HTTPS, change this to "https://www.mybooru.com". If you set diff --git a/test/unit/session_loader_test.rb b/test/unit/session_loader_test.rb index 16235708f..10011ff19 100644 --- a/test/unit/session_loader_test.rb +++ b/test/unit/session_loader_test.rb @@ -23,8 +23,8 @@ class SessionLoaderTest < ActiveSupport::TestCase end context ".safe_mode?" do - should "return true if the host contains the string safebooru" do - @request.stubs(:host).returns("safebooru") + should "return true if the hostname is safebooru.donmai.us" do + @request.stubs(:host).returns("safebooru.donmai.us") SessionLoader.new(@request).load assert_equal(true, CurrentUser.safe_mode?)