Introduction
Introduction Statistics Contact Development Disclaimer Help
Add more DDoS prevention. - bitreich-httpd - Bitreich HTTPD service
git clone git://bitreich.org/bitreich-httpd git://enlrupgkhuxnvlhsf6lc3fziv5h2h…
Log
Files
Refs
Tags
README
LICENSE
---
commit bf9101e0e7efc8918d6122efef1339ac12b25b63
parent e5dfc5fbfe93266da5edb1bb2e903734738296cf
Author: Christoph Lohmann <[email protected]>
Date: Tue, 22 Aug 2023 07:11:56 +0200
Add more DDoS prevention.
Diffstat:
M bitreich-httpd.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
---
diff --git a/bitreich-httpd.c b/bitreich-httpd.c
@@ -138,7 +138,7 @@ main(int argc, char *argv[])
char *wwwbase, *wwwindex, *request, *ctype, *path, *le_file,
*le_base, clienth[NI_MAXHOST], clientp[NI_MAXSERV], *zuccbase,
*requested, *header, *headerval, *hosthdr;
- int rlen;
+ int rlen, i;
struct sockaddr_storage clt;
socklen_t cltlen = sizeof(clt);
time_t tim;
@@ -170,9 +170,10 @@ main(int argc, char *argv[])
request[rlen-1] = '\0';
/* Header parsing. */
- for (;;) {
+ /* At max read 16 headers. Do not allow DDoS. */
+ for (i = 0; i < 16; i++) {
header = read_line(0, &rlen, 512);
- if (header == NULL)
+ if (header == NULL || rlen == 0)
break;
if (header[rlen-1] == '\r') {
header[rlen-1] = '\0';
You are viewing proxied material from bitreich.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.