From 7d099e84742b6eb530a8bf2ffaeb1060eac819ab Mon Sep 17 00:00:00 2001 From: Yusur Princeps Date: Mon, 8 Dec 2025 13:01:31 +0100 Subject: [PATCH] fix infinite redirect on /admin/style.css, pt. 2 --- freak/__init__.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/freak/__init__.py b/freak/__init__.py index ee32a50..fbd6dc0 100644 --- a/freak/__init__.py +++ b/freak/__init__.py @@ -26,7 +26,7 @@ from suou import twocolon_list, WantsContentType from .colors import color_themes, theme_classes -__version__ = '0.5.0-dev48' +__version__ = '0.5.0-dev49' APP_BASE_DIR = os.path.dirname(os.path.dirname(__file__)) @@ -235,7 +235,11 @@ async def error_404(body): logger.error(f'Exception in find_guild_or_user: {e}') pass if app_config.server_name not in (None, request.host): - logger.warning(f'request host {request.host!r} is different from configured server name {app_config.server_name}') + logger.warning(f'request host {request.host!r} is different from configured server name {app_config.server_name!r}') + if request.referrer: + logger.warning(f'(referrer is {request.referrer!r}') + if request.host == request.referrer: + return {"error": "Loop detected"}, 508 return redirect('//' + app_config.server_name + request.full_path), 307 return await error_handler_for(404, 'Not found', '404.html')