SYNOPSIS |
#include <dmarc.h>
DMARC_POLICY_T * opendmarc_policy_store_spf(
DMARC_POLICY_T * pctx,
u_char *domain, int result, int origin, u_char *human_readable
);
One you have found the outcome of the SPF check you may call this function to prepare it for a DMARC policy decision.
|
DESCRIPTION |
Called When |
opendmarc_policy_store_spf()
may be called as soon as you have made an SPF decision.
If you have no way of validating SPF, you may ignore this function.
|
|
---|
ARGUMENTS |
Argument | Description |
pctx |
A pointer to type DMARC_POLICY_T.
|
domain |
A pointer to an unsigned string containing the domain used to check SPF.
This may be the domain from
the SMTP MAIL From: command or, if that contained no domain,
the domain from the SMTP HELO/EHLO command.
|
result |
Integer specifying the result of the SPF check. Choose from one of:
DMARC_POLICY_SPF_OUTCOME_NONE if there was no SPF record;
DMARC_POLICY_SPF_OUTCOME_PASS if the SPF check passed;
DMARC_POLICY_SPF_OUTCOME_FAIL if the SPF check failed; or
DMARC_POLICY_SPF_OUTCOME_TMPFAIL if the check returned a temporary failure.
|
origin |
Integer specifying the which part of the SMTP session contained the domain to check.
Select from one of:
DMARC_POLICY_SPF_ORIGIN_MAILFROM if the domain came from the SMTP MAIL From: command; or
DMARC_POLICY_SPF_ORIGIN_HELO if the domain came from the SMTP HELO/EHLO command.
|
human_readable |
If not NULL, is a string containing an arbitrary, human readable and friendly SPF result.
|
|
RETURN VALUES |
- DMARC_PARSE_OKAY -- On success
- DMARC_PARSE_ERROR_NULL_CTX -- If pctx was NULL
- DMARC_PARSE_ERROR_EMPTY -- If domain was NULL or zero length
- DMARC_PARSE_ERROR_NO_DOMAIN -- If domain did not contain a domain, e.g. "<>"
|
NOTES |
- You may pass the whole SMTP MAIL From: command to this function,
or the value of the SMTP MAIL From: command inside angle braces or just the domain
you parsed from that address. This function will correctly handle whatever you feed it.
- If you lack access to an SPF outcome, you may safely omit calling this function, because
the library presumes there will be no SPF outcome unless told otherwise.
|