| ► 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 |
| 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 |
| unbound.h | This file contains functions to resolve DNS queries and validate the answers |