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
may be called after each DKIM signature in the message is verified. That is, this function may
be called one, or many times.
||A pointer to type DMARC_POLICY_T.
||A pointer to an unsigned string containing the domain found in
the d= record of the DKIM signature.
||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.
||If not NULL, is a string containing an arbitrary, human readable and friendly DKIM result.
- 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
- 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.