#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_t * | dns_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) |
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 | ) |
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 | |||
) |
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().