► cachedb | |
cachedb.c | This file contains a module that uses an external database to cache dns responses |
cachedb.h | This file contains a module that uses an external database to cache dns responses |
redis.c | This file contains a module that uses the redis database to cache dns responses |
redis.h | This file contains a module that uses the redis database to cache dns responses |
► daemon | |
acl_list.c | This file helps the server keep out queries from outside sources, that should not be answered |
acl_list.h | This file keeps track of the list of clients that are allowed to access the server |
cachedump.c | This file contains functions to read and write the cache(s) to text format |
cachedump.h | This file contains functions to read and write the cache(s) to text format |
daemon.c | The daemon consists of global settings and a number of workers |
daemon.h | The daemon consists of global settings and a number of workers |
remote.c | This file contains the remote control functionality for the daemon |
remote.h | This file contains the remote control functionality for the daemon |
stats.c | This file describes the data structure used to collect runtime performance numbers |
stats.h | This file describes the data structure used to collect runtime performance numbers |
unbound.c | Main program to start the DNS resolver daemon |
worker.c | This file implements the worker that handles callbacks on events, for pending requests |
worker.h | This file describes the worker structure that holds a list of pending requests and handles them |
► dns64 | |
dns64.c | This file contains a module that performs DNS64 query processing |
dns64.h | This file contains a module that performs DNS64 query processing |
► dnscrypt | |
cert.h | Certificate type for dnscrypt for use in other header files |
dnscrypt.c | Dnscrypt functions for encrypting DNS packets |
dnscrypt.h | Dnscrypt functions for encrypting DNS packets |
► dnstap | |
dnstap_fstrm.c | Definitions for the Frame Streams data transport protocol for dnstap message logs |
dnstap_fstrm.h | Definitions for the Frame Streams data transport protocol for dnstap message logs |
dtstream.c | An implementation of the Frame Streams data transport protocol for the Unbound DNSTAP message logging facility |
dtstream.h | An implementation of the Frame Streams data transport protocol for the Unbound DNSTAP message logging facility |
unbound-dnstap-socket.c | This program listens on a DNSTAP socket for logged messages |
► dynlibmod | |
► examples | |
helloworld.c | This is an example to show how dynamic libraries can be made to work with unbound |
dynlibmod.c | This file contains the dynamic library module for Unbound |
dynlibmod.h | Dynamic loading module for unbound |
► edns-subnet | |
addrtree.c | Addrtree – radix tree for edns subnet cache |
addrtree.h | The addrtree is a radix tree designed for edns subnet |
edns-subnet.c | Subnet option related constants |
edns-subnet.h | Subnet option related constants |
subnet-whitelist.c | Keep track of the white listed servers for subnet option |
subnet-whitelist.h | Keep track of the white listed servers and domain names for subnet option |
subnetmod.c | Subnet module for unbound |
subnetmod.h | Subnet module for unbound |
► ipsecmod | |
ipsecmod-whitelist.c | Keep track of the white listed domains for ipsecmod |
ipsecmod-whitelist.h | Keep track of the white listed domains for ipsecmod |
ipsecmod.c | This file contains a module that facilitates opportunistic IPsec |
ipsecmod.h | This file contains a module that facilitates opportunistic IPsec |
► ipset | |
ipset.c | This file implements the ipset module |
ipset.h | Ipset.h |
► iterator | |
iter_delegpt.c | This file implements the Delegation Point |
iter_delegpt.h | This file implements the Delegation Point |
iter_donotq.c | This file contains functions to assist the iterator module |
iter_donotq.h | This file contains functions to assist the iterator module |
iter_fwd.c | This file contains functions to assist the iterator module |
iter_fwd.h | This file contains functions to assist the iterator module |
iter_hints.c | This file contains functions to assist the iterator module |
iter_hints.h | This file contains functions to assist the iterator module |
iter_priv.c | This file contains functions to assist the iterator module |
iter_priv.h | This file contains functions to assist the iterator module |
iter_resptype.c | This file defines the response type |
iter_resptype.h | This file defines the response type |
iter_scrub.c | This file has routine(s) for cleaning up incoming DNS messages from possible useless or malicious junk in it |
iter_scrub.h | This file has routine(s) for cleaning up incoming DNS messages from possible useless or malicious junk in it |
iter_utils.c | This file contains functions to assist the iterator module |
iter_utils.h | This file contains functions to assist the iterator module |
iterator.c | This file contains a module that performs recursive iterative DNS query processing |
iterator.h | This file contains a module that performs recursive iterative DNS query processing |
► libunbound | |
context.c | This file contains the validator context structure |
context.h | This file contains the validator context structure |
libunbound.c | This file contains functions to resolve DNS queries and validate the answers |
libworker.c | This file contains the worker process or thread that performs the DNS resolving and validation |
libworker.h | This file contains the worker process or thread that performs the DNS resolving and validation |
unbound-event.h | This file contains the unbound interface for use with user defined pluggable event bases |
unbound.h | This file contains functions to resolve DNS queries and validate the answers |
worker.h | This file declares the methods any worker has to implement |
► pythonmod | |
pythonmod.c | Python module for unbound |
pythonmod.h | Python module for unbound |
pythonmod_utils.c | Utility functions for the python module that perform stores and loads and conversions |
pythonmod_utils.h | Utility functions for the python module that perform stores and loads and conversions |
► respip | |
respip.c | This file contains a module that inspects a result of recursive resolution to see if any IP address record should trigger a special action |
respip.h | This file contains a module that selectively modifies query responses based on their AAAA/A IP addresses |
► services | |
► cache | |
dns.c | This file contains the DNS cache |
dns.h | This file contains the DNS cache |
infra.c | This file contains the infrastructure cache |
infra.h | This file contains the infrastructure cache, as well as rate limiting |
rrset.c | This file contains the rrset cache |
rrset.h | This file contains the rrset cache |
authzone.c | This file contains the functions for an authority zone |
authzone.h | This file contains the functions for an authority zone |
listen_dnsport.c | This file has functions to get queries from clients |
listen_dnsport.h | This file has functions to get queries from clients |
localzone.c | This file contains functions to enable local zone authority service |
localzone.h | This file contains functions to enable local zone authority service |
mesh.c | This file contains functions to assist in dealing with a mesh of query states |
mesh.h | This file contains functions to assist in dealing with a mesh of query states |
modstack.c | This file contains functions to help maintain a stack of modules |
modstack.h | This file contains functions to help maintain a stack of modules |
outbound_list.c | This file contains functions to help a module keep track of the queries it has outstanding to authoritative servers |
outbound_list.h | This file contains functions to help a module keep track of the queries it has outstanding to authoritative servers |
outside_network.c | This file has functions to send queries to authoritative servers and wait for the pending answer events |
outside_network.h | This file has functions to send queries to authoritative servers, and wait for the pending answer, with timeouts |
rpz.c | This file contains functions to enable RPZ service |
rpz.h | This file contains functions to enable RPZ service |
view.c | This file contains functions to enable named views that can hold local zone authority service |
view.h | This file contains functions to enable named views that can hold local zone authority service |
► sldns | |
keyraw.c | Implementation of raw DNSKEY functions (work on wire rdata) |
keyraw.h | Raw key and signature access and conversion |
parse.h | Contains some low-level parsing functions, mostly used in the _frm_str family of functions |
parseutil.c | Utility functions for parsing, base32(DNS variant) and base64 encoding and decoding, Hex, Time units, Escape codes |
parseutil.h | Utility functions for parsing, base32(DNS variant) and base64 encoding and decoding, Hex, Time units, Escape codes |
pkthdr.h | Contains functions that translate dns data from the wire format (as sent by servers and clients) to the internal structures for the packet header |
rrdef.c | Defines resource record types and constants |
rrdef.h | Defines resource record types and constants |
sbuffer.c | This file contains the definition of sldns_buffer, and functions to manipulate those |
sbuffer.h | This file contains the definition of sldns_buffer, and functions to manipulate those |
str2wire.c | Str2wire.c - read txt presentation of RRs |
str2wire.h | Str2wire.h - read txt presentation of RRs |
wire2str.c | Contains functions to translate the wireformat to text representation, as well as functions to print them |
wire2str.h | Wire2str.h - txt presentation of RRs |
► smallapp | |
unbound-anchor.c | This file checks to see that the current 5011 keys work to prime the current root anchor |
unbound-checkconf.c | The config checker checks for syntax and other errors in the unbound.conf file, and can be used to check for errors before the server is started or sigHUPped |
unbound-control.c | The remote control utility contacts the unbound server over ssl and sends the command, receives the answer, and displays the result from the commandline |
unbound-host.c | This file performs functionality like 'host', and also supports validation |
worker_cb.c | This file contains fake callback functions, so that the symbols exist and the fptr_wlist continues to work even if the daemon/worker is not linked into the resulting program |
► testcode | |
asynclook.c | This program shows the results from several background lookups, while printing time in the foreground |
checklocks.c | Testcode/checklocks.c - wrapper on locks that checks access |
checklocks.h | Testcode/checklocks.h - wrapper on locks that checks access |
delayer.c | This program delays queries made |
dohclient.c | Simple DNS-over-HTTPS client |
doqclient.c | Simple DNS-over-QUIC client |
fake_event.c | Event service that replays a scenario |
fake_event.h | Event service that replays a scenario |
lock_verify.c | This file checks the lock traces generated by checklock.c |
memstats.c | This program reads a log file and prints the memory allocation summed up |
perf.c | This program estimates DNS name server performance |
petal.c | HTTP1.1/SSL server |
pktview.c | This program shows a dns packet wire format |
readhex.c | Declarations useful for the unit tests |
readhex.h | Declarations useful for the unit tests |
readzone.c | Command to read and echo a zonefile |
replay.c | Store and use a replay of events for the DNS resolver |
replay.h | Store and use a replay of events for the DNS resolver |
signit.c | This program signs rrsets with the given keys |
streamtcp.c | This program performs multiple DNS queries on a TCP stream |
testbound.c | Exits with code 1 on a failure |
testpkts.c | This is a debugging aid |
testpkts.h | This is a debugging aid |
unitanchor.c | Calls trust anchor unit tests |
unitauth.c | Unit test for auth zone code |
unitdname.c | Calls dname unit tests |
unitdoq.c | Calls doq related unit tests |
unitecs.c | Calls ecs related unit tests |
unitinfra.c | Tests the infra functionality |
unitldns.c | Calls ldns unit tests |
unitlruhash.c | Tests the locking LRU keeping hash table implementation |
unitmain.c | Unit test main program |
unitmain.h | Declarations useful for the unit tests |
unitmsgparse.c | Calls msg parse unit tests |
unitneg.c | Calls negative cache unit tests |
unitregional.c | Tests the regional special purpose allocator |
unitslabhash.c | Tests the locking LRU keeping hash table implementation |
unittcpreuse.c | Tests the tcp_reuse functionality |
unitverify.c | Calls verification unit tests |
unitzonemd.c | Unit tests for ZONEMD functionality |
► testdata | |
► speed_cache.tdir | |
makeqs.c | This file creates queries for the speed test |
► util | |
► data | |
dname.c | This file contains domain name handling functions |
dname.h | This file contains functions to deal with domain names (dnames) |
msgencode.c | This file contains a routines to encode DNS messages |
msgencode.h | This file contains temporary data structures and routines to create compressed DNS messages |
msgparse.c | Routines for message parsing a packet buffer to a descriptive structure |
msgparse.h | Contains message parsing data structures |
msgreply.c | This file contains a data structure to store a message and its reply |
msgreply.h | This file contains a data structure to store a message and its reply |
packed_rrset.c | This file contains the data storage for RRsets |
packed_rrset.h | This file contains the data storage for RRsets |
► shm_side | |
shm_main.c | This file contains functions for the SHM implementation |
shm_main.h | This file contains functions for the SHM side |
► storage | |
dnstree.c | This file contains structures combining types and functions to manipulate those structures that help building DNS lookup trees |
dnstree.h | This file contains structures combining types and functions to manipulate those structures that help building DNS lookup trees |
lookup3.h | This file contains header definitions for the hash functions we use |
lruhash.c | This file contains a hashtable with LRU keeping of entries |
lruhash.h | This file contains a hashtable with LRU keeping of entries |
slabhash.c | Implementation of hash table that consists of smaller hash tables |
slabhash.h | Hash table that consists of smaller hash tables |
alloc.c | This file contains memory allocation functions |
alloc.h | This file contains memory allocation functions |
as112.c | This file provides a list of lan zones |
as112.h | This file provides a list of lan zones |
config_file.c | This file contains functions for the config file |
config_file.h | This file contains functions for the config file |
edns.c | This file contains functions for base EDNS options |
edns.h | This file contains functions for base EDNS options |
fptr_wlist.c | This file contains functions that check function pointers |
fptr_wlist.h | This file contains functions that check function pointers |
locks.c | Util/locks.c - unbound locking primitives |
log.c | Implementation of log.h |
log.h | This file contains logging functions |
mini_event.c | Fake libevent implementation |
mini_event.h | This file implements part of the event(3) libevent api |
module.c | Implementation of module.h |
module.h | This file contains the interface for DNS handling modules |
net_help.c | Implementation of net_help.h |
net_help.h | This file contains functions to perform network related tasks |
netevent.c | This file contains event notification functions |
netevent.h | This file contains event notification functions |
proxy_protocol.c | This file contains PROXY protocol functions |
proxy_protocol.h | This file contains PROXY protocol structs and functions |
random.c | Thread safe random functions |
random.h | Thread safe random functions |
rbtree.c | Implementation of a redblack tree |
rbtree.h | Red black tree |
regional.c | Regional allocator |
regional.h | Regional allocator |
rfc_1982.c | This file contains functions for RFC 1982 serial number arithmetic |
rfc_1982.h | This file contains functions for RFC 1982 serial number arithmetic |
rtt.c | This file contains a data type and functions to help estimate good round trip times for UDP resend timeout values |
rtt.h | This file contains a data type and functions to help estimate good round trip times for UDP resend timeout values |
siphash.h | Contains the SipHash reference C implementation |
tcp_conn_limit.c | This file helps the server discard excess TCP connections |
tcp_conn_limit.h | This file keeps track of the limit on the number of TCP connections each client makes the server |
timehist.c | This file contains functions to make a histogram of time values |
timehist.h | This file contains functions to make a histogram of time values |
timeval_func.c | This file contains helpers to manipulate struct timeval values |
timeval_func.h | This file contains definitions of helpers to manipulate struct timeval values, implemented in the corresponding C file |
tube.c | This file contains pipe service functions |
tube.h | This file contains pipe service functions |
ub_event.c | This file contains and implementation for the indirection layer for pluggable events that transparently passes it either directly to libevent, or calls the libevent compatibility layer functions |
ub_event.h | This file contains prototypes for event loop functions |
ub_event_pluggable.c | This file contains an implementation for the indirection layer for pluggable events that calls the registered pluggable event loop |
winsock_event.c | Implementation of the unbound WinSock2 API event notification handler for the Windows port |
winsock_event.h | This file contains interface functions with the WinSock2 API on Windows |
► validator | |
autotrust.c | Contains autotrust implementation |
autotrust.h | Contains autotrust definitions |
val_anchor.c | This file contains storage for the trust anchors for the validator |
val_anchor.h | This file contains storage for the trust anchors for the validator |
val_kcache.c | This file contains functions for dealing with the validator key cache |
val_kcache.h | This file contains functions for caching validated key entries |
val_kentry.c | This file contains functions for dealing with validator key entries |
val_kentry.h | This file contains functions for dealing with validator key entries |
val_neg.c | This file contains helper functions for the validator module |
val_neg.h | This file contains helper functions for the validator module |
val_nsec.c | This file contains helper functions for the validator module |
val_nsec.h | This file contains helper functions for the validator module |
val_nsec3.c | This file contains helper functions for the validator module |
val_nsec3.h | This file contains helper functions for the validator module |
val_secalgo.c | This file contains helper functions for the validator module |
val_secalgo.h | This file contains helper functions for the validator module |
val_sigcrypt.c | This file contains helper functions for the validator module |
val_sigcrypt.h | This file contains helper functions for the validator module |
val_utils.c | This file contains helper functions for the validator module |
val_utils.h | This file contains helper functions for the validator module |
validator.c | This file contains a module that performs validation of DNS queries |
validator.h | This file contains a module that performs validation of DNS queries |
► winrc | |
anchor-update.c | This file is made because contrib/update-anchor.sh does not work on windows (no shell) |
unbound-service-install.c | This file contains functions to integrate with the windows services API |
unbound-service-remove.c | This file contains functions to integrate with the windows services API |
w_inst.c | Contains install and remove functions that manipulate the windows services API and windows registry |
w_inst.h | Contains install and remove functions that manipulate the windows services API and windows registry |
win_svc.c | This file contains functions to integrate with the windows services API |
win_svc.h | This file contains functions to integrate with the windows services API |