/* Module API */
static void * arc_functions[] = {
- [ARC_VERIFY] = acl_verify_arc,
- [ARC_HEADER_FEED] = arc_header_feed,
- [ARC_STATE_IS_PASS] = arc_is_pass,
- [ARC_SIGN_INIT] = arc_sign_init,
- [ARC_SIGN] = arc_sign,
+ [ARC_VERIFY] = (void *) acl_verify_arc,
+ [ARC_HEADER_FEED] = (void *) arc_header_feed,
+ [ARC_STATE_IS_PASS] = (void *) arc_is_pass,
+ [ARC_SIGN_INIT] = (void *) arc_sign_init,
+ [ARC_SIGN] = (void *) arc_sign,
# ifdef SUPPORT_DMARC
- [ARC_ARCSET_INFO] = arc_arcset_string,
+ [ARC_ARCSET_INFO] = (void *) arc_arcset_string,
# endif
};
+#ifdef EXPERIMENTAL_ARC
/* Module API: Lookup a DNS DKIM record and parse the pubkey.
Arguments:
-#ifdef EXPERIMENTAL_ARC
/* Return:
OK verify succesful
FAIL verify did not pass
};
static void * dkim_functions[] = {
- [DKIM_VERIFY_FEED] = dkim_exim_verify_feed,
- [DKIM_VERIFY_PAUSE] = dkim_exim_verify_pause,
- [DKIM_VERIFY_FINISH] = dkim_exim_verify_finish,
- [DKIM_ACL_ENTRY] = dkim_exim_acl_entry,
- [DKIM_VERIFY_LOG_ALL] = dkim_exim_verify_log_all,
- [DKIM_VDOM_FIRSTPASS] = dkim_exim_vdom_firstpass,
+ [DKIM_VERIFY_FEED] = (void *) dkim_exim_verify_feed,
+ [DKIM_VERIFY_PAUSE] = (void *) dkim_exim_verify_pause,
+ [DKIM_VERIFY_FINISH] = (void *) dkim_exim_verify_finish,
+ [DKIM_ACL_ENTRY] = (void *) dkim_exim_acl_entry,
+ [DKIM_VERIFY_LOG_ALL] = (void *) dkim_exim_verify_log_all,
+ [DKIM_VDOM_FIRSTPASS] = (void *) dkim_exim_vdom_firstpass,
- [DKIM_SIGNER_ISINLIST] = dkim_exim_signer_isinlist,
- [DKIM_STATUS_LISTMATCH] = dkim_exim_status_listmatch,
+ [DKIM_SIGNER_ISINLIST] = (void *) dkim_exim_signer_isinlist,
+ [DKIM_STATUS_LISTMATCH] = (void *) dkim_exim_status_listmatch,
- [DKIM_SETVAR] = dkim_exim_setvar,
- [DKIM_EXPAND_QUERY] = dkim_exim_expand_query,
+ [DKIM_SETVAR] = (void *) dkim_exim_setvar,
+ [DKIM_EXPAND_QUERY] = (void *) dkim_exim_expand_query,
- [DKIM_TRANSPORT_INIT] = dkim_exim_sign_init,
- [DKIM_TRANSPORT_WRITE] = dkim_transport_write_message,
+ [DKIM_TRANSPORT_INIT] = (void *) dkim_exim_sign_init,
+ [DKIM_TRANSPORT_WRITE] = (void *) dkim_transport_write_message,
#ifdef SUPPORT_DMARC
- [DKIM_SIGS_LIST] = dkim_sigs_list,
+ [DKIM_SIGS_LIST] = (void *) dkim_sigs_list,
#endif
#ifdef EXPERIMENTAL_ARC
- [DKIM_HASHNAME_TO_TYPE] = dkim_hashname_to_type,
- [DKIM_HASHTYPE_TO_METHOD] = dkim_hashtype_to_method,
- [DKIM_HASHNAME_TO_METHOD] = dkim_hashname_to_method,
- [DKIM_SET_BODYHASH] = dkim_set_bodyhash,
- [DKIM_DNS_PUBKEY] = dkim_exim_parse_dns_pubkey,
- [DKIM_SIG_VERIFY] = dkim_exim_sig_verify,
- [DKIM_HEADER_RELAX] = pdkim_relax_header_n,
- [DKIM_SIGN_DATA] = dkim_sign_blob,
+ [DKIM_HASHNAME_TO_TYPE] = (void *) dkim_hashname_to_type,
+ [DKIM_HASHTYPE_TO_METHOD] = (void *) dkim_hashtype_to_method,
+ [DKIM_HASHNAME_TO_METHOD] = (void *) dkim_hashname_to_method,
+ [DKIM_SET_BODYHASH] = (void *) dkim_set_bodyhash,
+ [DKIM_DNS_PUBKEY] = (void *) dkim_exim_parse_dns_pubkey,
+ [DKIM_SIG_VERIFY] = (void *) dkim_exim_sig_verify,
+ [DKIM_HEADER_RELAX] = (void *) pdkim_relax_header_n,
+ [DKIM_SIGN_DATA] = (void *) dkim_sign_blob,
#endif
};
+#ifdef EXPERIMENTAL_ARC
/* Prepend ARC-signing headers to given set of headers
Arguments:
*errstr_p = US"failed to find arc module";
return NULL;
}
+#endif
};
static void * dmarc_functions[] = {
- [DMARC_PROCESS] = dmarc_process,
- [DMARC_EXPAND_QUERY] = dmarc_exim_expand_query,
- [DMARC_STORE_DATA] = dmarc_store_data,
+ [DMARC_PROCESS] = (void *) dmarc_process,
+ [DMARC_EXPAND_QUERY] = (void *) dmarc_exim_expand_query,
+ [DMARC_STORE_DATA] = (void *) dmarc_store_data,
};
/* dmarc_forensic_sender is provided for visibility of the the option setting
/* Module API */
static void * exim_functions[] = {
- [EXIM_INTERPRET] = filter_interpret,
- [EXIM_FILTER_PERSONAL] = filter_personal,
+ [EXIM_INTERPRET] = (void *) filter_interpret,
+ [EXIM_FILTER_PERSONAL] = (void *) filter_personal,
};
misc_module_info exim_filter_module_info =
/* Module API */
static void * pam_functions[] = {
- [RADIUS_AUTH_CALL] = auth_call_pam,
+ [PAM_AUTH_CALL] = (void *) auth_call_pam,
};
misc_module_info pam_module_info =
pdkim_header_complete(pdkim_ctx * ctx)
{
gstring * g = ctx->cur_header;
-const misc_module_info * mi;
-typedef const uschar * (*fn_t)(gstring *, BOOL);
if (gstring_length(g) > 1)
gstring_trim_trailing(g, '\r');
(void) string_from_gstring(g);
#ifdef EXPERIMENTAL_ARC
-/* Feed the header line also to ARC processing */
-if ((mi = misc_mod_findonly(US"arc")))
- (((fn_t *) mi->functions)[ARC_HEADER_FEED])
+ /* Feed the header line also to ARC processing */
+ {
+ const misc_module_info * mi;
+ typedef const uschar * (*fn_t)(gstring *, BOOL);
+ if ((mi = misc_mod_findonly(US"arc")))
+ (((fn_t *) mi->functions)[ARC_HEADER_FEED])
(g, !(ctx->flags & PDKIM_MODE_SIGN));
+ }
#endif
if (++ctx->num_headers > PDKIM_MAX_HEADERS) goto BAIL;
/* Module API */
static void * perl_functions[] = {
- [PERL_STARTUP] = init_perl,
- [PERL_CAT] = call_perl_cat,
+ [PERL_STARTUP] = (void *) init_perl,
+ [PERL_CAT] = (void *) call_perl_cat,
};
misc_module_info perl_module_info =
/* Module API */
static void * rad_functions[] = {
- [RADIUS_AUTH_CALL] = auth_call_radius,
+ [RADIUS_AUTH_CALL] = (void *) auth_call_radius,
};
misc_module_info radius_module_info =
/* Module API */
static void * sieve_functions[] = {
- [SIEVE_INTERPRET] = sieve_interpret,
- [SIEVE_EXTENSIONS] = sieve_extensions,
+ [SIEVE_INTERPRET] = (void *) sieve_interpret,
+ [SIEVE_EXTENSIONS] = (void *) sieve_extensions,
};
misc_module_info sieve_filter_module_info =
};
static void * spf_functions[] = {
- [SPF_PROCESS] = spf_process,
- [SPF_GET_RESPONSE] = spf_get_response, /* ugly; for dmarc */
+ [SPF_PROCESS] = (void *) spf_process,
+ [SPF_GET_RESPONSE] = (void *) spf_get_response, /* ugly; for dmarc */
- [SPF_OPEN] = spf_lookup_open,
- [SPF_CLOSE] = spf_lookup_close,
- [SPF_FIND] = spf_lookup_find,
+ [SPF_OPEN] = (void *) spf_lookup_open,
+ [SPF_CLOSE] = (void *) spf_lookup_close,
+ [SPF_FIND] = (void *) spf_lookup_find,
};
static var_entry spf_variables[] = {