Skip to content

Commit f0eb665

Browse files
committed
fix(email): reject ASCII control characters in quoted local parts
1 parent 9e2e96c commit f0eb665

2 files changed

Lines changed: 3 additions & 3 deletions

File tree

‎src/validators/email.py‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ def email(
9191
+ r"(\.[\u0100-\u017F\u0180-\u024F\u00A0-\u00FF0-9a-z!#$%&'*+/=?^_`{}|~\-]+)*$"
9292
# quoted-string
9393
+ r'|^"('
94-
+ r"[\u0100-\u017F\u0180-\u024F\u00A0-\u00FF\001-\010\013\014\016-\037"
95-
+ r"!#-\[\]-\177]|\\[\011.]"
94+
+ r"[\u0100-\u017F\u0180-\u024F\u00A0-\u00FF"
95+
+ r"!#-\[\]-~]|\\[\011.]"
9696
+ r')*")$',
9797
username_part,
9898
re.IGNORECASE,

‎tests/test_email_control_character.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ def test_email_rejects_control_characters(control_code: int):
1717

1818
result = validators.email(email)
1919

20-
assert isinstance(result, validators.ValidationError), repr(result)
20+
assert isinstance(result, validators.ValidationError), repr(result)

0 commit comments

Comments
 (0)