aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
Diffstat (limited to 'pkg')
-rw-r--r--pkg/email/parser.go13
-rw-r--r--pkg/email/parser_test.go11
2 files changed, 20 insertions, 4 deletions
diff --git a/pkg/email/parser.go b/pkg/email/parser.go
index d7bf40a0f..2975d2de7 100644
--- a/pkg/email/parser.go
+++ b/pkg/email/parser.go
@@ -24,6 +24,7 @@ type Email struct {
Subject string
From string
Cc []string
+ Sender string
Body string // text/plain part
Patch string // attached patch, if any
Command Command // command to bot
@@ -97,6 +98,17 @@ func Parse(r io.Reader, ownEmails []string) (*Email, error) {
}
}
ccList = MergeEmailLists(ccList)
+
+ sender := ""
+ senders, err := msg.Header.AddressList("Sender")
+ if err != nil {
+ if err != mail.ErrHeaderNotPresent {
+ return nil, err
+ }
+ } else if len(senders) > 0 {
+ sender = senders[0].Address
+ }
+
body, attachments, err := parseBody(msg.Body, msg.Header)
if err != nil {
return nil, err
@@ -128,6 +140,7 @@ func Parse(r io.Reader, ownEmails []string) (*Email, error) {
Subject: subject,
From: from[0].String(),
Cc: ccList,
+ Sender: sender,
Body: bodyStr,
Patch: patch,
Command: cmd,
diff --git a/pkg/email/parser_test.go b/pkg/email/parser_test.go
index 88b7b4ad9..1593a22fd 100644
--- a/pkg/email/parser_test.go
+++ b/pkg/email/parser_test.go
@@ -642,6 +642,7 @@ d
Subject: "Re: BUG: unable to handle kernel NULL pointer dereference in sock_poll",
From: "\"bar\" <bar@foo.com>",
Cc: []string{"bar@foo.com", "syzbot@syzkaller.appspotmail.com"},
+ Sender: "syzkaller-bugs@googlegroups.com",
Body: `On 2018/06/10 4:57, syzbot wrote:
> Hello,
>
@@ -666,8 +667,9 @@ From: bar@foo.com
#syz dup:
BUG: unable to handle kernel NULL pointer dereference in corrupted
`, Email{
- From: "<bar@foo.com>",
- Cc: []string{"bar@foo.com", "syzbot@syzkaller.appspotmail.com"},
+ From: "<bar@foo.com>",
+ Cc: []string{"bar@foo.com", "syzbot@syzkaller.appspotmail.com"},
+ Sender: "syzkaller-bugs@googlegroups.com",
Body: `#syz dup:
BUG: unable to handle kernel NULL pointer dereference in corrupted
`,
@@ -683,8 +685,9 @@ From: bar@foo.com
#syz fix:
When freeing a lockf struct that already is part of a linked list, make sure to
`, Email{
- From: "<bar@foo.com>",
- Cc: []string{"bar@foo.com", "syzbot@syzkaller.appspotmail.com"},
+ From: "<bar@foo.com>",
+ Cc: []string{"bar@foo.com", "syzbot@syzkaller.appspotmail.com"},
+ Sender: "syzkaller-bugs@googlegroups.com",
Body: `#syz fix:
When freeing a lockf struct that already is part of a linked list, make sure to
`,