mirror of
https://blitiri.com.ar/repos/chasquid
synced 2026-01-23 20:05:55 +00:00
Normalize domains
We should ignore the domains' case, and treat them uniformly, specially when it comes to local domains. This patch extends the existing normalization (IDNA, keeping domains as UTF8 internally) to include case conversion and NFC form for consistency.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
From: ñandú@ñoños
|
||||
To: ñangapirí@ñoños
|
||||
From: ñandú@ñoÑos
|
||||
To: Ñangapirí@Ñoños
|
||||
Subject: Arañando el test
|
||||
|
||||
Crece desde el test el futuro
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Test UTF8 support, including usernames and domains.
|
||||
# Also test normalization: the destinations will have non-matching
|
||||
# capitalizations.
|
||||
|
||||
set -e
|
||||
. $(dirname ${0})/../util/lib.sh
|
||||
|
||||
@@ -8,7 +12,10 @@ init
|
||||
skip_if_python_is_too_old
|
||||
|
||||
generate_certs_for ñoños
|
||||
add_user ñoños ñangapirí antaño
|
||||
|
||||
# Intentionally have a config directory for upper case; this should be
|
||||
# normalized to lowercase internally (and match the cert accordingly).
|
||||
add_user ñoñOS ñangapirí antaño
|
||||
|
||||
# Python doesn't support UTF8 for auth, use an ascii user and domain.
|
||||
add_user nada nada nada
|
||||
@@ -17,9 +24,12 @@ mkdir -p .logs
|
||||
chasquid -v=2 --log_dir=.logs --config_dir=config &
|
||||
wait_until_ready 1025
|
||||
|
||||
# The envelope from and to are taken from the content, and use a mix of upper
|
||||
# and lower case.
|
||||
smtpc.py --server=localhost:1025 --user=nada@nada --password=nada \
|
||||
< content
|
||||
|
||||
# The MDA should see the normalized users and domains, in lower case.
|
||||
wait_for_file .mail/ñangapirí@ñoños
|
||||
mail_diff content .mail/ñangapirí@ñoños
|
||||
|
||||
|
||||
Reference in New Issue
Block a user