diff options
Diffstat (limited to 'sapi/thttpd/thttpd_patch')
-rw-r--r-- | sapi/thttpd/thttpd_patch | 240 |
1 files changed, 0 insertions, 240 deletions
diff --git a/sapi/thttpd/thttpd_patch b/sapi/thttpd/thttpd_patch deleted file mode 100644 index fa6ae5ef6b..0000000000 --- a/sapi/thttpd/thttpd_patch +++ /dev/null @@ -1,240 +0,0 @@ -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. - -+include php_makefile -+ - CC = @CC@ - CCOPT = @V_CCOPT@ - DEFS = @DEFS@ - INCLS = -I. - CFLAGS = $(CCOPT) $(DEFS) $(INCLS) --LDFLAGS = @LDFLAGS@ --LIBS = @LIBS@ -+LDFLAGS = @LDFLAGS@ $(PHP_LDFLAGS) -+LIBS = @LIBS@ $(PHP_LIBS) - NETLIBS = @V_NETLIBS@ - INSTALL = @INSTALL@ - -@@ -62,7 +64,7 @@ - @rm -f $@ - $(CC) $(CFLAGS) -c $*.c - --SRC = thttpd.c libhttpd.c fdwatch.c mmc.c timers.c match.c tdate_parse.c syslog.c -+SRC = thttpd.c libhttpd.c fdwatch.c mmc.c timers.c match.c tdate_parse.c syslog.c php_thttpd.c - - OBJ = $(SRC:.c=.o) @LIBOBJS@ - -@@ -151,6 +153,9 @@ - - tags: - ctags -wtd *.c *.h -+ -+php_thttpd.o: php_thttpd.c -+ $(CC) $(PHP_CFLAGS) $(CFLAGS) -c php_thttpd.c - - tar: - @name=`sed -n -e '/SERVER_SOFTWARE/!d' -e 's,.*thttpd/,thttpd-,' -e 's, .*,,p' version.h` ; \ -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/fdwatch.c thttpd-2.21b/fdwatch.c ---- thttpd-2.21b-orig/fdwatch.c Fri Apr 13 07:36:08 2001 -+++ thttpd-2.21b/fdwatch.c Tue Aug 14 00:00:10 2001 -@@ -460,7 +460,7 @@ - - ridx = 0; - for ( i = 0; i < npollfds; ++i ) -- if ( pollfds[i].revents & ( POLLIN | POLLOUT ) ) -+ if ( pollfds[i].revents & ( POLLIN | POLLOUT | POLLERR | POLLHUP | POLLNVAL ) ) - poll_rfdidx[ridx++] = pollfds[i].fd; - - return r; -@@ -472,8 +472,8 @@ - { - switch ( fd_rw[fd] ) - { -- case FDW_READ: return pollfds[poll_fdidx[fd]].revents & POLLIN; -- case FDW_WRITE: return pollfds[poll_fdidx[fd]].revents & POLLOUT; -+ case FDW_READ: return pollfds[poll_fdidx[fd]].revents & ( POLLIN | POLLERR | POLLHUP | POLLNVAL ); -+ case FDW_WRITE: return pollfds[poll_fdidx[fd]].revents & ( POLLOUT | POLLERR | POLLHUP | POLLNVAL ); - default: return 0; - } - } -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 Tue Aug 14 00:00:07 2001 -@@ -85,6 +85,8 @@ - #include "match.h" - #include "tdate_parse.h" - -+#include "php_thttpd.h" -+ - #ifndef STDIN_FILENO - #define STDIN_FILENO 0 - #endif -@@ -242,6 +244,8 @@ - free( (void*) hs->cwd ); - if ( hs->cgi_pattern != (char*) 0 ) - free( (void*) hs->cgi_pattern ); -+ if ( hs->php_pattern != (char*) 0 ) -+ free( (void*) hs->php_pattern ); - if ( hs->charset != (char*) 0 ) - free( (void*) hs->charset ); - if ( hs->url_pattern != (char*) 0 ) -@@ -249,6 +253,7 @@ - if ( hs->local_pattern != (char*) 0 ) - free( (void*) hs->local_pattern ); - free( (void*) hs ); -+ thttpd_php_shutdown(); - } - - -@@ -312,6 +317,7 @@ - } - - hs->port = port; -+ hs->php_pattern = strdup("**.php"); - if ( cgi_pattern == (char*) 0 ) - hs->cgi_pattern = (char*) 0; - else -@@ -385,6 +391,8 @@ - return (httpd_server*) 0; - } - -+ thttpd_php_init(); -+ - /* Done initializing. */ - if ( hs->binding_hostname == (char*) 0 ) - syslog( LOG_INFO, "%.80s starting on port %d", SERVER_SOFTWARE, hs->port ); -@@ -2353,7 +2361,10 @@ - { - make_log_entry( hc, nowP ); - -- if ( hc->file_address != (char*) 0 ) -+ if ( hc->file_address == (char*) 1 ) -+ { -+ thttpd_closed_conn(hc->conn_fd); -+ } else if ( hc->file_address != (char*) 0 ) - { - mmc_unmap( hc->file_address, &(hc->sb), nowP ); - hc->file_address = (char*) 0; -@@ -3026,11 +3037,9 @@ - post_post_garbage_hack( httpd_conn* hc ) - { - char buf[2]; -- int r; - -- r = recv( hc->conn_fd, buf, sizeof(buf), MSG_PEEK ); -- if ( r > 0 ) -- (void) read( hc->conn_fd, buf, r ); -+ fcntl(hc->conn_fd, F_SETFL, O_NONBLOCK); -+ (void) read( hc->conn_fd, buf, 2 ); - } - - -@@ -3560,6 +3569,11 @@ - ( hc->sb.st_mode & S_IXOTH ) && - match( hc->hs->cgi_pattern, hc->expnfilename ) ) - return cgi( hc ); -+ -+ if ( hc->hs->php_pattern != (char*) 0 && -+ match( hc->hs->php_pattern, hc->expnfilename)) { -+ return thttpd_php_request( hc ); -+ } - - /* 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 -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; - char* cgi_pattern; -+ char* php_pattern; - char* charset; - char* cwd; - int listen4_fd, listen6_fd; -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; - } -+ if (hc->file_address == (char *) 1) { -+ tmr_cancel( c->idle_read_timer ); -+ c->idle_read_timer = (Timer*) 0; -+ c->wouldblock_delay = 0; -+ return; -+ } - 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; - } -diff -ur thttpd-2.21b-plain/mime_encodings.txt thttpd-2.21b/mime_encodings.txt ---- thttpd-2.21b-plain/mime_encodings.txt Wed May 10 03:22:28 2000 -+++ thttpd-2.21b/mime_encodings.txt Mon Dec 10 15:10:25 2001 -@@ -3,6 +3,6 @@ - # A list of file extensions followed by the corresponding MIME encoding. - # Extensions not found in the table proceed to the mime_types table. - --Z x-compress --gz x-gzip -+Z compress -+gz gzip - uu x-uuencode -diff -ur thttpd-2.21b-plain/libhttpd.c thttpd-2.21b/libhttpd.c ---- thttpd-2.21b-plain/libhttpd.c Tue Apr 24 00:42:40 2001 -+++ thttpd-2.21b/libhttpd.c Mon Dec 10 14:32:26 2001 -@@ -3611,14 +3611,18 @@ - } - else - { -+ char *extraheads = ""; - hc->file_address = mmc_map( hc->expnfilename, &(hc->sb), nowP ); - if ( hc->file_address == (char*) 0 ) - { - httpd_send_err( hc, 500, err500title, "", err500form, hc->encodedurl ); - return -1; - } -+ if (strncmp(hc->decodedurl, "/nocache/", sizeof("/nocache/")-1) == 0) -+ extraheads = "Expires: Thu, 19 Nov 1981 08:52:00 GMT\r\nCache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0\r\nPragma: no-cache\r\n"; -+ - send_mime( -- hc, 200, ok200title, hc->encodings, "", hc->type, hc->sb.st_size, -+ hc, 200, ok200title, hc->encodings, extraheads, hc->type, hc->sb.st_size, - hc->sb.st_mtime ); - } - |