Neuron®
The Neuron® is the basis for the creation of open and secure federated networks for smart societies.
Loading...
Searching...
No Matches
Include.cs
1using System;
2using System.Collections.Generic;
3using System.Threading.Tasks;
4
6{
11 {
12 private readonly SpfExpression[] spfExpressions;
13
20 public Include(Term Term, SpfQualifier Qualifier, params SpfExpression[] SpfExpressions)
21 : base(Term, Qualifier)
22 {
23 this.spfExpressions = SpfExpressions;
24 }
25
30 public override async Task<SpfResult> Matches()
31 {
32 string Bak = this.term.domain;
33 this.term.domain = this.Domain;
34 try
35 {
36 KeyValuePair<SpfResult, string> Result = await SpfResolver.CheckHost(this.term, this.spfExpressions);
37
38 switch (Result.Key)
39 {
40 case SpfResult.Pass:
41 return SpfResult.Pass;
42
43 case SpfResult.Fail:
44 case SpfResult.SoftFail:
45 case SpfResult.Neutral:
46 return SpfResult.Fail;
47
48 case SpfResult.TemporaryError:
49 return SpfResult.TemporaryError;
50
51 case SpfResult.PermanentError:
52 case SpfResult.None:
53 default:
54 return SpfResult.PermanentError;
55 }
56 }
57 finally
58 {
59 this.term.domain = Bak;
60 }
61 }
62
63 }
64}
The "include" mechanism triggers a recursive evaluation of check_host().
Definition: Include.cs:11
Include(Term Term, SpfQualifier Qualifier, params SpfExpression[] SpfExpressions)
The "include" mechanism triggers a recursive evaluation of check_host().
Definition: Include.cs:20
override async Task< SpfResult > Matches()
Checks if the mechamism matches the current request.
Definition: Include.cs:30
Abstract base class for SPF mechanisms with a domain specification.
readonly Term term
Current request.
Definition: Mechanism.cs:20
SpfQualifier Qualifier
Mechanism qualifier
Definition: Mechanism.cs:36
Contains information about a SPF string.
Resolves a SPF string, as defined in:
Definition: SpfResolver.cs:16
static Task< KeyValuePair< SpfResult, string > > CheckHost(IPAddress Address, string DomainName, string Sender, string HelloDomain, string HostDomain, params SpfExpression[] SpfExpressions)
Fetches SPF records, parses them, and evaluates them to determine whether a particular host is or is ...
Definition: SpfResolver.cs:33
SpfQualifier
SPF Mechanism qualifier
Definition: Term.cs:12
SpfResult
Result of a SPF (Sender Policy Framework) evaluation.
Definition: SpfResult.cs:11