]> git.ipfire.org Git - thirdparty/bind9.git/commit
Add isc_nm_streamdnssocket (aka Stream DNS)
authorArtem Boldariev <artem@boldariev.com>
Mon, 20 Jun 2022 17:30:12 +0000 (20:30 +0300)
committerArtem Boldariev <artem@boldariev.com>
Tue, 20 Dec 2022 20:13:51 +0000 (22:13 +0200)
commitf395cd4b3e2ac770e6b9cc087d19733e71afd361
tree8097c98e1304ca0135ff7c1437409695f0d897f9
parentae63471e502c08ce221e9adfedd397130cb12406
Add isc_nm_streamdnssocket (aka Stream DNS)

This commit adds an initial implementation of isc_nm_streamdnssocket
transport: a unified transport for DNS over stream protocols messages,
which is capable of replacing both TCP DNS and TLS DNS
transports. Currently, the interface it provides is a unified set of
interfaces provided by both of the transports it attempts to replace.

The transport is built around "isc_dnsbuffer_t" and
"isc_dnsstream_assembler_t" objects and attempts to minimise both the
number of memory allocations during network transfers as well as
memory usage.
lib/isc/Makefile.am
lib/isc/include/isc/netmgr.h
lib/isc/include/isc/types.h
lib/isc/netmgr/netmgr-int.h
lib/isc/netmgr/netmgr.c
lib/isc/netmgr/streamdns.c [new file with mode: 0644]