bind9/lib/isc/netmgr
Artem Boldariev 978f97dcdd TLSDNS: call send callbacks after only the data was sent
This commit ensures that write callbacks are getting called only after
the data has been sent via the network.

Without this fix, a situation could appear when a write callback could
get called before the actual encrypted data would have been sent to
the network. Instead, it would get called right after it would have
been passed to the OpenSSL (i.e. encrypted).

Most likely, the issue does not reveal itself often because the
callback call was asynchronous, so in most cases it should have been
called after the data has been sent, but that was not guaranteed by
the code logic.

Also, this commit removes one memory allocation (netievent) from a hot
path, as there is no need to call this callback asynchronously
anymore.
2022-04-27 17:44:23 +03:00
..
http.c Allow listening on less than nworkers threads 2022-04-19 11:08:13 +02:00
netmgr-int.h TLSDNS: call send callbacks after only the data was sent 2022-04-27 17:44:23 +03:00
netmgr.c TLSDNS: call send callbacks after only the data was sent 2022-04-27 17:44:23 +03:00
tcp.c Allow listening on less than nworkers threads 2022-04-19 11:08:13 +02:00
tcpdns.c Allow listening on less than nworkers threads 2022-04-19 11:08:13 +02:00
timer.c Change single write timer to per-send timers 2022-03-11 09:56:57 +01:00
tlsdns.c TLSDNS: call send callbacks after only the data was sent 2022-04-27 17:44:23 +03:00
tlsstream.c Allow listening on less than nworkers threads 2022-04-19 11:08:13 +02:00
udp.c Set IP(V6)_RECVERR on connect UDP sockets (via libuv) 2022-04-26 12:22:18 +02:00
uv-compat.c Add uv_tcp_close_reset compat 2022-02-17 09:06:58 +01:00
uv-compat.h Abort when libuv at runtime mismatches libuv at compile time 2022-04-26 11:40:40 +02:00
uverr2result.c add UV_ENOTSUP to isc___nm_uverr2result() 2022-01-17 11:45:10 +01:00