bind9/lib/isc/include/isc
Artem Boldariev 590e8e0b86 Make max number of HTTP/2 streams configurable
This commit makes number of concurrent HTTP/2 streams per connection
configurable as a mean to fight DDoS attacks. As soon as the limit is
reached, BIND terminates the whole session.

The commit adds a global configuration
option (http-streams-per-connection) which can be overridden in an
http <name> {...} statement like follows:

http local-http-server {
    ...
    streams-per-connection 100;
    ...
};

For now the default value is 100, which should be enough (e.g. NGINX
uses 128, but it is a full-featured WEB-server). When using lower
numbers (e.g. ~70), it is possible to hit the limit with
e.g. flamethrower.
2021-07-16 11:50:22 +03:00
..
aes.h The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
align.h Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
app.h Cleanup the public vs private ISCAPI remnants 2021-04-19 13:18:24 +02:00
assertions.h The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
astack.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
atomic.h Drop support for clang atomic and gcc __sync builtins 2021-06-17 09:51:04 +02:00
attributes.h Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
backtrace.h Add support for generating backtraces on Windows 2021-05-03 20:31:52 +02:00
barrier.h Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
base32.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
base64.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
bind9.h The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
buffer.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
cmocka.h Add the ability to select tests to run 2020-10-01 08:21:42 +00:00
commandline.h The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
condition.h Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
counter.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
crc64.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
deprecated.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
dir.h The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
endian.h Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
errno.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
error.h The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
event.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
eventclass.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
file.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
formatcheck.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
fsaccess.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
fuzz.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
glob.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
hash.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
heap.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
hex.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
hmac.h The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
hp.h Add new isc_managers API to simplify <*>mgr create/destroy 2021-05-07 10:19:05 -07:00
ht.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
httpd.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
interfaceiter.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
iterated_hash.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
lang.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
lex.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
lib.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
likely.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
list.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
log.h The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
magic.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
managers.h Add new isc_managers API to simplify <*>mgr create/destroy 2021-05-07 10:19:05 -07:00
md.h The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
mem.h Remove nonnull attribute from isc_mem_{get,allocate,reallocate} 2021-07-12 10:02:18 +02:00
meminfo.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
mutex.h Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
mutexblock.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
net.h The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
netaddr.h Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
netdb.h Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
netmgr.h Make max number of HTTP/2 streams configurable 2021-07-16 11:50:22 +03:00
netscope.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
nonce.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
offset.h Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
once.h The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
os.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
parseint.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
pool.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
portset.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
print.h The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
queue.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
quota.h Add (http-)listener-clients option (DoH quota mechanism) 2021-07-16 11:50:20 +03:00
radix.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
random.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
ratelimiter.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
refcount.h The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
regex.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
region.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
resource.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
result.h Replace netmgr quantum with loop-preventing barrier 2021-05-17 11:59:19 +02:00
resultclass.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
rwlock.h The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
safe.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
serial.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
siphash.h The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
sockaddr.h Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
socket.h Add new isc_managers API to simplify <*>mgr create/destroy 2021-05-07 10:19:05 -07:00
stat.h Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
stats.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
stdatomic.h Drop support for clang atomic and gcc __sync builtins 2021-06-17 09:51:04 +02:00
stdio.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
stdtime.h Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
strerr.h Move ISC_STRERRORSIZE to isc/strerr.h header 2021-07-06 05:33:48 +00:00
string.h The isc/platform.h header has been completely removed 2021-07-06 05:33:48 +00:00
symtab.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
syslog.h Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
task.h Add isc_task_getnetmgr() function 2021-05-31 14:52:05 +02:00
taskpool.h Refactor taskmgr to run on top of netmgr 2021-04-20 23:22:28 +02:00
thread.h Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
time.h Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
timer.h Add new isc_managers API to simplify <*>mgr create/destroy 2021-05-07 10:19:05 -07:00
tls.h refactor outgoing HTTP connection support 2021-03-05 13:29:26 +02:00
tm.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
types.h Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00
url.h nghttp2-based HTTP layer in netmgr 2021-02-03 12:06:17 +01:00
utf8.h update all copyright headers to eliminate the typo 2020-09-14 16:20:40 -07:00
util.h Completely remove BIND 9 Windows support 2021-06-09 14:35:14 +02:00