From c404e662fa8b68fd02e35c31fb0e1059cc62f355 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Thu, 23 Nov 2023 13:26:47 +0100 Subject: [PATCH] web proxy: not less code but better strucuture Find out which directory we want and keep it in an array. Use the first one that exists and ignore the others. This allows us to do a late fallback into "en" language on top which wasn't handled gracefully before. --- .../templates/OPNsense/Proxy/squid.conf | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/opnsense/service/templates/OPNsense/Proxy/squid.conf b/src/opnsense/service/templates/OPNsense/Proxy/squid.conf index 5cdba7560..4b334cd3f 100644 --- a/src/opnsense/service/templates/OPNsense/Proxy/squid.conf +++ b/src/opnsense/service/templates/OPNsense/Proxy/squid.conf @@ -468,19 +468,20 @@ cache_mgr {{OPNsense.proxy.general.VisibleEmail}} # Set connection timeout connect_timeout {{OPNsense.proxy.general.connecttimeout}} seconds {% endif %} + # Set error directory language +{% set lang = namespace(dirs = [], done = false) %} {% if not helpers.empty('OPNsense.proxy.general.error_pages') %} -error_directory /usr/local/etc/squid/errors/local +{% do lang.dirs.append('/usr/local/etc/squid/errors/local') %} {% elif helpers.exists('system.language') and system.language != "" %} -{% set langdir = system.language|lower|replace('_', '-') %} -{% if helpers.file_exists('/usr/local/share/squid-langpack/' + langdir) %} -error_directory /usr/local/share/squid-langpack/{{ langdir }} -{% else %} -{% set langdir = langdir[:2] %} -{% if helpers.file_exists('/usr/local/share/squid-langpack/' + langdir) %} -error_directory /usr/local/share/squid-langpack/{{ langdir }} -{% else %} -error_directory /usr/local/etc/squid/errors/local -{% endif %} -{% endif %} +{% set langdir = system.language|lower|replace('_', '-') %} +{% do lang.dirs.append('/usr/local/share/squid-langpack/' + langdir) %} +{% do lang.dirs.append('/usr/local/share/squid-langpack/' + langdir[:2]) %} {% endif %} +{% do lang.dirs.append('/usr/local/share/squid-langpack/en') %} +{% for langdir in lang.dirs %} +{% if not lang.done and helpers.file_exists(langdir) %} +{% set lang.done = true %} +error_directory {{ langdir }} +{% endif %} +{% endfor %}