From: Vlad S. <ser...@us...> - 2005-06-19 16:32:07
|
Update of /cvsroot/naviserver/naviserver/nsd In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25083/nsd Modified Files: driver.c nsd.h Log Message: added maxline parameter for checking request line size Index: driver.c =================================================================== RCS file: /cvsroot/naviserver/naviserver/nsd/driver.c,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** driver.c 16 Jun 2005 19:42:48 -0000 1.13 --- driver.c 19 Jun 2005 16:31:58 -0000 1.14 *************** *** 310,313 **** --- 310,317 ---- } drvPtr->maxinput = _MAX(n, 1024); + if (!Ns_ConfigGetInt(path, "maxline", &n) || n < 1) { + n = 4 * 1024; /* 4k. */ + } + drvPtr->maxline = _MAX(n, 256); /* *************** *** 1453,1457 **** return SOCK_MORE; } ! /* * Update next read pointer to end of this line. --- 1457,1469 ---- return SOCK_MORE; } ! ! /* ! * Check for max single line overflow. ! */ ! ! if ((e - s) > sockPtr->drvPtr->maxline) { ! return SOCK_ERROR; ! } ! /* * Update next read pointer to end of this line. Index: nsd.h =================================================================== RCS file: /cvsroot/naviserver/naviserver/nsd/nsd.h,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** nsd.h 16 Jun 2005 18:31:11 -0000 1.18 --- nsd.h 19 Jun 2005 16:31:58 -0000 1.19 *************** *** 380,383 **** --- 380,384 ---- int backlog; /* listen() backlog. */ int maxinput; /* Maximum request bytes to read. */ + int maxline; /* Maximum request line size. */ unsigned int loggingFlags; /* Logging control flags */ |