cvs: php4 /sapi/thttpd thttpd_patch

From: Date: Mon, 13 Aug 2001 21:55:21 +0000
Subject: cvs: php4 /sapi/thttpd thttpd_patch
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-6792@lists.php.net to get a copy of this message
sas Mon Aug 13 17:55:21 2001 EDT Modified files: /php4/sapi/thttpd thttpd_patch Log: improved thttpd-2.21b patch.. I got tired of applying my patches for these bugs. fixes poll(2) issue fixes hanging cgi issue fixes off-by-one in scanning input buffers in case of EAGAIN/EWOULDBLOCK fixes potential bug in managing write buffers add "index.php" to default files to look for Index: php4/sapi/thttpd/thttpd_patch diff -u php4/sapi/thttpd/thttpd_patch:1.9 php4/sapi/thttpd/thttpd_patch:1.10 --- php4/sapi/thttpd/thttpd_patch:1.9 Sun Apr 22 10:33:57 2001 +++ php4/sapi/thttpd/thttpd_patch Mon Aug 13 17:55:21 2001 @@ -1,6 +1,6 @@ -diff -ur thttpd-2.21/Makefile.in thttpd-2.21-p/Makefile.in ---- thttpd-2.21/Makefile.in Thu Mar 29 20:36:21 2001 -+++ thttpd-2.21-p/Makefile.in Sun Apr 22 15:59:42 2001 +diff -ur thttpd-2.21b-orig/Makefile.in thttpd-2.21b/Makefile.in +--- thttpd-2.21b-orig/Makefile.in Thu Mar 29 20:36:21 2001 ++++ thttpd-2.21b/Makefile.in Mon Aug 13 23:50:27 2001 @@ -46,13 +46,15 @@ # You shouldn't need to edit anything below here. @@ -38,9 +38,21 @@ tar: @name=sed -n -e '/SERVER_SOFTWARE/!d' -e 's,.*thttpd/,thttpd-,' -e 's, .*,,p' version.h ; \ -diff -ur thttpd-2.21/libhttpd.c thttpd-2.21-p/libhttpd.c ---- thttpd-2.21/libhttpd.c Sat Apr 21 02:11:32 2001 -+++ thttpd-2.21-p/libhttpd.c Sun Apr 22 16:01:41 2001 +diff -ur thttpd-2.21b-orig/config.h thttpd-2.21b/config.h +--- thttpd-2.21b-orig/config.h Mon Apr 9 23:57:36 2001 ++++ thttpd-2.21b/config.h Mon Aug 13 23:51:00 2001 +@@ -316,7 +316,7 @@ + /* CONFIGURE: A list of index filenames to check. The files are searched + ** for in this order. + */ +-#define INDEX_NAMES "index.html", "index.htm", "Default.htm", "index.cgi" ++#define INDEX_NAMES "index.php", "index.html", "index.htm", "Default.htm", "index.cgi" + + /* CONFIGURE: If this is defined then thttpd will automatically generate + ** index pages for directories that don't have an explicit index file. +diff -ur thttpd-2.21b-orig/libhttpd.c thttpd-2.21b/libhttpd.c +--- thttpd-2.21b-orig/libhttpd.c Tue Apr 24 00:42:40 2001 ++++ thttpd-2.21b/libhttpd.c Mon Aug 13 23:50:27 2001 @@ -85,6 +85,8 @@ #include "match.h" #include "tdate_parse.h" @@ -50,7 +62,7 @@ #ifndef STDIN_FILENO #define STDIN_FILENO 0 #endif -@@ -243,6 +245,8 @@ +@@ -242,6 +244,8 @@ free( (void*) hs->cwd ); if ( hs->cgi_pattern != (char*) 0 ) free( (void*) hs->cgi_pattern ); @@ -59,7 +71,7 @@ if ( hs->charset != (char*) 0 ) free( (void*) hs->charset ); if ( hs->url_pattern != (char*) 0 ) -@@ -250,6 +254,7 @@ +@@ -249,6 +253,7 @@ if ( hs->local_pattern != (char*) 0 ) free( (void*) hs->local_pattern ); free( (void*) hs ); @@ -67,7 +79,7 @@ } -@@ -313,6 +318,7 @@ +@@ -312,6 +317,7 @@ } hs->port = port; @@ -75,7 +87,7 @@ if ( cgi_pattern == (char*) 0 ) hs->cgi_pattern = (char*) 0; else -@@ -386,6 +392,8 @@ +@@ -385,6 +391,8 @@ return (httpd_server*) 0; } @@ -84,7 +96,7 @@ /* Done initializing. */ if ( hs->binding_hostname == (char*) 0 ) syslog( LOG_INFO, "%.80s starting on port %d", SERVER_SOFTWARE, hs->port ); -@@ -2336,7 +2344,10 @@ +@@ -2353,7 +2361,10 @@ { make_log_entry( hc, nowP ); @@ -96,7 +108,7 @@ { mmc_unmap( hc->file_address, &(hc->sb), nowP ); hc->file_address = (char*) 0; -@@ -3543,6 +3554,11 @@ +@@ -3560,6 +3571,11 @@ ( hc->sb.st_mode & S_IXOTH ) && match( hc->hs->cgi_pattern, hc->expnfilename ) ) return cgi( hc ); @@ -108,9 +120,10 @@ /* It's not CGI. If it's executable or there's pathinfo, someone's ** trying to either serve or run a non-CGI file as CGI. Either case -diff -ur thttpd-2.21/libhttpd.h thttpd-2.21-p/libhttpd.h ---- thttpd-2.21/libhttpd.h Fri Apr 13 07:37:17 2001 -+++ thttpd-2.21-p/libhttpd.h Sun Apr 22 15:59:42 2001 +Only in thttpd-2.21b: libhttpd.c~ +diff -ur thttpd-2.21b-orig/libhttpd.h thttpd-2.21b/libhttpd.h +--- thttpd-2.21b-orig/libhttpd.h Tue Apr 24 00:36:50 2001 ++++ thttpd-2.21b/libhttpd.h Mon Aug 13 23:50:27 2001 @@ -69,6 +69,7 @@ char* server_hostname; int port; @@ -119,10 +132,21 @@ char* charset; char* cwd; int listen4_fd, listen6_fd; -diff -ur thttpd-2.21/thttpd.c thttpd-2.21-p/thttpd.c ---- thttpd-2.21/thttpd.c Sun Apr 15 18:09:20 2001 -+++ thttpd-2.21-p/thttpd.c Sun Apr 22 15:59:42 2001 -@@ -1392,6 +1392,12 @@ +Only in thttpd-2.21b: thttpd-cgi-patch +Only in thttpd-2.21b: thttpd-poll-patch +diff -ur thttpd-2.21b-orig/thttpd.c thttpd-2.21b/thttpd.c +--- thttpd-2.21b-orig/thttpd.c Tue Apr 24 00:41:57 2001 ++++ thttpd-2.21b/thttpd.c Mon Aug 13 23:50:27 2001 +@@ -1333,7 +1333,7 @@ + clear_connection( c, tvP ); + return; + } +- hc->read_idx += sz; ++ if (sz > 0) hc->read_idx += sz; + + /* Do we have a complete request yet? */ + switch ( httpd_got_request( hc ) ) +@@ -1387,6 +1387,12 @@ clear_connection( c, tvP ); return; } @@ -135,3 +159,13 @@ if ( c->bytes_sent >= c->bytes_to_send ) { /* There's nothing to send. */ +@@ -1500,7 +1506,7 @@ + { + /* Yes; move the unwritten part to the front of the buffer. */ + int newlen = hc->responselen - sz; +- (void) memcpy( hc->response, &(hc->response[sz]), newlen ); ++ (void) memmove( hc->response, &(hc->response[sz]), newlen ); + hc->responselen = newlen; + sz = 0; + } +Only in thttpd-2.21b: thttpd.c~

« previous php.cvs (#6792) next »