DoH: close active server streams when finishing session

Under some circumstances a situation might occur when server-side
session gets finished while there are still active HTTP/2
streams. This would lead to isc_nm_httpsocket object leaks.

This commit fixes this behaviour as well as refactors failed_read_cb()
to allow better code reuse.
75 jobs for !5005 with artem/doh-tests-fix in 35 minutes and 14 seconds (queued for 8 seconds)
latest detached
Status Job ID Name Coverage
  Autoconf
passed #1701250
amd64 linux
autoreconf

00:00:15

 
  Precheck
passed #1701252
amd64 linux
clang-format

00:00:18

passed #1701253
amd64 linux
coccinelle

00:03:31

passed #1701321
amd64 linux
danger

00:00:13

passed #1701251
amd64 linux
misc

00:00:17

passed #1701255
amd64 linux
tarball-create

00:01:24

failed #1701320
amd64 linux
danger

00:00:14

failed #1701254
amd64 linux
danger

00:00:18

 
  Build
passed #1701266
amd64 linux
clang:asan

00:02:19

passed #1701270
amd64 linux
clang:buster:amd64

00:01:04

passed #1701273
amd64 libvirt
clang:freebsd11:amd64

00:01:08

passed #1701274
amd64 libvirt
clang:freebsd12:amd64

00:01:12

passed #1701323
libvirt amd64
clang:openbsd:amd64

00:02:19

passed #1701268
amd64 linux
clang:tsan

00:01:02

passed #1701256
amd64 linux
gcc:alpine3.13:amd64

00:01:02

passed #1701265
amd64 linux
gcc:asan

00:01:59

passed #1701260
amd64 linux
gcc:buster:amd64

00:00:53

passed #1701257
amd64 linux
gcc:centos7:amd64

00:00:57

passed #1701258
amd64 linux
gcc:centos8:amd64

00:01:01

passed #1701264
amd64 linux
gcc:focal:amd64

00:00:47

passed #1701269
amd64 linux
gcc:mutexatomics

00:00:46

passed #1701262
amd64 linux
gcc:out-of-tree

00:00:53

passed #1701261
amd64 linux
gcc:sid:amd64

00:01:27

passed #1701271
amd64 linux
gcc:softhsm2.4

00:00:50

passed #1701272
amd64 linux
gcc:softhsm2.6

00:00:59

passed #1701259
amd64 linux
gcc:stretch:amd64

00:01:05

passed #1701267
amd64 linux
gcc:tsan

00:00:58

passed #1701263
amd64 linux
gcc:tumbleweed:amd64

00:01:14

passed #1701276
amd64 windows
msvc:windows:amd64

00:00:46

failed #1701322
libvirt amd64
clang:openbsd:amd64

00:00:00

failed #1701275
amd64 libvirt
clang:openbsd:amd64

00:00:00

 
  Unit
passed #1701286
amd64 linux
unit:clang:asan

00:02:15

passed #1701290
amd64 linux
unit:clang:buster:amd64

00:01:24

passed #1701293
amd64 libvirt
unit:clang:freebsd11:amd64

00:01:59

passed #1701294
amd64 libvirt
unit:clang:freebsd12:amd64

00:01:44

passed #1701295
amd64 libvirt
unit:clang:openbsd:amd64

00:03:39

passed #1701288
amd64 linux
unit:clang:tsan

00:03:26

passed #1701277
amd64 linux
unit:gcc:alpine3.13:amd64

00:01:32

passed #1701285
amd64 linux
unit:gcc:asan

00:01:49

passed #1701281
amd64 linux
unit:gcc:buster:amd64

00:02:27

passed #1701278
amd64 linux
unit:gcc:centos7:amd64

00:01:29

passed #1701279
amd64 linux
unit:gcc:centos8:amd64

00:01:21

passed #1701284
amd64 linux
unit:gcc:focal:amd64

00:01:23

passed #1701289
amd64 linux
unit:gcc:mutexatomics

00:01:29

passed #1701282
amd64 linux
unit:gcc:sid:amd64

00:01:25

passed #1701291
amd64 linux
unit:gcc:softhsm2.4

00:01:25

passed #1701292
amd64 linux
unit:gcc:softhsm2.6

00:01:25

passed #1701280
amd64 linux
unit:gcc:stretch:amd64

00:00:18

passed #1701287
amd64 linux
unit:gcc:tsan

00:04:21

passed #1701283
amd64 linux
unit:gcc:tumbleweed:amd64

00:01:28

 
  System
passed #1701305
amd64 linux
system:clang:asan

00:14:09

passed #1701309
amd64 linux
system:clang:buster:amd64

00:11:46

passed #1701312
amd64 libvirt
system:clang:freebsd11:amd64

00:11:46

passed #1701313
amd64 libvirt
system:clang:freebsd12:amd64

00:11:43

passed #1701307
amd64 linux
system:clang:tsan

00:16:39

passed #1701296
amd64 linux
system:gcc:alpine3.13:amd64

00:13:10

passed #1701304
amd64 linux
system:gcc:asan

00:14:30

passed #1701300
amd64 linux
system:gcc:buster:amd64

00:13:58

passed #1701297
amd64 linux
system:gcc:centos7:amd64

00:11:45

passed #1701298
amd64 linux
system:gcc:centos8:amd64

00:12:57

passed #1701303
amd64 linux
system:gcc:focal:amd64

00:12:22

passed #1701308
amd64 linux
system:gcc:mutexatomics

00:12:49

passed #1701301
amd64 linux
system:gcc:sid:amd64

00:11:59

passed #1701310
amd64 linux
system:gcc:softhsm2.4

00:11:45

passed #1701311
amd64 linux
system:gcc:softhsm2.6

00:12:08

passed #1701299
amd64 linux
system:gcc:stretch:amd64

00:11:34

passed #1701326
amd64 linux
system:gcc:tsan

00:16:30

passed #1701302
amd64 linux
system:gcc:tumbleweed:amd64

00:11:45

failed #1701306
amd64 linux
system:gcc:tsan

00:17:51

 
  Docs
passed #1701314
amd64 linux
docs

00:00:55

 
  Postcheck
passed #1701318
amd64 linux
cppcheck

00:00:44

passed #1701315
amd64 linux
flake8

00:00:18

passed #1701319
amd64 linux
gcov

00:00:35

78.0%
passed #1701316
amd64 linux
pylint

00:00:23

passed #1701317
amd64 linux
scan-build

00:04:18