[PATCH 07/10] parser: Don't pass a message-id longer than 255 chars to the db
Andrew Donnellan
andrew.donnellan at au1.ibm.com
Wed Jun 28 18:39:15 AEST 2017
On 28/06/17 17:48, Daniel Axtens wrote:
> The db limit is 255: we need to make sure we don't pass anything
> longer in or it will throw an exception.
>
> Signed-off-by: Daniel Axtens <dja at axtens.net>
Reviewed-by: Andrew Donnellan <andrew.donnellan at au1.ibm.com>
> ---
> patchwork/parser.py | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/patchwork/parser.py b/patchwork/parser.py
> index 80450c2e4860..46e6ca161574 100644
> --- a/patchwork/parser.py
> +++ b/patchwork/parser.py
> @@ -225,7 +225,7 @@ def _find_series_by_references(project, mail):
> for ref in refs:
> try:
> return SeriesReference.objects.get(
> - msgid=ref, series__project=project).series
> + msgid=ref[:255], series__project=project).series
> except SeriesReference.DoesNotExist:
> continue
>
> @@ -557,6 +557,7 @@ def find_comment_content(mail):
>
> def find_submission_for_comment(project, refs):
> for ref in refs:
> + ref = ref[:255]
> # first, check for a direct reply
> try:
> submission = Submission.objects.get(project=project, msgid=ref)
> @@ -934,7 +935,7 @@ def parse_mail(mail, list_id=None):
> msgid = clean_header(mail.get('Message-Id'))
> if not msgid:
> raise ValueError("Broken 'Message-Id' header")
> - msgid = msgid.strip()
> + msgid = msgid.strip()[:255]
>
> author = find_author(mail)
> subject = mail.get('Subject')
> @@ -993,6 +994,7 @@ def parse_mail(mail, list_id=None):
> # be possible to identify the relationship between patches
> # as the earlier patch does not reference the later one.
> for ref in refs + [msgid]:
> + ref = ref[:255]
> # we don't want duplicates
> try:
> # we could have a ref to a previous series. (For
>
--
Andrew Donnellan OzLabs, ADL Canberra
andrew.donnellan at au1.ibm.com IBM Australia Limited
More information about the Patchwork
mailing list