#include "spf_sys_config.h"
#include <ctype.h>
#include "spf.h"
#include "spf_dns.h"
#include "spf_internal.h"
#include "spf_dns_internal.h"
#include "spf_server.h"
Include dependency graph for spf_interpret.c:
Go to the source code of this file.
Defines | |
#define | DONE(result, reason, err) SPF_i_done(spf_response, result, reason, err) |
#define | DONE_TEMPERR(err) DONE(SPF_RESULT_TEMPERROR,SPF_REASON_NONE,err) |
#define | DONE_PERMERR(err) DONE(SPF_RESULT_PERMERROR,SPF_REASON_NONE,err) |
#define | DONE_MECH(result) DONE(result, SPF_REASON_MECH, SPF_E_SUCCESS) |
#define | INET_NTOP(af, src, dst, cnt) |
#define | SPF_ADD_DNS_MECH() do { spf_response->num_dns_mech++; } while(0) |
#define | SPF_MAYBE_SKIP_CIDR() |
#define | SPF_GET_LOOKUP_DATA() |
#define | SPF_FREE_LOOKUP_DATA() do { if (buf != NULL) { free(buf); buf = NULL; } } while(0) |
Functions | |
SPF_errcode_t | SPF_i_done (SPF_response_t *spf_response, SPF_result_t result, SPF_reason_t reason, SPF_errcode_t err) |
SPF_errcode_t | SPF_record_interpret (SPF_record_t *spf_record, SPF_request_t *spf_request, SPF_response_t *spf_response, int depth) |
|
Definition at line 374 of file spf_interpret.c. Referenced by SPF_record_interpret(). |
|
Definition at line 377 of file spf_interpret.c. Referenced by SPF_record_interpret(). |
|
Definition at line 376 of file spf_interpret.c. Referenced by SPF_record_interpret(). |
|
Definition at line 375 of file spf_interpret.c. Referenced by SPF_record_interpret(). |
|
Value: do { \ if (inet_ntop(af, src, dst, cnt) == NULL) \ snprintf(dst, cnt, "ip-error" ); \ } while(0) Definition at line 418 of file spf_interpret.c. Referenced by SPF_record_interpret(). |
|
Referenced by SPF_record_interpret(). |
|
Referenced by SPF_record_interpret(). |
|
Value: do { \ if ( data == data_end ) \ lookup = spf_request->cur_dom; \ else { \ err = SPF_record_expand_data( spf_server, \ spf_request, spf_response, \ data, ((char *)data_end - (char *)data), \ &buf, &buf_len ); \ if (err == SPF_E_NO_MEMORY) { \ SPF_FREE_LOOKUP_DATA(); \ return DONE_TEMPERR(err); \ } \ if (err) { \ SPF_FREE_LOOKUP_DATA(); \ return DONE_PERMERR(err); \ } \ lookup = buf; \ } \ } while(0) Referenced by SPF_record_interpret(). |
|
Value: do { \ if ( data < data_end && data->dc.parm_type == PARM_CIDR ) \ data = SPF_data_next( data ); \ } while(0) Referenced by SPF_record_interpret(). |
|
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, SPF_request_t, SPF_response_t, SPF_request_struct::spf_server, and SPF_server_t. Referenced by SPF_request_query_fallback(), SPF_request_query_mailfrom(), and SPF_request_query_rcptto(). |
|
Here is the call graph for this function: