mailing: fix case issues
This commit is contained in:
parent
20a67eddc2
commit
10db5642df
|
@ -12,7 +12,7 @@ import hashlib
|
|||
|
||||
def generate_message_token():
|
||||
# /!\ birthday problem
|
||||
return get_random_string(length=32)
|
||||
return get_random_string(length=32, allowed_chars='abcdefghijklmnopqrstuvwxyz0123456789')
|
||||
|
||||
|
||||
def hexdigest_sha256(*args):
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
from django.conf import settings
|
||||
from django.db import models
|
||||
|
||||
import imaplib
|
||||
import ssl
|
||||
|
@ -111,12 +112,12 @@ def process_email(raw_email):
|
|||
token = m.group('token')
|
||||
key = token[64:]
|
||||
try:
|
||||
thread = MessageThread.objects.get(token=token[:32])
|
||||
sender = MessageCorrespondent.objects.get(token=token[32:64])
|
||||
except models.DoesNotExist:
|
||||
thread = MessageThread.objects.get(token__iexact=token[:32])
|
||||
sender = MessageCorrespondent.objects.get(token__iexact=token[32:64])
|
||||
except models.ObjectDoesNotExist:
|
||||
raise InvalidTokenException
|
||||
|
||||
if key != hexdigest_sha256(settings.SECRET_KEY, thread.token, sender.token)[:16]:
|
||||
if key.lower() != hexdigest_sha256(settings.SECRET_KEY, thread.token, sender.token)[:16]:
|
||||
raise InvalidKeyException
|
||||
|
||||
Message.objects.create(thread=thread, from_email=sender.email, content=content)
|
||||
|
|
Loading…
Reference in New Issue