msimerson / mail-dmarc

Mail::DMARC, a complete DMARC implementation in Perl
Other
33 stars 22 forks source link

Use of uninitialized value #112

Closed xpunkt closed 7 years ago

xpunkt commented 7 years ago

[001] dmarc forensic report for example.org from ip xxx.xxx,xxx.xxx Use of uninitialized value in split at /usr/lib64/perl5/vendor_perl/5.24.1/Mail/DMARC/Report/Receive.pm line 140. Use of uninitialized value $c_type in string eq at /usr/lib64/perl5/vendor_perl/5.24.1/Mail/DMARC/Report/Receive.pm line 141. Use of uninitialized value $c_type in string eq at /usr/lib64/perl5/vendor_perl/5.24.1/Mail/DMARC/Report/Receive.pm line 142. Use of uninitialized value $c_type in string eq at /usr/lib64/perl5/vendor_perl/5.24.1/Mail/DMARC/Report/Receive.pm line 147. Use of uninitialized value $c_type in string eq at /usr/lib64/perl5/vendor_perl/5.24.1/Mail/DMARC/Report/Receive.pm line 153. Use of uninitialized value $c_type in string eq at /usr/lib64/perl5/vendor_perl/5.24.1/Mail/DMARC/Report/Receive.pm line 153. Use of uninitialized value $c_type in string eq at /usr/lib64/perl5/vendor_perl/5.24.1/Mail/DMARC/Report/Receive.pm line 162. Use of uninitialized value $c_type in concatenation (.) or string at /usr/lib64/perl5/vendor_perl/5.24.1/Mail/DMARC/Report/Receive.pm line 169. Unknown message part

xpunkt commented 7 years ago

http://gentoo-overlays.zugaina.org/fidonet/dev-perl.html.en#Mail-DMARC

is what i use on gentoo, more info needed ?

msimerson commented 7 years ago

This error was emitted because the forensic report / email message apparently didn't contain any MIME parts, or Email::MIME was unable to parse it. Either way, there's nothing we can do without a full copy of that raw email.

xpunkt commented 7 years ago

DMARC Forensic Report for junc.eu from IP 95.128.36.21.txt

msimerson commented 7 years ago

Well, that explains it. There are no MIME parts in that message. No MIME parts means no content types. Years ago, when I last looked at forensic reports, the actual reports were anything but standardized. The example provided in RFC 6591 was at least MIME encoded. My experience with receiving forensic reports was that the formats were anything but standard. Because their format isn't consistent, I've always had them sent to another email address and thus Mail::DMARC doesn't really have support for them.

If you wish to amend Mail::DMARC to do something more with messages w/o MIME types (maybe just emit a spiffy error message?), PRs are welcome.