bind9/lib/isc
Artem Boldariev 8b19f62ac5 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:57:11 +03:00
..
include Revert "Run the RPZ update as offloaded work" 2022-04-06 10:30:06 +02:00
netmgr TLSDNS: call send callbacks after only the data was sent 2022-04-27 17:57:11 +03:00
tests Rename shutdown() to test_shutdown() in timer_test.c 2022-04-05 01:56:09 +02:00
.gitignore [master] update gitignore files; use rev-parse to get srcid 2014-06-17 13:49:30 -07:00
aes.c Remove EVP_CIPHER_CTX_new() and EVP_CIPHER_CTX_free() shims 2022-03-02 10:49:47 +00:00
app.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
assertions.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
astack.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
backtrace.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
base32.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
base64.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
bind9.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
buffer.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
commandline.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
condition.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
counter.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
crc64.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
dir.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
entropy.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
entropy_private.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
errno.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
errno2result.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
errno2result.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
error.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
event.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
file.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
fsaccess.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
fsaccess_common.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
fsaccess_common_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
glob.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
hash.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
heap.c Make isc_heap_create() and isc_heap_insert() return void 2022-03-08 20:24:54 +01:00
hex.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
hmac.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
ht.c Make isc_ht_init() and isc_ht_iter_create() return void 2022-03-08 20:47:06 +01:00
httpd.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
interfaceiter.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
iterated_hash.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
jemalloc_shim.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
lex.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
lib.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
log.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
Makefile.am Replace netievent lock-free queue with simple locked queue 2022-03-08 09:52:39 +01:00
managers.c Replace netievent lock-free queue with simple locked queue 2022-03-08 09:52:39 +01:00
md.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
mem.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
mem_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
meminfo.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
mutex.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
mutexblock.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
net.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
netaddr.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
netmgr_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
netscope.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
nonce.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
openssl_shim.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
openssl_shim.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
os.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
os_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
parseint.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
pool.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
portset.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
quota.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
radix.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
random.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
ratelimiter.c Add FALLTHROUGH macro for __attribute__((fallthrough)) 2022-03-25 08:41:09 +01:00
regex.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
region.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
resource.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
result.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
rwlock.c Consistenly use UNREACHABLE() instead of ISC_UNREACHABLE() 2022-03-28 23:27:33 +02:00
safe.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
serial.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
siphash.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
sockaddr.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
stats.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
stdio.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
stdtime.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
string.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
symtab.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
syslog.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
task.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
task_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
taskpool.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
thread.c Remove unused functions from isc_thread API 2022-02-09 17:41:34 +01:00
time.c Remove use of the inline keyword used as suggestion to compiler 2022-03-25 08:42:18 +01:00
timer.c Make isc_heap_create() and isc_heap_insert() return void 2022-03-08 20:24:54 +01:00
timer_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
tls.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
tls_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
tm.c Add FALLTHROUGH macro for __attribute__((fallthrough)) 2022-03-25 08:41:09 +01:00
trampoline.c Prevent memory bloat caused by a jemalloc quirk 2022-04-21 14:22:13 +02:00
trampoline_p.h Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
url.c Simplify way we tag unreachable code with only ISC_UNREACHABLE() 2022-03-25 08:42:16 +01:00
utf8.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00