user/dev discussion of public-inbox itself
 help / color / mirror / code / Atom feed
* [PATCH] mda: fix address matching in address lists
@ 2016-07-26  0:36 Eric Wong
  0 siblings, 0 replies; only message in thread
From: Eric Wong @ 2016-07-26  0:36 UTC (permalink / raw)
  To: meta

This is common when multiple participants are in a thread.
---
 lib/PublicInbox/MDA.pm |  2 +-
 t/precheck.t           | 17 +++++++++++++++++
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/lib/PublicInbox/MDA.pm b/lib/PublicInbox/MDA.pm
index 0f583e6..bcf5358 100644
--- a/lib/PublicInbox/MDA.pm
+++ b/lib/PublicInbox/MDA.pm
@@ -64,7 +64,7 @@ sub alias_specified {
 	} @address;
 
 	foreach my $line ($simple->header('Cc'), $simple->header('To')) {
-		my @addrs = ($line =~ /([^<\s]+\@[^>\s]+)/g);
+		my @addrs = ($line =~ /([^,<\s]+\@[^,>\s]+)/g);
 		foreach my $addr (@addrs) {
 			if ($ok{lc(__drop_plus($addr))}) {
 				return 1;
diff --git a/t/precheck.t b/t/precheck.t
index 6c353d8..0c3ce1c 100644
--- a/t/precheck.t
+++ b/t/precheck.t
@@ -27,6 +27,23 @@ sub do_checks {
 }
 
 {
+	my $s = Email::Simple->create(
+		header => [
+			From => 'abc@example.com',
+			To => 'abc@example.com',
+			Cc => 'c@example.com, another-list@example.com',
+			'Content-Type' => 'text/plain',
+			Subject => 'list is fine',
+			'Message-ID' => '<MID@host>',
+			Date => 'Wed, 09 Apr 2014 01:28:34 +0000',
+		],
+		body => "hello world\n",
+	);
+	my $addr = [ 'c@example.com', 'd@example.com' ];
+	ok(PublicInbox::MDA->precheck($s, $addr), 'Cc list is OK');
+}
+
+{
 	do_checks(Email::Simple->create(
 		header => [
 			From => 'a@example.com',
-- 
EW


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2016-07-26  0:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-26  0:36 [PATCH] mda: fix address matching in address lists Eric Wong

Code repositories for project(s) associated with this public inbox

	https://80x24.org/public-inbox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).