mirror of
https://github.com/mjl-/mox.git
synced 2025-07-10 10:34:40 +03:00
in dkim-signature header, allow FWS anywhere in "z=" (copied headers), and prevent panic in cli command "mox dkim verify" when a dkim-signature cannot be parsed
the BNF for "z=" does not show FWS is allowed (while it does in other places, eg base64), but the text above the BNF explains it in words.
This commit is contained in:
24
main.go
24
main.go
@ -1123,13 +1123,25 @@ that was passed.
|
||||
xcheckf(err, "dkim verify")
|
||||
|
||||
for _, result := range results {
|
||||
record, err := result.Record.Record()
|
||||
if err != nil {
|
||||
log.Printf("warning: record: %s", err)
|
||||
var sigh string
|
||||
if result.Sig == nil {
|
||||
log.Printf("warning: could not parse signature")
|
||||
} else {
|
||||
sigh, err = result.Sig.Header()
|
||||
if err != nil {
|
||||
log.Printf("warning: packing signature: %s", err)
|
||||
}
|
||||
}
|
||||
sigh, err := result.Sig.Header()
|
||||
xcheckf(err, "packing dkim-signature header")
|
||||
fmt.Printf("status %q, err %v\nrecord %s\nheader %s\n", result.Status, result.Err, record, sigh)
|
||||
var txt string
|
||||
if result.Record == nil {
|
||||
log.Printf("warning: missing DNS record")
|
||||
} else {
|
||||
txt, err = result.Record.Record()
|
||||
if err != nil {
|
||||
log.Printf("warning: packing record: %s", err)
|
||||
}
|
||||
}
|
||||
fmt.Printf("status %q, err %v\nrecord %q\nheader %s\n", result.Status, result.Err, txt, sigh)
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user