Archived
1
0

Merge pull request #163 from cathugger/master

srnd: properly parse email addresses
This commit is contained in:
Jeff 2018-12-03 09:10:48 -05:00 committed by GitHub
commit 22eb29c8ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -295,12 +295,20 @@ func (self *nntpArticle) Newsgroup() string {
}
func (self *nntpArticle) Name() string {
from := self.headers.Get("From", "anonymous <a@no.n>")
idx := strings.Index(from, "<")
if idx > 1 {
return from[:idx]
const defname = "Anonymous"
from := strings.TrimSpace(self.headers.Get("From", ""))
if from == "" {
return defname
}
return "[Invalid From header]"
a, e := mail.ParseAddress(from)
if e != nil {
return fmt.Sprintf("[Invalid From header: %v]", e)
}
name := strings.TrimSpace(a.Name)
if name == "" {
return defname
}
return name
}
func (self *nntpArticle) Addr() (addr string) {
@ -327,13 +335,15 @@ func (self *nntpArticle) Addr() (addr string) {
}
func (self *nntpArticle) Email() string {
from := self.headers.Get("From", "anonymous <a@no.n>")
idx := strings.Index(from, "<")
if idx > 2 {
return from[:idx-2]
from := strings.TrimSpace(self.headers.Get("From", ""))
if from == "" {
return ""
}
return "[Invalid From header]"
a, e := mail.ParseAddress(from)
if e != nil {
return fmt.Sprintf("[Invalid From header: %v]", e)
}
return a.Address
}
func (self *nntpArticle) Subject() string {