@@ -32,27 +32,30 @@ pub struct ReportMetadata {
3232 error : Vec < String > ,
3333}
3434
35- #[ derive( Debug , Clone , Copy , PartialEq , Eq , Serialize , Deserialize ) ]
35+ #[ derive( Debug , Clone , Copy , PartialEq , Eq , Serialize , Deserialize , Default ) ]
3636pub enum Alignment {
3737 Relaxed ,
3838 Strict ,
39+ #[ default]
3940 Unspecified ,
4041}
4142
42- #[ derive( Debug , Clone , Copy , PartialEq , Eq , Serialize , Deserialize ) ]
43+ #[ derive( Debug , Clone , Copy , PartialEq , Eq , Serialize , Deserialize , Default ) ]
4344pub enum Disposition {
4445 None ,
4546 Quarantine ,
4647 Reject ,
48+ #[ default]
4749 Unspecified ,
4850}
4951
50- #[ derive( Debug , Hash , Clone , Copy , PartialEq , Eq , Serialize , Deserialize ) ]
52+ #[ derive( Debug , Hash , Clone , Copy , PartialEq , Eq , Serialize , Deserialize , Default ) ]
5153pub enum ActionDisposition {
5254 None ,
5355 Pass ,
5456 Quarantine ,
5557 Reject ,
58+ #[ default]
5659 Unspecified ,
5760}
5861
@@ -70,20 +73,22 @@ pub struct PolicyPublished {
7073
7174impl Eq for PolicyPublished { }
7275
73- #[ derive( Debug , Clone , Copy , Hash , PartialEq , Eq , Serialize , Deserialize ) ]
76+ #[ derive( Debug , Clone , Copy , Hash , PartialEq , Eq , Serialize , Deserialize , Default ) ]
7477pub enum DmarcResult {
7578 Pass ,
7679 Fail ,
80+ #[ default]
7781 Unspecified ,
7882}
7983
80- #[ derive( Debug , Clone , Copy , Hash , PartialEq , Eq , Serialize , Deserialize ) ]
84+ #[ derive( Debug , Clone , Copy , Hash , PartialEq , Eq , Serialize , Deserialize , Default ) ]
8185pub enum PolicyOverride {
8286 Forwarded ,
8387 SampledOut ,
8488 TrustedForwarder ,
8589 MailingList ,
8690 LocalPolicy ,
91+ #[ default]
8792 Other ,
8893}
8994
@@ -121,8 +126,9 @@ pub struct Identifier {
121126 header_from : String ,
122127}
123128
124- #[ derive( Debug , Clone , Copy , Hash , PartialEq , Eq , Serialize , Deserialize ) ]
129+ #[ derive( Debug , Clone , Copy , Hash , PartialEq , Eq , Serialize , Deserialize , Default ) ]
125130pub enum DkimResult {
131+ #[ default]
126132 None ,
127133 Pass ,
128134 Fail ,
@@ -140,15 +146,17 @@ pub struct DKIMAuthResult {
140146 human_result : Option < String > ,
141147}
142148
143- #[ derive( Debug , Clone , Copy , Hash , PartialEq , Eq , Serialize , Deserialize ) ]
149+ #[ derive( Debug , Clone , Copy , Hash , PartialEq , Eq , Serialize , Deserialize , Default ) ]
144150pub enum SPFDomainScope {
145151 Helo ,
146152 MailFrom ,
153+ #[ default]
147154 Unspecified ,
148155}
149156
150- #[ derive( Debug , Clone , Copy , Hash , PartialEq , Eq , Serialize , Deserialize ) ]
157+ #[ derive( Debug , Clone , Copy , Hash , PartialEq , Eq , Serialize , Deserialize , Default ) ]
151158pub enum SpfResult {
159+ #[ default]
152160 None ,
153161 Neutral ,
154162 Pass ,
@@ -191,54 +199,6 @@ pub struct Report {
191199
192200impl Eq for Report { }
193201
194- impl Default for Alignment {
195- fn default ( ) -> Self {
196- Alignment :: Unspecified
197- }
198- }
199-
200- impl Default for Disposition {
201- fn default ( ) -> Self {
202- Disposition :: Unspecified
203- }
204- }
205-
206- impl Default for ActionDisposition {
207- fn default ( ) -> Self {
208- ActionDisposition :: None
209- }
210- }
211-
212- impl Default for DmarcResult {
213- fn default ( ) -> Self {
214- DmarcResult :: Unspecified
215- }
216- }
217-
218- impl Default for PolicyOverride {
219- fn default ( ) -> Self {
220- PolicyOverride :: Other
221- }
222- }
223-
224- impl Default for DkimResult {
225- fn default ( ) -> Self {
226- DkimResult :: None
227- }
228- }
229-
230- impl Default for SpfResult {
231- fn default ( ) -> Self {
232- SpfResult :: None
233- }
234- }
235-
236- impl Default for SPFDomainScope {
237- fn default ( ) -> Self {
238- SPFDomainScope :: Unspecified
239- }
240- }
241-
242202#[ derive( Debug , Clone , PartialEq , Eq ) ]
243203pub enum Error {
244204 MailParseError ,
@@ -287,70 +247,50 @@ pub struct Feedback<'x> {
287247 headers : Option < Cow < ' x , [ u8 ] > > ,
288248}
289249
290- #[ derive( Debug , Clone , PartialEq , Eq , Copy , Serialize , Deserialize ) ]
250+ #[ derive( Debug , Clone , PartialEq , Eq , Copy , Serialize , Deserialize , Default ) ]
291251pub enum AuthFailureType {
292252 Adsp ,
293253 BodyHash ,
294254 Revoked ,
295255 Signature ,
296256 Spf ,
297257 Dmarc ,
258+ #[ default]
298259 Unspecified ,
299260}
300261
301- #[ derive( Debug , Clone , PartialEq , Eq , Copy , Serialize , Deserialize ) ]
262+ #[ derive( Debug , Clone , PartialEq , Eq , Copy , Serialize , Deserialize , Default ) ]
302263pub enum IdentityAlignment {
303264 None ,
304265 Spf ,
305266 Dkim ,
306267 DkimSpf ,
268+ #[ default]
307269 Unspecified ,
308270}
309271
310- #[ derive( Debug , Clone , PartialEq , Eq , Copy , Serialize , Deserialize ) ]
272+ #[ derive( Debug , Clone , PartialEq , Eq , Copy , Serialize , Deserialize , Default ) ]
311273pub enum DeliveryResult {
312274 Delivered ,
313275 Spam ,
314276 Policy ,
315277 Reject ,
316278 Other ,
279+ #[ default]
317280 Unspecified ,
318281}
319282
320- #[ derive( Debug , Clone , PartialEq , Eq , Copy , Serialize , Deserialize ) ]
283+ #[ derive( Debug , Clone , PartialEq , Eq , Copy , Serialize , Deserialize , Default ) ]
321284pub enum FeedbackType {
322285 Abuse ,
323286 AuthFailure ,
324287 Fraud ,
325288 NotSpam ,
289+ #[ default]
326290 Other ,
327291 Virus ,
328292}
329293
330- impl Default for AuthFailureType {
331- fn default ( ) -> Self {
332- AuthFailureType :: Unspecified
333- }
334- }
335-
336- impl Default for IdentityAlignment {
337- fn default ( ) -> Self {
338- IdentityAlignment :: Unspecified
339- }
340- }
341-
342- impl Default for DeliveryResult {
343- fn default ( ) -> Self {
344- DeliveryResult :: Unspecified
345- }
346- }
347-
348- impl Default for FeedbackType {
349- fn default ( ) -> Self {
350- FeedbackType :: Other
351- }
352- }
353-
354294impl From < & crate :: DkimResult > for AuthFailureType {
355295 fn from ( value : & crate :: DkimResult ) -> Self {
356296 match value {
0 commit comments