#include "spf_server.h"
Go to the source code of this file.
typedef struct SPF_request_struct SPF_request_t |
Definition at line 19 of file spf_request.h.
SPF_errcode_t SPF_i_done | ( | SPF_response_t * | spf_response, | |
SPF_result_t | result, | |||
SPF_reason_t | reason, | |||
SPF_errcode_t | err | |||
) |
This must be called with EITHER spf_response->spf_record_exp != NULL OR result in { SPF_RESULT_PASS SPF_RESULT_INVALID SPF_RESULT_TEMPERROR SPF_RESULT_PERMERROR } or the library will abort when it tries to generate an explanation.
Definition at line 388 of file spf_interpret.c.
References SPF_response_struct::err, SPF_response_struct::reason, SPF_response_struct::result, SPF_ASSERT_NOTNULL, SPF_response_struct::spf_request, and SPF_request_struct::spf_server.
Referenced by SPF_request_query_fallback(), SPF_request_query_mailfrom(), and SPF_request_query_rcptto().
void SPF_request_free | ( | SPF_request_t * | sr | ) |
Definition at line 59 of file spf_request.c.
References SPF_request_struct::client_dom, SPF_request_struct::env_from, SPF_request_struct::env_from_dp, SPF_request_struct::env_from_lp, SPF_request_struct::helo_dom, SPF_ASSERT_NOTNULL, and SPF_FREE.
Referenced by main().
const char* SPF_request_get_client_dom | ( | SPF_request_t * | sr | ) |
Definition at line 196 of file spf_request.c.
References SPF_request_struct::client_dom, NULL, SPF_server_struct::resolver, SPF_ASSERT_NOTNULL, SPF_dns_get_client_dom(), and SPF_request_struct::spf_server.
Referenced by SPF_record_expand_data().
SPF_errcode_t SPF_request_get_exp | ( | SPF_server_t * | spf_server, | |
SPF_request_t * | spf_request, | |||
SPF_response_t * | spf_response, | |||
SPF_record_t * | spf_record, | |||
char ** | bufp, | |||
size_t * | buflenp | |||
) |
Definition at line 83 of file spf_get_exp.c.
References SPF_request_struct::cur_dom, SPF_dns_server_struct::get_exp, SPF_dns_rr_t::herrno, HOST_NOT_FOUND, SPF_macro_struct::macro_len, NETDB_SUCCESS, NO_DATA, ns_t_txt, NULL, SPF_dns_rr_t::num_rr, SPF_server_struct::resolver, RETURN_DEFAULT_EXP, SPF_dns_rr_t::rr, SPF_ASSERT_NOTNULL, SPF_dns_lookup(), SPF_dns_rr_free(), SPF_E_NOT_CONFIG, SPF_E_NOT_SPF, SPF_E_SUCCESS, SPF_EXP_MOD_NAME, SPF_macro_free(), SPF_record_compile_macro(), SPF_record_expand_data(), SPF_record_find_mod_value(), SPF_response_add_warn(), SPF_warning, TRUE, TRY_AGAIN, and SPF_dns_rr_data_t::txt.
const char* SPF_request_get_rec_dom | ( | SPF_request_t * | sr | ) |
Definition at line 131 of file spf_request.c.
References SPF_server_struct::rec_dom, and SPF_request_struct::spf_server.
Referenced by SPF_record_expand_data().
int SPF_request_is_loopback | ( | SPF_request_t * | sr | ) |
Definition at line 212 of file spf_request.c.
References SPF_request_struct::client_ver, FALSE, SPF_request_struct::ipv4, SPF_request_struct::ipv6, and TRUE.
Referenced by SPF_record_interpret(), SPF_request_query_fallback(), SPF_request_query_mailfrom(), and SPF_request_query_rcptto().
SPF_request_t* SPF_request_new | ( | SPF_server_t * | spf_server | ) |
Definition at line 41 of file spf_request.c.
References SPF_request_struct::client_ver, SPF_request_struct::ipv4, SPF_request_struct::ipv6, and SPF_request_struct::spf_server.
Referenced by main().
SPF_errcode_t SPF_request_query_fallback | ( | SPF_request_t * | spf_request, | |
SPF_response_t ** | spf_responsep, | |||
const char * | record | |||
) |
Definition at line 299 of file spf_request.c.
References SPF_ASSERT_NOTNULL, SPF_E_NO_MEMORY, SPF_E_SUCCESS, SPF_i_done(), SPF_REASON_LOCALHOST, SPF_record_compile(), SPF_request_is_loopback(), SPF_response_new(), SPF_RESULT_PASS, and SPF_request_struct::spf_server.
Referenced by main().
SPF_errcode_t SPF_request_query_mailfrom | ( | SPF_request_t * | spf_request, | |
SPF_response_t ** | spf_responsep | |||
) |
The big entry point.
Definition at line 269 of file spf_request.c.
References SPF_ASSERT_NOTNULL, SPF_E_NO_MEMORY, SPF_E_SUCCESS, SPF_i_done(), SPF_REASON_LOCALHOST, SPF_request_is_loopback(), SPF_response_new(), SPF_RESULT_PASS, SPF_request_struct::spf_server, and SPF_server_get_record().
Referenced by main().
SPF_errcode_t SPF_request_query_rcptto | ( | SPF_request_t * | spf_request, | |
SPF_response_t ** | spf_responsep, | |||
const char * | rcpt_to | |||
) |
This replaces _2mx
build record as SPF_VER_STR " mx:%s" Set cur_dom to the rcpt_to domain. Query on the 'fixed' 2mx record. Clobber the primary result.
Definition at line 339 of file spf_request.c.
References SPF_request_struct::cur_dom, NULL, SPF_ASSERT_NOTNULL, SPF_E_NO_MEMORY, SPF_E_SUCCESS, SPF_i_done(), SPF_REASON_LOCALHOST, SPF_record_compile(), SPF_request_is_loopback(), SPF_response_new(), SPF_RESULT_PASS, SPF_request_struct::spf_server, and SPF_VER_STR.
Referenced by main().
int SPF_request_set_env_from | ( | SPF_request_t * | sr, | |
const char * | from | |||
) |
Definition at line 139 of file spf_request.c.
References SPF_request_struct::env_from, SPF_request_struct::env_from_dp, SPF_request_struct::env_from_lp, SPF_request_struct::helo_dom, NULL, SPF_ASSERT_NOTNULL, SPF_E_NO_MEMORY, and SPF_FREE.
Referenced by main(), and SPF_request_set_helo_dom().
SPF_errcode_t SPF_request_set_helo_dom | ( | SPF_request_t * | sr, | |
const char * | dom | |||
) |
Definition at line 117 of file spf_request.c.
References SPF_request_struct::env_from, SPF_request_struct::helo_dom, NULL, SPF_ASSERT_NOTNULL, SPF_E_NO_MEMORY, SPF_E_SUCCESS, SPF_FREE, and SPF_request_set_env_from().
Referenced by main().
SPF_errcode_t SPF_request_set_ipv4 | ( | SPF_request_t * | sr, | |
struct in_addr | addr | |||
) |
Definition at line 71 of file spf_request.c.
References SPF_request_struct::client_dom, SPF_request_struct::client_ver, SPF_request_struct::ipv4, NULL, and SPF_E_SUCCESS.
Referenced by SPF_request_set_ipv4_str().
SPF_errcode_t SPF_request_set_ipv4_str | ( | SPF_request_t * | sr, | |
const char * | astr | |||
) |
Definition at line 95 of file spf_request.c.
References NULL, SPF_E_INVALID_IP4, and SPF_request_set_ipv4().
Referenced by main().
SPF_errcode_t SPF_request_set_ipv6 | ( | SPF_request_t * | sr, | |
struct in6_addr | addr | |||
) |
Definition at line 83 of file spf_request.c.
References SPF_request_struct::client_dom, SPF_request_struct::client_ver, SPF_request_struct::ipv6, NULL, and SPF_E_SUCCESS.
Referenced by SPF_request_set_ipv6_str().
SPF_errcode_t SPF_request_set_ipv6_str | ( | SPF_request_t * | sr, | |
const char * | astr | |||
) |
Definition at line 106 of file spf_request.c.
References NULL, SPF_E_INVALID_IP6, and SPF_request_set_ipv6().
Referenced by main().