Main Page | Data Structures | Directories | File List | Data Fields | Globals

spf_server.c File Reference

#include "spf_sys_config.h"
#include "spf.h"
#include "spf_response.h"
#include "spf_record.h"
#include "spf_server.h"
#include "spf_dns.h"
#include "spf_dns_resolv.h"
#include "spf_dns_cache.h"
#include "spf_dns_zone.h"
#include "spf_internal.h"
#include "spf_dns_internal.h"

Include dependency graph for spf_server.c:

Include dependency graph

Go to the source code of this file.

Defines

#define HOST_NAME_MAX   255
#define SPF_ACCESS_INT(f)

Functions

 __attribute__ ((warn_unused_result))
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_ACCESS_INT (max_dns_mech)
 SPF_ACCESS_INT (max_dns_ptr)
 SPF_ACCESS_INT (max_dns_mx)


Define Documentation

#define HOST_NAME_MAX   255
 

Definition at line 50 of file spf_server.c.

Referenced by __attribute__().

#define SPF_ACCESS_INT  ) 
 

Value:

SPF_errcode_t SPF_server_set_ ## f(SPF_server_t *s, int n) { \
                s->f = n; return SPF_E_SUCCESS; \
        } \
        int SPF_server_get_ ## f(SPF_server_t *s) { \
                return s->f; \
        }
Various accessors.

The user is permitted to override the maximums.

Definition at line 488 of file spf_server.c.


Function Documentation

__attribute__ (warn_unused_result)   ) 
 

Definition at line 66 of file spf_server.c.

References HOST_NAME_MAX, and SPF_server_t.

SPF_ACCESS_INT max_dns_mx   ) 
 

SPF_ACCESS_INT max_dns_ptr   ) 
 

SPF_ACCESS_INT max_dns_mech   ) 
 

The return values from these getter functions are used without modification. If you set a value higher than the specified maximum, it will be used. Beware.

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(), SPF_record_free(), and SPF_server_t.

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_struct::herrno, HOST_NOT_FOUND, NETDB_SUCCESS, NO_DATA, NO_RECOVERY, ns_type, SPF_dns_rr_struct::num_rr, SPF_response_struct::reason, SPF_server_struct::resolver, SPF_response_struct::result, SPF_dns_rr_struct::rr, SPF_ASSERT_NOTNULL, SPF_debugf, SPF_dns_lookup(), SPF_dns_rr_free(), SPF_dns_rr_t, SPF_dns_server_t, SPF_dns_stat_t, SPF_E_DNS_ERROR, SPF_E_MULTIPLE_RECORDS, SPF_E_NOT_SPF, SPF_errcode_t, SPF_record_compile(), SPF_record_t, SPF_request_t, SPF_response_add_error(), SPF_response_t, SPF_server_t, 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 debug, 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_server_t, SPF_DNS_ZONE, SPF_dns_zone_new(), SPF_error, SPF_errorf, and SPF_server_t.

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 debug, SPF_server_struct::destroy_resolver, SPF_server_struct::resolver, SPF_dns_server_t, and SPF_server_t.

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_errcode_t, SPF_macro_free(), SPF_macro_t, SPF_record_compile_macro(), SPF_response_add_error(), SPF_response_new(), SPF_response_t, and SPF_server_t.

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_errcode_t, SPF_record_compile(), SPF_record_free(), SPF_record_t, SPF_response_add_error(), SPF_response_new(), SPF_response_t, SPF_server_t, 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 SPF_server_struct::rec_dom, and SPF_server_t.

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_server_t.

Referenced by main().


Generated on Fri Jun 25 18:57:43 2010 for libspf2 by  doxygen 1.3.9.1