SYNOPSIS |
#include <dmarc.h>
DMARC_POLICY_T * opendmarc_policy_store_dkim(
DMARC_POLICY_T * pctx,
u_char *d_equal_domain, int dkim_result, u_char *human_result
);
Once you have found the outcome of each DKIM check, no matter how many,
you may call this function to prepare it for a DMARC policy
decision.
|
DESCRIPTION |
Called When |
opendmarc_policy_store_dkim()
may be called after each DKIM signature in the message is verified. That is, this function may
be called one, or many times.
|
|
---|
ARGUMENTS |
Argument | Description |
pctx |
A pointer to type DMARC_POLICY_T.
|
d_equal_domain |
A pointer to an unsigned string containing the domain found in
the d= record of the DKIM signature.
|
dkim_result |
Integer specifying the result of the DKIM check. Choose from one of:
DMARC_POLICY_DKIM_OUTCOME_NONE if there was no DKIM signature;
DMARC_POLICY_DKIM_OUTCOME_PASS if the DKIM check passed;
DMARC_POLICY_DKIM_OUTCOME_FAIL if the DKIM check failed; or
DMARC_POLICY_DKIM_OUTCOME_TMPFAIL if the check returned a temporary failure.
|
human_result |
If not NULL, is a string containing an arbitrary, human readable and friendly DKIM 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. "<>"
- DMARC_PARSE_ERROR_NO_ALLOC -- If memory allocation failed
|
NOTES |
- You may feed this function results from multiple DKIM signatures. This function
will select the most successful check from among those that align with the header From: domain.
- You should not call this function if there were no DKIM signatures, because the
library presumes there will be none unless told otherwise.
|