aboutsummaryrefslogtreecommitdiff
path: root/src/data_structures.rs
blob: a90b7b076234ed6bd52dd7f145bd80c569a2b33a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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
}