#include "spf_sys_config.h"
#include "spf.h"
#include "spf_dns.h"
#include "spf_internal.h"
#include "spf_dns_internal.h"
#include "spf_dns_rr.h"
Go to the source code of this file.
Defines | |
#define | SPF_DNS_RR_REALLOC(d, i, s) |
Functions | |
SPF_dns_rr_t * | SPF_dns_rr_new_nxdomain (SPF_dns_server_t *spf_dns_server, const char *domain) |
SPF_dns_rr_t * | SPF_dns_rr_new_init (SPF_dns_server_t *spf_dns_server, const char *domain, ns_type rr_type, int ttl, SPF_dns_stat_t herrno) |
SPF_dns_rr_t * | SPF_dns_rr_new () |
void | SPF_dns_rr_free (SPF_dns_rr_t *spfrr) |
SPF_errcode_t | SPF_dns_rr_buf_realloc (SPF_dns_rr_t *spfrr, int idx, size_t len) |
SPF_errcode_t | SPF_dns_rr_dup (SPF_dns_rr_t **dstp, SPF_dns_rr_t *src) |
Definition in file spf_dns_rr.c.
#define SPF_DNS_RR_REALLOC | ( | d, | |||
i, | |||||
s | ) |
Value:
do { err = SPF_dns_rr_buf_realloc(d, i, s); if (err) return err; } while(0)
Referenced by SPF_dns_rr_dup().
SPF_errcode_t SPF_dns_rr_buf_realloc | ( | SPF_dns_rr_t * | spfrr, | |
int | idx, | |||
size_t | len | |||
) |
Definition at line 134 of file spf_dns_rr.c.
References NULL, SPF_dns_rr_t::rr, SPF_dns_rr_t::rr_buf_len, SPF_dns_rr_t::rr_buf_num, SPF_E_NO_MEMORY, and SPF_E_SUCCESS.
SPF_errcode_t SPF_dns_rr_dup | ( | SPF_dns_rr_t ** | dstp, | |
SPF_dns_rr_t * | src | |||
) |
This function may return both an error code and an rr, or one, or neither.
This function generates a valgrind error because strlen always reads in blocks of 4 bytes, and can overrun the end of the allocated buffers.
Definition at line 189 of file spf_dns_rr.c.
References SPF_dns_rr_data_t::a, SPF_dns_rr_data_t::aaaa, SPF_dns_rr_t::domain, SPF_dns_rr_t::herrno, SPF_dns_rr_data_t::mx, ns_t_a, ns_t_aaaa, ns_t_mx, ns_t_ptr, ns_t_spf, ns_t_txt, NULL, SPF_dns_rr_t::num_rr, SPF_dns_rr_data_t::ptr, SPF_dns_rr_t::rr, SPF_dns_rr_t::rr_type, SPF_dns_rr_t::source, SPF_ASSERT_NOTNULL, SPF_dns_rr_new_init(), SPF_DNS_RR_REALLOC, SPF_E_NO_MEMORY, SPF_E_SUCCESS, SPF_warningf, SPF_dns_rr_t::ttl, SPF_dns_rr_data_t::txt, and SPF_dns_rr_t::utc_ttl.
void SPF_dns_rr_free | ( | SPF_dns_rr_t * | spfrr | ) |
Definition at line 114 of file spf_dns_rr.c.
References SPF_dns_rr_t::domain, SPF_dns_rr_t::hook, SPF_dns_rr_t::rr, SPF_dns_rr_t::rr_buf_len, and SPF_dns_rr_t::rr_buf_num.
Referenced by main(), SPF_dns_get_client_dom(), SPF_dns_rr_new_init(), SPF_record_interpret(), SPF_request_get_exp(), and SPF_server_get_record().
SPF_dns_rr_t* SPF_dns_rr_new | ( | void | ) |
Definition at line 93 of file spf_dns_rr.c.
References SPF_dns_rr_t::domain, SPF_dns_rr_t::domain_buf_len, SPF_dns_rr_t::herrno, HOST_NOT_FOUND, ns_t_invalid, NULL, SPF_dns_rr_t::num_rr, SPF_dns_rr_t::rr_type, SPF_dns_rr_t::ttl, and SPF_dns_rr_t::utc_ttl.
Referenced by SPF_dns_rr_new_init().
SPF_dns_rr_t* SPF_dns_rr_new_init | ( | SPF_dns_server_t * | spf_dns_server, | |
const char * | domain, | |||
ns_type | rr_type, | |||
int | ttl, | |||
SPF_dns_stat_t | herrno | |||
) |
Definition at line 61 of file spf_dns_rr.c.
References SPF_dns_rr_t::domain, SPF_dns_rr_t::domain_buf_len, SPF_dns_rr_t::herrno, NULL, SPF_dns_rr_t::rr_type, SPF_dns_rr_t::source, SPF_dns_rr_free(), SPF_dns_rr_new(), and SPF_dns_rr_t::ttl.
Referenced by SPF_dns_rr_dup(), SPF_dns_rr_new_nxdomain(), SPF_dns_zone_add_str(), and SPF_dns_zone_new().
SPF_dns_rr_t* SPF_dns_rr_new_nxdomain | ( | SPF_dns_server_t * | spf_dns_server, | |
const char * | domain | |||
) |
Definition at line 53 of file spf_dns_rr.c.
References HOST_NOT_FOUND, ns_t_any, and SPF_dns_rr_new_init().