msys.validate.opendkim.get_num_sigs
Name
msys.validate.opendkim.get_num_sigs — Return the number of DKIM signatures
Synopsis
msys.validate.opendkim.get_num_sigs(dkim)
Description
**Configuration Change. ** This function is available as of version 3.6.
This function returns the number of DKIM signatures and requires the opendkim module. The dkim parameter is an array of DKIM_SIGINFO objects created by msys.validate.opendkim.verify. For a description of the DKIM_SIGINFO object see DKIM_DSIGINFO.
require("opendkim.dkim");
require("msys.validate.opendkim");
local mod = {};
function mod:validate_data(msg, accept, vctx)
local num = 0;
local stat;
local dkim_sig;
local dkim = msys.validate.opendkim.verify(msg);
num, stat = msys.validate.opendkim.get_num_sigs(dkim);
-- create loop controlled by num
if num > 0 then
for i = 0, num-1 do
dkim_sig = msys.validate.opendkim.get_sig(dkim, i);
-- now do something with the signature
local size = msys.validate.opendkim.get_sig_keysize(dkim_sig);
if size < 1024 then
...
end
end
end
return msys.core.VALIDATE_CONT;
end
msys.registerModule("test_opendkim", mod);
This function returns the number of signatures and the DKIM status (DKIM_STAT). DKIM_STAT can be any one of the following values:
-
DKIM_STAT_OK– successful completion -
DKIM_STAT_BADSIG– signature did not match headers and body -
DKIM_STAT_NOSIG– no signature present -
DKIM_STAT_NOKEY– no key available for verifying -
DKIM_STAT_CANTVRFY– can't get key for verifying -
DKIM_STAT_SYNTAX– message is not in valid syntax -
DKIM_STAT_NORESOURCE– resource unavailable -
DKIM_STAT_INTERNAL– internal error -
DKIM_STAT_REVOKED– signing key revoked -
DKIM_STAT_INVALID– invalid parameter(s) -
DKIM_STAT_NOTIMPLEMENT– function not implemented -
DKIM_STAT_KEYFAIL– key retrieval failed (try again later) -
DKIM_STAT_CBREJECT– callback requested message rejection -
DKIM_STAT_CBTRYAGAIN– callback can't complete (try again later) -
DKIM_STAT_CBERROR– unspecified callback error
Enable this function with the statement require('msys.validate.opendkim');.
See Also
msys.validate.opendkim.get_sig_canons, msys.validate.opendkim.sign, msys.validate.opendkim.verify, msys.validate.opendkim.get_sig, msys.validate.opendkim.get_sig_domain, msys.validate.opendkim.get_sig_selector, msys.validate.opendkim.get_sig_errorstr, msys.validate.opendkim.get_sig_flags, msys.validate.opendkim.get_sig_identity, msys.validate.opendkim.get_sig_keysize, msys.validate.opendkim.get_sig_signalg, msys.validate.opendkim.get_sig_hdrsigned, msys.validate.opendkim.get_sig_canons, “opendkim – OpenDKIM module” and “dkim – DomainKeys Identified Mail Signatures”