aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorshukuru <shukuru@boitalett.re>2024-02-18 14:50:55 +0100
committershukuru <shukuru@boitalett.re>2024-02-18 14:50:55 +0100
commit13e1af6641cdfc8c8427b5c2a81f8b79aef9e26b (patch)
treedec1f255e72e747ea070afe210f971927c958e3d /src
parentd3609f9be18caf3134dbb0e5c051bd56185a9c56 (diff)
Add DMARC report data structure code
Diffstat (limited to 'src')
-rw-r--r--src/data_structures.rs35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/data_structures.rs b/src/data_structures.rs
new file mode 100644
index 0000000..a90b7b0
--- /dev/null
+++ b/src/data_structures.rs
@@ -0,0 +1,35 @@
+enum DMARCPolicy {
+ None,
+ Quarantine,
+ Reject
+}
+
+enum DMARCAlignment {
+ Relaxed,
+ Strict
+}
+
+enum DMARCFailureOption {
+ AlignedPassFailure,
+ OtherAlignedPassFailure,
+ SignatureAlignmentFailure,
+ SPFFailure
+}
+
+struct DMARCRecord {
+ domain: String,
+ adkim: DMARCAlignment,
+ aspf: DMARCAlignment,
+ policy: DMARCPolicy,
+ subdomain_policy: DMARCPolicy,
+ percentage: u64,
+ failure_opt: DMARCFailureOption
+}
+
+pub struct DMARCReport {
+ id: String,
+ org: String,
+ record: DMARCRecord,
+ dkim_pass: bool,
+ spf_pass: bool
+}