Email domain allowlists reject equivalent mixed-case domains
Los mantenedores suelen responder en 4 días
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 35/100
Línea de trabajo
Read the EmailValidator implementation and its existing tests for allowed_domains. Compare how the address domain and configured entries are matched, then run the relevant validator tests. Done means mixed-case domain spellings are accepted when they are equivalent, while addresses outside the allowlist remain rejected; pull request #2403 is already open for this issue.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
EmailValidator accepts mixed-case domains normally, but enabling allowed_domains makes the same domains case-sensitive. This rejects valid addresses on an allowed domain.
from tortoise.validators import EmailValidator
EmailValidator()("[email protected]") # accepted
EmailValidator(allowed_domains=["example.com"])("[email protected]")
# InvalidEmailAddress
EmailValidator(allowed_domains=["EXAMPLE.COM"])("[email protected]")
# InvalidEmailAddress
I reproduced this on current develop. RFC 5321 section 2.4 specifies that mailbox domains are not case-sensitive. Comparing the domain and allowlist entries in lowercase would preserve the restriction while accepting equivalent domain spellings.
- Lenguaje dominante
- Python
- Estrellas
- 5.6k
- Forks
- 540
- Merge medio
- 4 d 7 h
- PR fusionados (30 d)
- 31
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de tortoise/tortoise-orm
-
Automatic DatetimeField values bypass custom validatorsPosiblemente ocupada @IlyaKhalafi la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
tortoise/tortoise-orm#2409 ·
Los mantenedores suelen responder en 4 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
tortoise/tortoise-orm#668 ·
Los mantenedores suelen responder en 4 días
-
UUIDField skips configured validators when writing valuesPosiblemente ocupada @IlyaKhalafi la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 25/100
tortoise/tortoise-orm#2407 ·
Los mantenedores suelen responder en 4 días
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
tortoise/tortoise-orm#2406 ·
Los mantenedores suelen responder en 4 días
-
TimeField skips validators for timedelta valuesPosiblemente ocupada @IlyaKhalafi la tomó hace 2 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 35/100
tortoise/tortoise-orm#2404 ·
Los mantenedores suelen responder en 4 días
Todos los issues de tortoise/tortoise-orm
Issues similares
-
binding:python bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
The Browser tab fails with a Wayland error when Open Terminal runs from a Wayland desktop sessionAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
open-webui/open-terminal#210 ·
-
triage/confirmed
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
agentscope-ai/agentscope#3807 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
NousResearch/hermes-agent#150542 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 91/100
triton-inference-server/server#9069 ·
Los mantenedores suelen responder en 1 día