]> git.ipfire.org Git - ipfire.org.git/commitdiff
dnsbl: Decode any international domain names
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 2 Jan 2026 14:53:32 +0000 (14:53 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 2 Jan 2026 14:53:32 +0000 (14:53 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/templates/dnsbl/lists/history.html
src/web/__init__.py

index c6cb252ebd1a55e74768b2f25faf8d6627b53fa7..9a4cd87c2965ec7234634c34fa6440e36c9ec6b7 100644 (file)
                                        {# Domains Allowed #}
                                        {% for domain in event.domains_allowed %}
                                                <li class="has-text-info" title="{{ _("Allowed") }}">
-                                                       &plus; {{ domain }}
+                                                       &plus; {{ format_domain(domain) }}
                                                </li>
                                        {% end %}
 
                                        {# Domains Blocked #}
                                        {% for domain in event.domains_blocked %}
                                                <li class="has-text-success" title="{{ _("Blocked") }}">
-                                                       &plus; {{ domain }}
+                                                       &plus; {{ format_domain(domain) }}
                                                </li>
                                        {% end %}
 
                                        {# Domains Removed #}
                                        {% for domain in event.domains_removed %}
                                                <li class="has-text-danger" title="{{ _("Removed") }}">
-                                                       &minus; {{ domain }}
+                                                       &minus; {{ format_domain(domain) }}
                                                </li>
                                        {% end %}
                                </ul>
index 92fe0fb5d34c0ebcd9512f556e69bd265d2a2041..66a8df41cfc998ddf6ca93fce9324dba307cf57f 100644 (file)
@@ -2,6 +2,7 @@
 
 import babel.numbers
 import logging
+import idna
 import os.path
 import phonenumbers
 import phonenumbers.geocoder
@@ -56,6 +57,7 @@ class Application(tornado.web.Application):
                        # UI Methods
                        "ui_methods" : {
                                "format_country_name"          : self.format_country_name,
+                               "format_domain"                : self.format_domain,
                                "format_language_name"         : self.format_language_name,
                                "format_month_name"            : self.format_month_name,
                                "format_number"                : self.format_number,
@@ -404,6 +406,12 @@ class Application(tornado.web.Application):
        def format_country_name(self, handler, country_code):
                return self.backend.get_country_name(country_code)
 
+       def format_domain(self, handler, name):
+               """
+                       Decodes any international domain names and returns them as Unicode
+               """
+               return idna.decode(name)
+
        def format_language_name(self, handler, language):
                _ = handler.locale.translate