laminas / laminas-mime

Create and parse MIME messages and parts
https://docs.laminas.dev/laminas-mime/
BSD 3-Clause "New" or "Revised" License
29 stars 23 forks source link

Attachments with longs names are not being processed #29

Open Ralev93 opened 2 years ago

Ralev93 commented 2 years ago
Q A
Documentation no
Bugfix yes
BC Break no
New Feature no
RFC no
QA no

Bug Report

Q A
Version(s) 2.10.x

Summary

Attachments with filenames, longer than 76 char symbols, are not being processed.

Current behavior

Currently, Laminas\Mail successfully identifies long names and successfully splits them into multiple variables in \Laminas\Mail\Header\ContentDisposition::getFieldValue(). However, the multiple variables do not get recognized in Laminas\Mime\Decode::splitHeaderField() due to this check strcasecmp($name, $wantedPart) i.e. it compares "filename*0" with "filename"

How to reproduce

Try to process an email with an attachment with long name, for example "This___is____long__name.txt"

Expected behavior

It should not compare with strcasecmp, but rather with a regex. Then if it is a multiple value, it should concatenate the values

Ocramius commented 2 years ago

@Ralev93 I think this should go against 2.9.x, as a bugfix.