#include <stdio.h>
#include <string.h>
#include <strings.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/nameser.h>
#include <resolv.h>
#include <netdb.h>
#include <arpa/inet.h>
Go to the source code of this file.
Defines | |
#define | _DNS_H 1 |
#define | SPF_PACKETSZ 8192 |
#define | SPF_MAXDNAME 1025 |
#define | SPF_MAXCDNAME 255 |
Functions | |
char * | DNS_query (peer_info_t *peer_info, const char *s, const int T_TYPE, const char *mta) |
Execute a DNS query. | |
char * | DNS_txt_answer (int16_t ancount, const u_char *msg_ptr, const u_char *eom_ptr, u_char *rd_ptr, char *buf, int *ttl) |
Process a DNS message of type T_TXT. | |
char * | DNS_mx_answer (int16_t ancount, const u_char *msg_ptr, const u_char *eom_ptr, u_char *rd_ptr, char *buf, int *ttl) |
Process a DNS message of type T_MX. | |
SPF_BOOL | DNS_ptr_answer (peer_info_t *peer_info, int16_t ancount, const u_char *msg_ptr, const u_char *eom_ptr, u_char *rd_ptr, char *buf, const char *mta, int *ttl) |
Process a DNS message of type T_PTR. | |
char * | DNS_cname_answer (int16_t ancount, const u_char *msg_ptr, const u_char *eom_ptr, u_char *rd_ptr, char *buf, int *ttl) |
Process a DNS message of type T_MX. |
|
|
|
Definition at line 75 of file dns.h. Referenced by DNS_cname_answer(), DNS_mx_answer(), DNS_ptr_answer(), and DNS_txt_answer(). |
|
Definition at line 74 of file dns.h. Referenced by DNS_cname_answer(), DNS_mx_answer(), DNS_ptr_answer(), DNS_query(), and DNS_txt_answer(). |
|
Definition at line 73 of file dns.h. Referenced by DNS_query(). |
|
Process a DNS message of type T_MX.
Date: 29/04/04 Desc: SPF_PACKETSZ bytes are allocated and then filled with chars. This buffer is then used in a TXT DNS query using data from the passed peer_info_t structure. Upon success this buffer is re-cast as a char * and then a pointer to this memory is returned. Upon failure a NULL pointer is returned. Definition at line 733 of file dns.c. References SPF_MAXCDNAME, SPF_MAXDNAME, xeprintf, xmalloc, xrealloc, and xvprintf. Referenced by DNS_query(). |
|
Process a DNS message of type T_MX.
Date: 01/02/04 Desc: SPF_PACKETSZ bytes are allocated and then filled with chars. This buffer is then used in an MX DNS query using data from the passed peer_info_t structure. Upon success this buffer is re-cast as a char * and then a pointer to this memory is returned. Upon failure a NULL pointer is returned. Definition at line 504 of file dns.c. References SPF_MAXCDNAME, SPF_MAXDNAME, xeprintf, xmalloc, xprintf, xrealloc, and xvprintf. Referenced by DNS_query(). |
|
Process a DNS message of type T_PTR.
Date: 01/02/04 Desc: A reverse lookup on an IP address leads to a lookup per returned PTR answer to see if the returned answer matches. The forward lookups are handled by a separate function which calls gethostbyname. Upon a single successful match of a forward lookup with a reverse lookup, returns TRUE. Returns FALSE upon failure. Definition at line 599 of file dns.c. References FALSE, peer_info_s::r_vhname, SPF_BOOL, SPF_MAXCDNAME, SPF_MAXDNAME, TRUE, UTIL_get_dname(), UTIL_validate_hostname(), xeprintf, xfree, xprintf, xstrndup, and xvprintf. Referenced by DNS_query(). |
|
Execute a DNS query.
Author: Travis Anderson <travis@anthrax.ca>
Date: 12/10/03 Desc: Executes a DNS query of type T_TYPE and then calls the appropriate answer parsing function based on that type. Returns a pointer to allocated memory (a string of space delimited records). Upon failure returns NULL. Definition at line 189 of file dns.c. References DNS_cname_answer(), DNS_mx_answer(), DNS_ptr_answer(), DNS_txt_answer(), peer_info_s::error, FALSE, h_errno, MAX_ERROR, peer_info_t, SPF_ERROR, SPF_MAXDNAME, SPF_NONE, SPF_PACKETSZ, TRUE, UTIL_assoc_prefix(), xeprintf, and xvprintf. Referenced by SPF_parse_policy(), SPF_policy_main_rec(), UTIL_mx_cmp(), UTIL_ptr_cmp(), and UTIL_validate_ptr(). |
|
Process a DNS message of type T_TXT.
Date: 01/02/04 Desc: SPF_PACKETSZ bytes are allocated and then filled with chars. This buffer is then used in a TXT DNS query using data from the passed peer_info_t structure. Upon success this buffer is re-cast as a char * and then a pointer to this memory is returned. Upon failure a NULL pointer is returned. Definition at line 364 of file dns.c. References SPF_MAXCDNAME, SPF_MAXDNAME, xeprintf, xfree, xmalloc, xrealloc, xstrndup, and xvprintf. Referenced by DNS_query(). |