spf_server.h File Reference

#include "spf_record.h"
#include "spf_dns.h"

Include dependency graph for spf_server.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  SPF_server_struct

Defines

#define SPF_MAX_DNS_MECH   10
#define SPF_MAX_DNS_PTR   10
#define SPF_MAX_DNS_MX   10
#define SPF_DECL_ACCESS_INT(f)

Typedefs

typedef struct SPF_server_struct SPF_server_t
typedef enum
SPF_server_dnstype_enum 
SPF_server_dnstype_t

Enumerations

enum  SPF_server_dnstype_enum { SPF_DNS_RESOLV, SPF_DNS_CACHE, SPF_DNS_ZONE }

Functions

SPF_server_tSPF_server_new (SPF_server_dnstype_t dnstype, int debug)
SPF_server_tSPF_server_new_dns (SPF_dns_server_t *dns, int debug)
void SPF_server_free (SPF_server_t *sp)
SPF_errcode_t SPF_server_set_rec_dom (SPF_server_t *sp, const char *dom)
SPF_errcode_t SPF_server_set_sanitize (SPF_server_t *sp, int sanitize)
SPF_errcode_t SPF_server_set_explanation (SPF_server_t *sp, const char *exp, SPF_response_t **spf_responsep)
SPF_errcode_t SPF_server_set_localpolicy (SPF_server_t *sp, const char *policy, int use_default_whitelist, SPF_response_t **spf_responsep)
SPF_errcode_t SPF_server_get_record (SPF_server_t *spf_server, SPF_request_t *spf_request, SPF_response_t *spf_response, SPF_record_t **spf_recordp)
 SPF_DECL_ACCESS_INT (max_dns_mech)
 SPF_DECL_ACCESS_INT (max_dns_ptr)
 SPF_DECL_ACCESS_INT (max_dns_mx)


Define Documentation

#define SPF_DECL_ACCESS_INT (  ) 

Value:

SPF_errcode_t                 SPF_server_set_ ## f(SPF_server_t *spf_server, int n);         int                 SPF_server_get_ ## f(SPF_server_t *spf_server);
Prototypes for the various maximum accessors.

Definition at line 97 of file spf_server.h.

#define SPF_MAX_DNS_MECH   10

Definition at line 40 of file spf_server.h.

#define SPF_MAX_DNS_MX   10

Definition at line 52 of file spf_server.h.

#define SPF_MAX_DNS_PTR   10

Definition at line 46 of file spf_server.h.


Typedef Documentation

typedef enum SPF_server_dnstype_enum SPF_server_dnstype_t

typedef struct SPF_server_struct SPF_server_t

Definition at line 19 of file spf_server.h.


Enumeration Type Documentation

enum SPF_server_dnstype_enum

Enumerator:
SPF_DNS_RESOLV 
SPF_DNS_CACHE 
SPF_DNS_ZONE 

Definition at line 71 of file spf_server.h.


Function Documentation

SPF_DECL_ACCESS_INT ( max_dns_mx   ) 

SPF_DECL_ACCESS_INT ( max_dns_ptr   ) 

SPF_DECL_ACCESS_INT ( max_dns_mech   ) 

void SPF_server_free ( SPF_server_t sp  ) 

This function destroys the DNS layer as well. If the (custom) DNS layer has no destructor, then this cannot and does not destroy it.

Definition at line 200 of file spf_server.c.

References SPF_server_struct::destroy_resolver, SPF_server_struct::explanation, SPF_server_struct::local_policy, SPF_server_struct::rec_dom, SPF_server_struct::resolver, SPF_dns_free(), SPF_macro_free(), and SPF_record_free().

Referenced by main().

Here is the call graph for this function:

SPF_errcode_t SPF_server_get_record ( SPF_server_t spf_server,
SPF_request_t spf_request,
SPF_response_t spf_response,
SPF_record_t **  spf_recordp 
)

Definition at line 316 of file spf_server.c.

References SPF_request_struct::cur_dom, SPF_server_struct::debug, SPF_dns_server_struct::get_spf, SPF_dns_rr_t::herrno, HOST_NOT_FOUND, NETDB_SUCCESS, NO_DATA, NO_RECOVERY, ns_t_spf, ns_t_txt, NULL, SPF_dns_rr_t::num_rr, SPF_response_struct::reason, SPF_server_struct::resolver, SPF_response_struct::result, SPF_dns_rr_t::rr, SPF_ASSERT_NOTNULL, SPF_debugf, SPF_dns_lookup(), SPF_dns_rr_free(), SPF_E_DNS_ERROR, SPF_E_MULTIPLE_RECORDS, SPF_E_NOT_SPF, SPF_E_SUCCESS, SPF_REASON_FAILURE, SPF_record_compile(), SPF_response_add_error(), SPF_RESULT_NONE, SPF_RESULT_PERMERROR, SPF_VER_STR, strncasecmp(), TRUE, TRY_AGAIN, and SPF_dns_rr_data_t::txt.

Referenced by SPF_record_interpret(), and SPF_request_query_mailfrom().

Here is the call graph for this function:

SPF_server_t* SPF_server_new ( SPF_server_dnstype_t  dnstype,
int  debug 
)

Definition at line 132 of file spf_server.c.

References SPF_server_struct::destroy_resolver, NULL, SPF_server_struct::resolver, SPF_DNS_CACHE, SPF_dns_cache_new(), SPF_DNS_RESOLV, SPF_dns_resolv_new(), SPF_DNS_ZONE, SPF_dns_zone_new(), SPF_error, and SPF_errorf.

Referenced by main().

Here is the call graph for this function:

SPF_server_t* SPF_server_new_dns ( SPF_dns_server_t dns,
int  debug 
)

Definition at line 180 of file spf_server.c.

References SPF_server_struct::destroy_resolver, and SPF_server_struct::resolver.

SPF_errcode_t SPF_server_set_explanation ( SPF_server_t sp,
const char *  exp,
SPF_response_t **  spf_responsep 
)

Definition at line 235 of file spf_server.c.

References SPF_server_struct::explanation, NULL, SPF_ASSERT_NOTNULL, SPF_E_NO_MEMORY, SPF_E_SUCCESS, SPF_macro_free(), SPF_record_compile_macro(), SPF_response_add_error(), and SPF_response_new().

Referenced by main().

Here is the call graph for this function:

SPF_errcode_t SPF_server_set_localpolicy ( SPF_server_t sp,
const char *  policy,
int  use_default_whitelist,
SPF_response_t **  spf_responsep 
)

Definition at line 267 of file spf_server.c.

References SPF_server_struct::local_policy, NULL, SPF_ASSERT_NOTNULL, SPF_DEFAULT_WHITELIST, SPF_E_NO_MEMORY, SPF_E_SUCCESS, SPF_record_compile(), SPF_record_free(), SPF_response_add_error(), SPF_response_new(), and SPF_VER_STR.

Referenced by main().

Here is the call graph for this function:

SPF_errcode_t SPF_server_set_rec_dom ( SPF_server_t sp,
const char *  dom 
)

Definition at line 215 of file spf_server.c.

References NULL, SPF_server_struct::rec_dom, SPF_E_NO_MEMORY, and SPF_E_SUCCESS.

Referenced by main().

SPF_errcode_t SPF_server_set_sanitize ( SPF_server_t sp,
int  sanitize 
)

Definition at line 228 of file spf_server.c.

References SPF_server_struct::sanitize, and SPF_E_SUCCESS.

Referenced by main().


Generated on Tue Nov 4 13:27:47 2008 for libspf2 by  doxygen 1.5.4