bind9/lib/isc
Ondřej Surý 9274876dec
Serialize the HTTP/1.1 statschannel requests
The statschannel truncated test still terminates abruptly sometimes and
it doesn't return the answer for the first query.  This might happen
when the second process_request() discovers there's not enough space
before the sending is complete and the connection is terminated before
the client gets the data.

Change the isc_http, so it pauses the reading when it receives the data
and resumes it only after the sending has completed or there's
incomplete request waiting for more data.

This makes the request processing slightly less efficient, but also less
taxing for the server, because previously all requests that has been
received via single TCP read would be processed in the loop and the
sends would be queued after the read callback has processed a full
buffer.

(cherry picked from commit 13959781cb)
2022-10-20 17:23:36 +02:00
..
include Rewrite isc_httpd using picohttpparser and isc_url_parse 2022-10-20 16:10:21 +02:00
netmgr TLS Stream: handle successful TLS handshake after listener shutdown 2022-10-18 16:40:08 +03: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 Remove redundant #include <isc/strerr.h> 2022-10-17 16:08:28 +01:00
assertions.c Remove redundant #include <isc/strerr.h> 2022-10-17 16:08:28 +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 change ISC__BUFFER macros to inline functions 2022-09-27 00:45:28 -07:00
commandline.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
condition.c Remove redundant #include <isc/strerr.h> 2022-10-17 16:08:28 +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 De-duplicate __FILE__, __LINE__ 2022-10-17 16:00:26 +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 Include the function name when reporting unexpected errors 2022-10-17 16:00:27 +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 Serialize the HTTP/1.1 statschannel requests 2022-10-20 17:23:36 +02:00
interfaceiter.c De-duplicate __FILE__, __LINE__ 2022-10-17 16:00:26 +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 De-duplicate __FILE__, __LINE__ 2022-10-17 16:00:26 +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 Add picohttpparser.{c.h} from https://github.com/h2o/picohttpparser 2022-10-20 15:49:27 +02:00
managers.c De-duplicate __FILE__, __LINE__ 2022-10-17 16:00:26 +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 redundant #include <isc/strerr.h> 2022-10-17 16:08:28 +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 Remove redundant #include <isc/strerr.h> 2022-10-17 16:08:28 +01:00
mutexblock.c Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
net.c De-duplicate some calls to strerror_r() 2022-10-17 16:00:27 +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 Do not provide a shim for SSL_SESSION_is_resumable() 2022-06-15 17:02:45 +03:00
openssl_shim.h Do not provide a shim for SSL_SESSION_is_resumable() 2022-06-15 17:02:45 +03: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
picohttpparser.c Add picohttpparser.{c.h} from https://github.com/h2o/picohttpparser 2022-10-20 15:49:27 +02:00
picohttpparser.h Add picohttpparser.{c.h} from https://github.com/h2o/picohttpparser 2022-10-20 15:49:27 +02: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 REQUIRE should not have side effects 2022-07-05 13:04:17 -07: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 Add ISC_R_TLSBADPEERCERT error code to the TLS related code 2022-04-28 13:39:21 +03:00
rwlock.c De-duplicate __FILE__, __LINE__ 2022-10-17 16:00:26 +01: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 De-duplicate __FILE__, __LINE__ 2022-10-17 16:00:26 +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 Remove redundant #include <isc/strerr.h> 2022-10-17 16:08:28 +01:00
string.c Use strnstr implementation from FreeBSD if not provided by OS 2022-10-04 15:33:33 +11: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 REQUIRE should not have side effects 2022-07-05 13:04:17 -07: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
tests Move all the unit tests to /tests/<libname>/ 2022-05-31 12:06:00 +02:00
thread.c Remove redundant #include <isc/strerr.h> 2022-10-17 16:08:28 +01:00
time.c De-duplicate some calls to strerror_r() 2022-10-17 16:00:27 +01:00
timer.c De-duplicate __FILE__, __LINE__ 2022-10-17 16:00:26 +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 De-duplicate __FILE__, __LINE__ 2022-10-17 16:00:26 +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 Lock the trampoline when attaching 2022-05-13 13:21:49 +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