libspf2
1.2.10
|
#include "spf_sys_config.h"
#include "spf_internal.h"
#include "spf.h"
#include "spf_response.h"
#include "spf_record.h"
Go to the source code of this file.
Data Structures | |
struct | SPF_mechtype_t |
Macros | |
#define | SPF_RECORD_BUFSIZ 4096 |
#define | ALIGN_DECL(decl) union { double d; long l; decl } __attribute__((aligned(_ALIGN_SZ))) u |
#define | ALIGNED_DECL(var) u.var |
#define | spf_num_mechanisms sizeof(spf_mechtypes) / sizeof(spf_mechtypes[0]) |
#define | SPF_CHECK_IN_MODIFIER() |
#define | SPF_ADD_LEN_TO(_val, _len, _max) |
#define | SPF_INIT_STRING_LITERAL(_avail) |
#define | SPF_ENSURE_STRING_AVAIL(_len) |
#define | SPF_FINI_STRING_LITERAL() |
#define | STREQ_SIZEOF(a, b) (strncasecmp((a), (b), sizeof( (b) ) - 1) == 0) |
#define | STREQ_SIZEOF_N(a, b, n) (((n) == sizeof(b) - 1) && (strncasecmp((a),(b),(n)) == 0)) |
Enumerations | |
enum | SPF_cidr_t { CIDR_NONE, CIDR_OPTIONAL, CIDR_ONLY } |
enum | SPF_domspec_t { DOMSPEC_NONE, DOMSPEC_OPTIONAL, DOMSPEC_REQUIRED } |
Functions | |
__attribute__ ((warn_unused_result)) | |
SPF_errcode_t | SPF_record_compile (SPF_server_t *spf_server, SPF_response_t *spf_response, SPF_record_t **spf_recordp, const char *record) |
SPF_errcode_t | SPF_record_compile_macro (SPF_server_t *spf_server, SPF_response_t *spf_response, SPF_macro_t **spf_macrop, const char *record) |
#define ALIGN_DECL | ( | decl | ) | union { double d; long l; decl } __attribute__((aligned(_ALIGN_SZ))) u |
Definition at line 64 of file spf_compile.c.
Referenced by SPF_record_compile_macro().
#define ALIGNED_DECL | ( | var | ) | u.var |
Definition at line 65 of file spf_compile.c.
Referenced by SPF_record_compile_macro().
#define SPF_ADD_LEN_TO | ( | _val, | |
_len, | |||
_max | |||
) |
Definition at line 441 of file spf_compile.c.
#define SPF_CHECK_IN_MODIFIER | ( | ) |
#define SPF_ENSURE_STRING_AVAIL | ( | _len | ) |
Definition at line 462 of file spf_compile.c.
#define SPF_FINI_STRING_LITERAL | ( | ) |
Definition at line 471 of file spf_compile.c.
#define SPF_INIT_STRING_LITERAL | ( | _avail | ) |
Definition at line 452 of file spf_compile.c.
#define spf_num_mechanisms sizeof(spf_mechtypes) / sizeof(spf_mechtypes[0]) |
Definition at line 91 of file spf_compile.c.
#define SPF_RECORD_BUFSIZ 4096 |
This is greater than any possible total mechanism or modifier. SPF_MAX_MOD_LEN + SPF_MAX_STR_LEN SPF_MAX_MECH_LEN + SPF_MAX_STR_LEN
Definition at line 62 of file spf_compile.c.
#define STREQ_SIZEOF | ( | a, | |
b | |||
) | (strncasecmp((a), (b), sizeof( (b) ) - 1) == 0) |
Referenced by SPF_record_compile().
#define STREQ_SIZEOF_N | ( | a, | |
b, | |||
n | |||
) | (((n) == sizeof(b) - 1) && (strncasecmp((a),(b),(n)) == 0)) |
Referenced by SPF_record_compile().
enum SPF_cidr_t |
Definition at line 47 of file spf_compile.c.
enum SPF_domspec_t |
Definition at line 52 of file spf_compile.c.
__attribute__ | ( | (warn_unused_result) | ) |
Definition at line 105 of file spf_compile.c.
SPF_errcode_t SPF_record_compile | ( | SPF_server_t * | spf_server, |
SPF_response_t * | spf_response, | ||
SPF_record_t ** | spf_recordp, | ||
const char * | record | ||
) |
The SPF compiler.
It converts the SPF record in string format that is easy for people to deal with into a compact binary format that is easy for computers to deal with.
Definition at line 1180 of file spf_compile.c.
References MECH_A, MECH_ALL, MECH_EXISTS, MECH_INCLUDE, MECH_IP4, MECH_IP6, MECH_MX, MECH_PTR, MECH_REDIRECT, SPF_mechtype_t::mech_type, NULL, PREFIX_FAIL, PREFIX_NEUTRAL, PREFIX_PASS, PREFIX_SOFTFAIL, PREFIX_UNKNOWN, SPF_ASSERT_NOTNULL, SPF_debugf, SPF_E_INTERNAL_ERROR, SPF_E_INVALID_CHAR, SPF_E_INVALID_OPT, SPF_E_INVALID_PREFIX, SPF_E_MOD_W_PREF, SPF_E_NO_MEMORY, SPF_E_NOT_SPF, SPF_E_SUCCESS, SPF_E_UNKNOWN_MECH, SPF_error_code(), SPF_error_errorp(), SPF_record_new(), SPF_response_add_error(), SPF_response_add_error_ptr(), SPF_response_add_warn_ptr(), SPF_response_errors(), SPF_response_message(), SPF_response_messages(), SPF_VER_STR, STREQ_SIZEOF, and STREQ_SIZEOF_N.
Referenced by main(), SPF_request_query_fallback(), SPF_request_query_rcptto(), SPF_server_get_record(), and SPF_server_set_localpolicy().
SPF_errcode_t SPF_record_compile_macro | ( | SPF_server_t * | spf_server, |
SPF_response_t * | spf_response, | ||
SPF_macro_t ** | spf_macrop, | ||
const char * | record | ||
) |
Definition at line 1499 of file spf_compile.c.
References ALIGN_DECL, ALIGNED_DECL, SPF_E_BIG_MOD, SPF_E_NO_MEMORY, SPF_E_SUCCESS, SPF_MAX_MOD_LEN, and TRUE.
Referenced by SPF_request_get_exp(), and SPF_server_set_explanation().