/usr/share/cagefs-skeleton/usr/include/bind9/dns
/* * Copyright (C) Internet Systems Consortium, Inc. ("ISC") * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, you can obtain one at https://mozilla.org/MPL/2.0/. * * See the COPYRIGHT file distributed with this work for additional * information regarding copyright ownership. */ #ifndef DNS_DNSRPS_H #define DNS_DNSRPS_H #include <inttypes.h> #include <stdbool.h> #include <isc/lang.h> #include <dns/types.h> #ifdef USE_DNSRPS #include <dns/librpz.h> #include <dns/rpz.h> /* * Error message if dlopen(librpz) failed. */ extern librpz_emsg_t librpz_lib_open_emsg; /* * These shim BIND9 database, node, and rdataset are handles on RRs from librpz. * * All of these structures are used by a single thread and so need no locks. * * rpsdb_t holds the state for a set of RPZ queries. * * rpsnode_t is a link to the rpsdb_t for the set of RPZ queries * and a flag saying whether it is pretending to be a node with RRs for * the qname or the node with the SOA for the zone containing the rewritten * RRs or justifying NXDOMAIN. */ typedef struct { uint8_t unused; } rpsnode_t; typedef struct rpsdb { dns_db_t common; int ref_cnt; librpz_result_id_t hit_id; librpz_result_t result; librpz_rsp_t *rsp; librpz_domain_buf_t origin_buf; const dns_name_t *qname; rpsnode_t origin_node; rpsnode_t data_node; } rpsdb_t; /* * Convert a dnsrps policy to a classic BIND9 RPZ policy. */ dns_rpz_policy_t dns_dnsrps_2policy(librpz_policy_t rps_policy); /* * Convert a dnsrps trigger to a classic BIND9 RPZ rewrite or trigger type. */ dns_rpz_type_t dns_dnsrps_trig2type(librpz_trig_t trig); /* * Convert a classic BIND9 RPZ rewrite or trigger type to a librpz trigger type. */ librpz_trig_t dns_dnsrps_type2trig(dns_rpz_type_t type); /* * Start dnsrps for the entire server. */ isc_result_t dns_dnsrps_server_create(void); /* * Stop dnsrps for the entire server. */ void dns_dnsrps_server_destroy(void); /* * Ready dnsrps for a view. */ isc_result_t dns_dnsrps_view_init(dns_rpz_zones_t *new, char *rps_cstr); /* * Connect to and start the dnsrps daemon, dnsrpzd. */ isc_result_t dns_dnsrps_connect(dns_rpz_zones_t *rpzs); /* * Get ready to try dnsrps rewriting. */ isc_result_t dns_dnsrps_rewrite_init(librpz_emsg_t *emsg, dns_rpz_st_t *st, dns_rpz_zones_t *rpzs, const dns_name_t *qname, isc_mem_t *mctx, bool have_rd); #endif /* USE_DNSRPS */ ISC_LANG_ENDDECLS #endif /* DNS_DNSRPS_H */
.
Edit
..
Edit
acl.h
Edit
adb.h
Edit
badcache.h
Edit
bit.h
Edit
byaddr.h
Edit
cache.h
Edit
callbacks.h
Edit
catz.h
Edit
cert.h
Edit
client.h
Edit
clientinfo.h
Edit
compress.h
Edit
db.h
Edit
dbiterator.h
Edit
dbtable.h
Edit
diff.h
Edit
dispatch.h
Edit
dlz.h
Edit
dlz_dlopen.h
Edit
dns64.h
Edit
dnsrps.h
Edit
dnssec.h
Edit
dnstap.h
Edit
ds.h
Edit
dsdigest.h
Edit
dyndb.h
Edit
ecdb.h
Edit
ecs.h
Edit
edns.h
Edit
enumclass.h
Edit
enumtype.h
Edit
events.h
Edit
fixedname.h
Edit
forward.h
Edit
geoip.h
Edit
ipkeylist.h
Edit
iptable.h
Edit
journal.h
Edit
kasp.h
Edit
keydata.h
Edit
keyflags.h
Edit
keymgr.h
Edit
keytable.h
Edit
keyvalues.h
Edit
lib.h
Edit
librpz.h
Edit
lmdb.h
Edit
log.h
Edit
lookup.h
Edit
master.h
Edit
masterdump.h
Edit
message.h
Edit
name.h
Edit
ncache.h
Edit
nsec.h
Edit
nsec3.h
Edit
nta.h
Edit
opcode.h
Edit
order.h
Edit
peer.h
Edit
portlist.h
Edit
private.h
Edit
rbt.h
Edit
rcode.h
Edit
rdata.h
Edit
rdataclass.h
Edit
rdatalist.h
Edit
rdataset.h
Edit
rdatasetiter.h
Edit
rdataslab.h
Edit
rdatastruct.h
Edit
rdatatype.h
Edit
request.h
Edit
resolver.h
Edit
result.h
Edit
rootns.h
Edit
rpz.h
Edit
rriterator.h
Edit
rrl.h
Edit
sdb.h
Edit
sdlz.h
Edit
secalg.h
Edit
secproto.h
Edit
soa.h
Edit
ssu.h
Edit
stats.h
Edit
tcpmsg.h
Edit
time.h
Edit
timer.h
Edit
tkey.h
Edit
tsec.h
Edit
tsig.h
Edit
ttl.h
Edit
types.h
Edit
update.h
Edit
validator.h
Edit
version.h
Edit
view.h
Edit
xfrin.h
Edit
zone.h
Edit
zonekey.h
Edit
zoneverify.h
Edit
zt.h
Edit