You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by he...@apache.org on 2019/08/13 13:22:36 UTC
svn commit: r1865040 - in /spamassassin/trunk/lib/Mail/SpamAssassin:
PerMsgStatus.pm Util.pm
Author: hege
Date: Tue Aug 13 13:22:35 2019
New Revision: 1865040
URL: http://svn.apache.org/viewvc?rev=1865040&view=rev
Log:
Handle ascii feed to is_fqdn_valid more robust
Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm
spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm?rev=1865040&r1=1865039&r2=1865040&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm Tue Aug 13 13:22:35 2019
@@ -2436,7 +2436,7 @@ sub _process_text_uri_list {
$seen{$rawuri} = 1;
# Quick ignore if schemeless host not valid
- next if defined $schost && !is_fqdn_valid(lc $schost, 1);
+ next if defined $schost && !is_fqdn_valid($schost, 1);
# Ignore cid: mid: as they can be mistaken for emails,
# these should not be parsed from stripped body in any case.
Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm?rev=1865040&r1=1865039&r2=1865040&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm Tue Aug 13 13:22:35 2019
@@ -385,8 +385,13 @@ sub is_fqdn_valid {
my ($host, $is_ascii) = @_;
return if !defined $host;
- # convert to ascii, handles Unicode dot normalization also
- $host = idn_to_ascii($host) if !$is_ascii;
+ if ($is_ascii) {
+ utf8::encode($host) if utf8::is_utf8($host); # force octets
+ $host = lc $host;
+ } else {
+ # convert to ascii, handles Unicode dot normalization also
+ $host = idn_to_ascii($host);
+ }
# remove trailing dots
$host =~ s/\.+\z//;