forked from CGM_Public/pretix_original
SMTP config: Do not accept non-ASCII passwords (Z#23186129) (#4922)
* SMTP config: Do not accept non-ASCII passwords Python's SMTP implementation can't seem to handle non-ascii passwords, so let's not let people enter them. * Update src/pretix/control/forms/mailsetup.py Co-authored-by: Mira <weller@rami.io> --------- Co-authored-by: Mira <weller@rami.io>
This commit is contained in:
@@ -25,6 +25,8 @@ import socket
|
|||||||
from django import forms
|
from django import forms
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.core.exceptions import ValidationError
|
from django.core.exceptions import ValidationError
|
||||||
|
from django.core.validators import RegexValidator
|
||||||
|
from django.utils.text import format_lazy
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
from pretix.base.forms import SecretKeySettingsField, SettingsForm
|
from pretix.base.forms import SecretKeySettingsField, SettingsForm
|
||||||
@@ -54,6 +56,15 @@ class SMTPMailForm(SettingsForm):
|
|||||||
smtp_password = SecretKeySettingsField(
|
smtp_password = SecretKeySettingsField(
|
||||||
label=_("Password"),
|
label=_("Password"),
|
||||||
required=False,
|
required=False,
|
||||||
|
validators=[RegexValidator(
|
||||||
|
r"^[A-Za-z0-9!\"#$%&'()*+,./:;<=>?@\^_`{}|~-]+$",
|
||||||
|
message=format_lazy(
|
||||||
|
_("The password contains characters not supported by our email system. Please only use characters "
|
||||||
|
"A-Z, a-z, 0-9, and common special characters ({characters})."),
|
||||||
|
|
||||||
|
characters=r'!"#$%%&\'()*+,-./:;<=>?@\^_`{}|~'
|
||||||
|
)
|
||||||
|
)]
|
||||||
)
|
)
|
||||||
smtp_use_tls = forms.BooleanField(
|
smtp_use_tls = forms.BooleanField(
|
||||||
label=_("Use STARTTLS"),
|
label=_("Use STARTTLS"),
|
||||||
|
|||||||
Reference in New Issue
Block a user