#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"
Go to the source code of this file.
|
#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) |
|
◆ DONE
#define DONE |
( |
|
result, |
|
|
|
reason, |
|
|
|
err |
|
) |
| SPF_i_done(spf_response, result, reason, err) |
◆ DONE_MECH
◆ DONE_PERMERR
◆ DONE_TEMPERR
◆ INET_NTOP
#define INET_NTOP |
( |
|
af, |
|
|
|
src, |
|
|
|
dst, |
|
|
|
cnt |
|
) |
| |
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.
◆ SPF_ADD_DNS_MECH
#define SPF_ADD_DNS_MECH |
( |
| ) |
do { spf_response->num_dns_mech++; } while(0) |
◆ SPF_FREE_LOOKUP_DATA
#define SPF_FREE_LOOKUP_DATA |
( |
| ) |
do { if (buf != NULL) { free(buf); buf = NULL; } } while(0) |
◆ SPF_GET_LOOKUP_DATA
#define SPF_GET_LOOKUP_DATA |
( |
| ) |
|
Value: do { \
if ( data == data_end ) \
lookup = spf_request->cur_dom; \
else { \
spf_request, spf_response, \
data, ((char *)data_end - (char *)data), \
&buf, &buf_len ); \
SPF_FREE_LOOKUP_DATA(); \
} \
if (err) { \
SPF_FREE_LOOKUP_DATA(); \
} \
lookup = buf; \
} \
} while(0)
SPF_errcode_t SPF_record_expand_data(SPF_server_t *spf_server, SPF_request_t *spf_request, SPF_response_t *spf_response, SPF_data_t *data, size_t data_len, char **bufp, size_t *buflenp)
#define DONE_TEMPERR(err)
#define DONE_PERMERR(err)
◆ SPF_MAYBE_SKIP_CIDR
#define SPF_MAYBE_SKIP_CIDR |
( |
| ) |
|
Value: do { \
if ( data < data_end && data->dc.parm_type ==
PARM_CIDR ) \
data = SPF_data_next( data ); \
} while(0)
◆ SPF_i_done()
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.
◆ SPF_record_interpret()
SPF_errcode_t SPF_record_interpret |
( |
SPF_record_t * |
spf_record, |
|
|
SPF_request_t * |
spf_request, |
|
|
SPF_response_t * |
spf_response, |
|
|
int |
depth |
|
) |
| |