Implement new configuration option "MaxPenaltyTime" (#251)
authorAlexander Barton <alex@barton.de>
Wed, 28 Nov 2018 13:13:09 +0000 (14:13 +0100)
committerGitHub <noreply@github.com>
Wed, 28 Nov 2018 13:13:09 +0000 (14:13 +0100)
commit456eea6f1896528dad344ed2c254fd07bdc3a4b1
tree9472c73017f8afc7817f84519076a79c4eb43d02
parent7690716e4fa8ac3ae9b513f4adba685f9e2c0e1f
Implement new configuration option "MaxPenaltyTime" (#251)

This option configures the maximum penalty time increase in seconds, per
penalty event. Set to -1 for no limit (the default), 0 to disable
penalties altogether. ngIRCd doesn't use penalty increases higher than 2
seconds during normal operation, so values higher than 1 rarely make
sense.

Disabling (or reducing) penalties can greatly speed up "make check" runs
for example, see below, but are mostly a debugging feature and normally
not meant to be used on production systems!

Some example timings running "make check" from my macOS workstation:

- MaxPenaltyTime not set: 4:41,79s
- "MaxPenaltyTime = 1":   3:14,71s
- "MaxPenaltyTime = 0":     25,46s

Closes #249.
doc/sample-ngircd.conf.tmpl
man/ngircd.conf.5.tmpl
src/ngircd/conf.c
src/ngircd/conf.h
src/ngircd/conn-func.c
src/testsuite/ngircd-test1.conf
src/testsuite/ngircd-test2.conf