dns64.c File Reference

#include <config.h>
#include <isc/list.h>
#include <isc/mem.h>
#include <isc/netaddr.h>
#include <isc/string.h>
#include <isc/util.h>
#include <dns/acl.h>
#include <dns/dns64.h>
#include <dns/rdata.h>
#include <dns/rdataset.h>
#include <dns/result.h>

Go to the source code of this file.

Data Structures

struct  dns_dns64

Functions

isc_result_t dns_dns64_create (isc_mem_t *mctx, isc_netaddr_t *prefix, unsigned int prefixlen, isc_netaddr_t *suffix, dns_acl_t *clients, dns_acl_t *mapped, dns_acl_t *excluded, unsigned int flags, dns_dns64_t **dns64)
void dns_dns64_destroy (dns_dns64_t **dns64p)
isc_result_t dns_dns64_aaaafroma (const dns_dns64_t *dns64, const isc_netaddr_t *reqaddr, const dns_name_t *reqsigner, const dns_aclenv_t *env, unsigned int flags, unsigned char *a, unsigned char *aaaa)
dns_dns64_tdns_dns64_next (dns_dns64_t *dns64)
void dns_dns64_append (dns_dns64list_t *list, dns_dns64_t *dns64)
void dns_dns64_unlink (dns_dns64list_t *list, dns_dns64_t *dns64)
isc_boolean_t dns_dns64_aaaaok (const dns_dns64_t *dns64, const isc_netaddr_t *reqaddr, const dns_name_t *reqsigner, const dns_aclenv_t *env, unsigned int flags, dns_rdataset_t *rdataset, isc_boolean_t *aaaaok, size_t aaaaoklen)


Function Documentation

isc_result_t dns_dns64_create ( isc_mem_t mctx,
isc_netaddr_t prefix,
unsigned int  prefixlen,
isc_netaddr_t suffix,
dns_acl_t clients,
dns_acl_t mapped,
dns_acl_t excluded,
unsigned int  flags,
dns_dns64_t **  dns64 
)

Definition at line 57 of file dns64.c.

References AF_INET6, dns_acl_attach(), ISC_LINK_INIT, isc_mem_attach(), isc_mem_get, isc_netaddr_prefixok(), ISC_R_NOMEMORY, ISC_R_SUCCESS, REQUIRE, and zeros.

Referenced by configure_view().

void dns_dns64_destroy ( dns_dns64_t **  dns64p  ) 

Definition at line 109 of file dns64.c.

References dns_dns64::clients, dns_acl_detach(), dns_dns64::excluded, ISC_LINK_LINKED, isc_mem_putanddetach, dns_dns64::mapped, dns_dns64::mctx, and REQUIRE.

Referenced by destroy().

isc_result_t dns_dns64_aaaafroma ( const dns_dns64_t dns64,
const isc_netaddr_t reqaddr,
const dns_name_t reqsigner,
const dns_aclenv_t env,
unsigned int  flags,
unsigned char *  a,
unsigned char *  aaaa 
)

Definition at line 129 of file dns64.c.

References dns_dns64::bits, dns_dns64::clients, dns_acl_match(), DNS_DNS64_BREAK_DNSSEC, DNS_DNS64_DNSSEC, DNS_DNS64_RECURSIVE, DNS_DNS64_RECURSIVE_ONLY, DNS_R_DISALLOWED, dns_dns64::flags, INSIST, isc_netaddr_fromin(), ISC_R_SUCCESS, dns_dns64::mapped, match(), and dns_dns64::prefixlen.

Referenced by query_dns64().

dns_dns64_t* dns_dns64_next ( dns_dns64_t dns64  ) 

Definition at line 188 of file dns64.c.

References ISC_LIST_NEXT.

Referenced by query_dns64().

void dns_dns64_append ( dns_dns64list_t *  list,
dns_dns64_t dns64 
)

Definition at line 194 of file dns64.c.

References ISC_LIST_APPEND.

Referenced by configure_view().

void dns_dns64_unlink ( dns_dns64list_t *  list,
dns_dns64_t dns64 
)

Definition at line 199 of file dns64.c.

References ISC_LIST_UNLINK.

Referenced by destroy().

isc_boolean_t dns_dns64_aaaaok ( const dns_dns64_t dns64,
const isc_netaddr_t reqaddr,
const dns_name_t reqsigner,
const dns_aclenv_t env,
unsigned int  flags,
dns_rdataset_t rdataset,
isc_boolean_t aaaaok,
size_t  aaaaoklen 
)

Definition at line 204 of file dns64.c.

References answer, dns_dns64::clients, dns_rdata::data, dns_acl_match(), DNS_DNS64_BREAK_DNSSEC, DNS_DNS64_DNSSEC, DNS_DNS64_RECURSIVE, DNS_DNS64_RECURSIVE_ONLY, DNS_RDATA_INIT, dns_rdataset_count(), dns_rdataset_current(), dns_rdataset_first(), dns_rdataset_next(), dns_dns64::excluded, dns_dns64::flags, ISC_FALSE, ISC_LIST_NEXT, isc_netaddr_fromin6(), ISC_R_SUCCESS, ISC_TRUE, match(), dns_rdataset::rdclass, REQUIRE, and dns_rdataset::type.

Referenced by dns64_aaaaok().


Generated on Tue Apr 28 17:41:08 2015 by Doxygen 1.5.4 for BIND9 Internals 9.11.0pre-alpha