1package dkim
2
3import (
4	"errors"
5)
6
7var (
8	// ErrSignPrivateKeyRequired when there not private key in config
9	ErrSignPrivateKeyRequired = errors.New("PrivateKey is required")
10
11	// ErrSignDomainRequired when there is no domain defined in config
12	ErrSignDomainRequired = errors.New("Domain is required")
13
14	// ErrSignSelectorRequired when there is no Selcteir defined in config
15	ErrSignSelectorRequired = errors.New("Selector is required")
16
17	// ErrSignHeaderShouldContainsFrom If Headers is specified it should at least contain 'from'
18	ErrSignHeaderShouldContainsFrom = errors.New("header must contains 'from' field")
19
20	// ErrSignBadCanonicalization If bad Canonicalization parameter
21	ErrSignBadCanonicalization = errors.New("bad Canonicalization parameter")
22
23	// ErrCandNotParsePrivateKey when unable to parse private key
24	ErrCandNotParsePrivateKey = errors.New("can not parse private key, check format (pem) and validity")
25
26	// ErrSignBadAlgo Bad algorithm
27	ErrSignBadAlgo = errors.New("bad algorithm. Only rsa-sha1 or rsa-sha256 are permitted")
28
29	// ErrBadMailFormat unable to parse mail
30	ErrBadMailFormat = errors.New("bad mail format")
31
32	// ErrBadMailFormatHeaders bad headers format (not DKIM Header)
33	ErrBadMailFormatHeaders = errors.New("bad mail format found in headers")
34
35	// ErrBadDKimTagLBodyTooShort bad l tag
36	ErrBadDKimTagLBodyTooShort = errors.New("bad tag l or bodyLength option. Body length < l value")
37
38	// ErrDkimHeaderBadFormat when errors found in DKIM header
39	ErrDkimHeaderBadFormat = errors.New("bad DKIM header format")
40
41	// ErrDkimHeaderNotFound when there's no DKIM-Signature header in an email we have to verify
42	ErrDkimHeaderNotFound = errors.New("no DKIM-Signature header field found ")
43
44	// ErrDkimHeaderBTagNotFound when there's no b tag
45	ErrDkimHeaderBTagNotFound = errors.New("no tag 'b' found in dkim header")
46
47	// ErrDkimHeaderNoFromInHTag when from is missing in h tag
48	ErrDkimHeaderNoFromInHTag = errors.New("'from' header is missing in h tag")
49
50	// ErrDkimHeaderMissingRequiredTag when a required tag is missing
51	ErrDkimHeaderMissingRequiredTag = errors.New("signature missing required tag")
52
53	// ErrDkimHeaderDomainMismatch if i tag is not a sub domain of d tag
54	ErrDkimHeaderDomainMismatch = errors.New("domain mismatch")
55
56	// ErrDkimVersionNotsupported version not supported
57	ErrDkimVersionNotsupported = errors.New("incompatible version")
58
59	// Query method unsupported
60	errQueryMethodNotsupported = errors.New("query method not supported")
61
62	// ErrVerifyBodyHash when body hash doesn't verify
63	ErrVerifyBodyHash = errors.New("body hash did not verify")
64
65	// ErrVerifyNoKeyForSignature no key
66	ErrVerifyNoKeyForSignature = errors.New("no key for verify")
67
68	// ErrVerifyKeyUnavailable when service (dns) is anavailable
69	ErrVerifyKeyUnavailable = errors.New("key unavailable")
70
71	// ErrVerifyTagVMustBeTheFirst if present the v tag must be the firts in the record
72	ErrVerifyTagVMustBeTheFirst = errors.New("pub key syntax error: v tag must be the first")
73
74	// ErrVerifyVersionMusBeDkim1 if présent flag v (version) must be DKIM1
75	ErrVerifyVersionMusBeDkim1 = errors.New("flag v must be set to DKIM1")
76
77	// ErrVerifyBadKeyType bad type for pub key (only rsa is accepted)
78	ErrVerifyBadKeyType = errors.New("bad type for key type")
79
80	// ErrVerifyRevokedKey key(s) for this selector is revoked (p is empty)
81	ErrVerifyRevokedKey = errors.New("revoked key")
82
83	// ErrVerifyBadKey when we can't parse pubkey
84	ErrVerifyBadKey = errors.New("unable to parse pub key")
85
86	// ErrVerifyNoKey when no key is found on DNS record
87	ErrVerifyNoKey = errors.New("no public key found in DNS TXT")
88
89	// ErrVerifySignatureHasExpired when signature has expired
90	ErrVerifySignatureHasExpired = errors.New("signature has expired")
91
92	// ErrVerifyInappropriateHashAlgo when h tag in pub key doesn't contain hash algo from a tag of DKIM header
93	ErrVerifyInappropriateHashAlgo = errors.New("inappropriate has algorithm")
94)
95