From 9db8ee4c982492d504f0aed9ba2a37be79b3e997 Mon Sep 17 00:00:00 2001 From: Jumper78 <52802286+Jumper78@users.noreply.github.com> Date: Fri, 14 Feb 2025 16:19:20 +0000 Subject: [PATCH] added idna function to perform puny encoding on IDN domains (cherry picked from commit 35ffcb070da133648e7e7bc087dcea2a4c005fb5) # Conflicts: # core/admin/mailu/internal/views/rspamd.py --- core/admin/mailu/internal/views/rspamd.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/core/admin/mailu/internal/views/rspamd.py b/core/admin/mailu/internal/views/rspamd.py index b6ead86b..ea54ae29 100644 --- a/core/admin/mailu/internal/views/rspamd.py +++ b/core/admin/mailu/internal/views/rspamd.py @@ -2,6 +2,7 @@ from mailu import models from mailu.internal import internal import flask +import idna def vault_error(*messages, status=404): return flask.make_response(flask.jsonify({'errors':messages}), status) @@ -19,11 +20,23 @@ def rspamd_dkim_key(domain_name): if key := domain.dkim_key: selectors.append( { - 'domain' : domain.name, + 'domain' : idna.encode(domain.name.lower()).decode('ascii'), 'key' : key.decode('utf8'), 'selector': flask.current_app.config.get('DKIM_SELECTOR', 'dkim'), } ) +<<<<<<< HEAD +======= + elif domain := models.Alternative.query.get(domain_name): + if key := domain.domain.dkim_key: + selectors.append( + { + 'domain' : idna.encode(domain.name.lower()).decode('ascii'), + 'key' : key.decode('utf8'), + 'selector': flask.current_app.config.get('DKIM_SELECTOR', 'dkim'), + } + ) +>>>>>>> 35ffcb07 (added idna function to perform puny encoding on IDN domains) return flask.jsonify({'data': {'selectors': selectors}}) @internal.route("/rspamd/local_domains", methods=['GET'])