fix unfold DKIM header on verify
This commit is contained in:
1
dkim.go
1
dkim.go
@@ -473,7 +473,6 @@ func verifySignature(toSign []byte, sig64 string, key *rsa.PublicKey, algo strin
|
|||||||
return ErrVerifyInappropriateHashAlgo
|
return ErrVerifyInappropriateHashAlgo
|
||||||
}
|
}
|
||||||
|
|
||||||
//fmt.Printf("|%s|", toSign)
|
|
||||||
h1.Write(toSign)
|
h1.Write(toSign)
|
||||||
sig, err := base64.StdEncoding.DecodeString(sig64)
|
sig, err := base64.StdEncoding.DecodeString(sig64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -315,7 +315,11 @@ func parseDkHeader(header string) (dkh *dkimHeader, err error) {
|
|||||||
dkh.MessageCanonicalization = "simple/simple"
|
dkh.MessageCanonicalization = "simple/simple"
|
||||||
dkh.QueryMethods = []string{"dns/txt"}
|
dkh.QueryMethods = []string{"dns/txt"}
|
||||||
|
|
||||||
fs := strings.Split(keyVal[1], ";")
|
// unfold && clean
|
||||||
|
val := removeFWS(keyVal[1])
|
||||||
|
val = strings.Replace(val, " ", "", -1)
|
||||||
|
|
||||||
|
fs := strings.Split(val, ";")
|
||||||
for _, f := range fs {
|
for _, f := range fs {
|
||||||
flagData := strings.SplitN(f, "=", 2)
|
flagData := strings.SplitN(f, "=", 2)
|
||||||
flag := strings.ToLower(strings.TrimSpace(flagData[0]))
|
flag := strings.ToLower(strings.TrimSpace(flagData[0]))
|
||||||
|
|||||||
@@ -360,5 +360,4 @@ func Test_Verify(t *testing.T) {
|
|||||||
status, err = Verify(&email)
|
status, err = Verify(&email)
|
||||||
assert.NoError(t, err)
|
assert.NoError(t, err)
|
||||||
assert.Equal(t, SUCCESS, status)
|
assert.Equal(t, SUCCESS, status)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user