packages: lighttpd/lighttpd-branch.diff - up to r2504 * Fix bug with Fast...

glen glen at pld-linux.org
Tue May 12 01:17:31 CEST 2009


Author: glen                         Date: Mon May 11 23:17:30 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- up to r2504
  * Fix bug with FastCGI request id overflow under high load; just use always id 1 as we don't use multiplexing. (thx jgray)
  * Add some dirlisting enhancements (fixes #1458)
  * Add option to enable TCP_DEFER_ACCEPT (fixes #1447)
  * Limit amount of bytes read for one read-event (fixes #1070)
  * Add evasive.silent option (fixes #1438)
  * Make mod_extforward headers configurable (fixes #1545)
  * Add '%_' pattern for complete hostname in mod_evhost (fixes #1737)
  * Add IPv6 support to mod_proxy (fixes #1537)
  * mod_ssi printenv: print cgi env, add environment vars to cgi env (fixes #1713)
  * Fix error message if no auth backend was set
  * Fix SERVER_NAME port stripping (fixes #1968)
  * Fix x-sendfile 2gb limiting (fixes #1970)
  * Fix mod_cgi environment keys mangling (fixes #1969)
  * Fix workaround for incorrect path info/scriptname if scgi prefix is "/" (fixes #729)
  * Fix max-age value in mod_expire for 'modification' (fixes #1978)

---- Files affected:
packages/lighttpd:
   lighttpd-branch.diff (1.50 -> 1.51) 

---- Diffs:

================================================================
Index: packages/lighttpd/lighttpd-branch.diff
diff -u packages/lighttpd/lighttpd-branch.diff:1.50 packages/lighttpd/lighttpd-branch.diff:1.51
--- packages/lighttpd/lighttpd-branch.diff:1.50	Thu Apr 16 23:52:57 2009
+++ packages/lighttpd/lighttpd-branch.diff	Tue May 12 01:17:25 2009
@@ -2,8 +2,8 @@
 ===================================================================
 Index: src/spawn-fcgi.c
 ===================================================================
---- src/spawn-fcgi.c	(.../tags/lighttpd-1.4.22)	(revision 2475)
-+++ src/spawn-fcgi.c	(.../branches/lighttpd-1.4.x)	(revision 2475)
+--- src/spawn-fcgi.c	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/spawn-fcgi.c	(.../branches/lighttpd-1.4.x)	(revision 2504)
 @@ -1,481 +0,0 @@
 -#include <sys/types.h>
 -#include <sys/time.h>
@@ -488,8 +488,8 @@
 -#endif
 Index: src/configfile-glue.c
 ===================================================================
---- src/configfile-glue.c	(.../tags/lighttpd-1.4.22)	(revision 2475)
-+++ src/configfile-glue.c	(.../branches/lighttpd-1.4.x)	(revision 2475)
+--- src/configfile-glue.c	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/configfile-glue.c	(.../branches/lighttpd-1.4.x)	(revision 2504)
 @@ -49,7 +49,7 @@
  						buffer_copy_string_buffer(ds->value, ((data_string *)(da->value->data[j]))->value);
  						if (!da->is_index_key) {
@@ -510,8 +510,8 @@
  #else
 Index: src/mod_cgi.c
 ===================================================================
---- src/mod_cgi.c	(.../tags/lighttpd-1.4.22)	(revision 2475)
-+++ src/mod_cgi.c	(.../branches/lighttpd-1.4.x)	(revision 2475)
+--- src/mod_cgi.c	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/mod_cgi.c	(.../branches/lighttpd-1.4.x)	(revision 2504)
 @@ -24,6 +24,7 @@
  #include <fcntl.h>
  
@@ -529,6 +529,21 @@
  enum {EOL_UNSET, EOL_N, EOL_RN};
  
  typedef struct {
+@@ -696,11 +699,11 @@
+ 
+ 	if (!key || !val) return -1;
+ 
+-	dst = malloc(key_len + val_len + 3);
++	dst = malloc(key_len + val_len + 2);
+ 	memcpy(dst, key, key_len);
+ 	dst[key_len] = '=';
+-	/* add the \0 from the value */
+-	memcpy(dst + key_len + 1, val, val_len + 1);
++	memcpy(dst + key_len + 1, val, val_len);
++	dst[key_len + 1 + val_len] = '\0';
+ 
+ 	if (env->size == 0) {
+ 		env->size = 16;
 @@ -776,25 +779,23 @@
  		/* not needed */
  		close(to_cgi_fds[1]);
@@ -565,7 +580,26 @@
  		} else {
  #ifdef HAVE_IPV6
  			s = inet_ntop(srv_sock->addr.plain.sa_family,
-@@ -1203,6 +1204,7 @@
+@@ -972,9 +973,15 @@
+ 				buffer_prepare_append(p->tmp_buf, ds->key->used + 2);
+ 
+ 				for (j = 0; j < ds->key->used - 1; j++) {
+-					p->tmp_buf->ptr[p->tmp_buf->used++] =
+-						light_isalnum((unsigned char)ds->key->ptr[j]) ?
+-						toupper((unsigned char)ds->key->ptr[j]) : '_';
++					char cr = '_';
++					if (light_isalpha(ds->key->ptr[j])) {
++						/* upper-case */
++						cr = ds->key->ptr[j] & ~32;
++					} else if (light_isdigit(ds->key->ptr[j])) {
++						/* copy */
++						cr = ds->key->ptr[j];
++					}
++					p->tmp_buf->ptr[p->tmp_buf->used++] = cr;
+ 				}
+ 				p->tmp_buf->ptr[p->tmp_buf->used++] = '\0';
+ 
+@@ -1203,6 +1210,7 @@
  	size_t k, s_len;
  	plugin_data *p = p_d;
  	buffer *fn = con->physical.path;
@@ -573,7 +607,7 @@
  
  	if (con->mode != DIRECT) return HANDLER_GO_ON;
  
-@@ -1210,6 +1212,9 @@
+@@ -1210,6 +1218,9 @@
  
  	mod_cgi_patch_connection(srv, con, p);
  
@@ -583,7 +617,7 @@
  	s_len = fn->used - 1;
  
  	for (k = 0; k < p->conf.cgi->used; k++) {
-@@ -1369,6 +1374,7 @@
+@@ -1369,6 +1380,7 @@
  }
  
  
@@ -593,8 +627,8 @@
  	p->name        = buffer_init_string("cgi");
 Index: src/mod_cml.c
 ===================================================================
---- src/mod_cml.c	(.../tags/lighttpd-1.4.22)	(revision 2475)
-+++ src/mod_cml.c	(.../branches/lighttpd-1.4.x)	(revision 2475)
+--- src/mod_cml.c	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/mod_cml.c	(.../branches/lighttpd-1.4.x)	(revision 2504)
 @@ -178,7 +178,7 @@
  }
  #undef PATCH
@@ -614,8 +648,8 @@
  	p->name        = buffer_init_string("cache");
 Index: src/mod_secure_download.c
 ===================================================================
---- src/mod_secure_download.c	(.../tags/lighttpd-1.4.22)	(revision 2475)
-+++ src/mod_secure_download.c	(.../branches/lighttpd-1.4.x)	(revision 2475)
+--- src/mod_secure_download.c	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/mod_secure_download.c	(.../branches/lighttpd-1.4.x)	(revision 2504)
 @@ -138,7 +138,7 @@
   * @return if the supplied string is a valid MD5 string 1 is returned otherwise 0
   */
@@ -635,8 +669,8 @@
  	p->name        = buffer_init_string("secdownload");
 Index: src/base.h
 ===================================================================
---- src/base.h	(.../tags/lighttpd-1.4.22)	(revision 2475)
-+++ src/base.h	(.../branches/lighttpd-1.4.x)	(revision 2475)
+--- src/base.h	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/base.h	(.../branches/lighttpd-1.4.x)	(revision 2504)
 @@ -183,11 +183,15 @@
  } response;
  
@@ -656,7 +690,15 @@
  } request_uri;
  
  typedef struct {
-@@ -533,7 +537,7 @@
+@@ -270,6 +274,7 @@
+ 	unsigned short ssl_use_sslv2;
+ 
+ 	unsigned short use_ipv6;
++	unsigned short defer_accept;
+ 	unsigned short is_ssl;
+ 	unsigned short allow_http11;
+ 	unsigned short etag_use_inode;
+@@ -533,7 +538,7 @@
  
  	/* the errorlog */
  	int errorlog_fd;
@@ -667,8 +709,8 @@
  	fdevents *ev, *ev_ins;
 Index: src/mod_rewrite.c
 ===================================================================
---- src/mod_rewrite.c	(.../tags/lighttpd-1.4.22)	(revision 2475)
-+++ src/mod_rewrite.c	(.../branches/lighttpd-1.4.x)	(revision 2475)
+--- src/mod_rewrite.c	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/mod_rewrite.c	(.../branches/lighttpd-1.4.x)	(revision 2504)
 @@ -63,7 +63,7 @@
  	free(hctx);
  }
@@ -706,9 +748,39 @@
  	p->name        = buffer_init_string("rewrite");
 Index: src/connections.c
 ===================================================================
---- src/connections.c	(.../tags/lighttpd-1.4.22)	(revision 2475)
-+++ src/connections.c	(.../branches/lighttpd-1.4.x)	(revision 2475)
-@@ -858,7 +858,7 @@
+--- src/connections.c	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/connections.c	(.../branches/lighttpd-1.4.x)	(revision 2504)
+@@ -192,7 +192,7 @@
+ 
+ static int connection_handle_read_ssl(server *srv, connection *con) {
+ #ifdef USE_OPENSSL
+-	int r, ssl_err, len;
++	int r, ssl_err, len, count = 0;
+ 	buffer *b = NULL;
+ 
+ 	if (!con->conf.is_ssl) return -1;
+@@ -221,10 +221,11 @@
+ 		       	/* we move the buffer to the chunk-queue, no need to free it */
+ 
+ 			chunkqueue_append_buffer_weak(con->read_queue, b);
++			count += len;
+ 			con->bytes_read += len;
+ 			b = NULL;
+ 		}
+-	} while (len > 0);
++	} while (len > 0 && count < MAX_READ_LIMIT);
+ 
+ 
+ 	if (len < 0) {
+@@ -334,6 +335,7 @@
+ 		b = chunkqueue_get_append_buffer(con->read_queue);
+ 		buffer_prepare_copy(b, 4 * 1024);
+ 	} else {
++		if (toread > MAX_READ_LIMIT) toread = MAX_READ_LIMIT;
+ 		b = chunkqueue_get_append_buffer(con->read_queue);
+ 		buffer_prepare_copy(b, toread + 1);
+ 	}
+@@ -858,7 +860,7 @@
   *
   * we get called by the state-engine and by the fdevent-handler
   */
@@ -717,7 +789,7 @@
  	connection_state_t ostate = con->state;
  	chunk *c, *last_chunk;
  	off_t last_offset;
-@@ -1156,7 +1156,7 @@
+@@ -1156,7 +1158,7 @@
  	return 0;
  }
  
@@ -728,8 +800,8 @@
  
 Index: src/mod_staticfile.c
 ===================================================================
---- src/mod_staticfile.c	(.../tags/lighttpd-1.4.22)	(revision 2475)
-+++ src/mod_staticfile.c	(.../branches/lighttpd-1.4.x)	(revision 2475)
+--- src/mod_staticfile.c	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/mod_staticfile.c	(.../branches/lighttpd-1.4.x)	(revision 2504)
 @@ -532,6 +532,7 @@
  
  /* this function is called at dlopen() time and inits the callbacks */
@@ -740,8 +812,8 @@
  	p->name        = buffer_init_string("staticfile");
 Index: src/mod_alias.c
 ===================================================================
---- src/mod_alias.c	(.../tags/lighttpd-1.4.22)	(revision 2475)
-+++ src/mod_alias.c	(.../branches/lighttpd-1.4.x)	(revision 2475)
+--- src/mod_alias.c	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/mod_alias.c	(.../branches/lighttpd-1.4.x)	(revision 2504)
 @@ -187,6 +187,7 @@
  
  /* this function is called at dlopen() time and inits the callbacks */
@@ -752,8 +824,8 @@
  	p->name        = buffer_init_string("alias");
 Index: src/network.c
 ===================================================================
---- src/network.c	(.../tags/lighttpd-1.4.22)	(revision 2475)
-+++ src/network.c	(.../branches/lighttpd-1.4.x)	(revision 2475)
+--- src/network.c	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/network.c	(.../branches/lighttpd-1.4.x)	(revision 2504)
 @@ -26,7 +26,7 @@
  # include <openssl/rand.h>
  #endif
@@ -772,10 +844,71 @@
  	int val;
  	socklen_t addr_len;
  	server_socket *srv_socket;
+@@ -73,10 +73,6 @@
+ 	int is_unix_domain_socket = 0;
+ 	int fd;
+ 
+-#ifdef SO_ACCEPTFILTER
+-	struct accept_filter_arg afa;
+-#endif
+-
+ #ifdef __WIN32
+ 	WORD wVersionRequested;
+ 	WSADATA wsaData;
+@@ -396,12 +392,17 @@
+ 
+ 		return -1;
+ #endif
++#ifdef TCP_DEFER_ACCEPT
++	} else if (s->defer_accept) {
++		int v = s->defer_accept;
++		if (-1 == setsockopt(srv_socket->fd, IPPROTO_TCP, TCP_DEFER_ACCEPT, &v, sizeof(v))) {
++			log_error_write(srv, __FILE__, __LINE__, "ss", "can't set TCP_DEFER_ACCEPT: ", strerror(errno));
++		}
++#endif
+ 	} else {
+ #ifdef SO_ACCEPTFILTER
+-		/*
+-		 * FreeBSD accf_http filter
+-		 *
+-		 */
++		/* FreeBSD accf_http filter */
++		struct accept_filter_arg afa;
+ 		memset(&afa, 0, sizeof(afa));
+ 		strcpy(afa.af_name, "httpready");
+ 		if (setsockopt(srv_socket->fd, SOL_SOCKET, SO_ACCEPTFILTER, &afa, sizeof(afa)) < 0) {
+Index: src/configfile.c
+===================================================================
+--- src/configfile.c	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/configfile.c	(.../branches/lighttpd-1.4.x)	(revision 2504)
+@@ -96,6 +96,7 @@
+ 		{ "etag.use-size",               NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_SERVER }, /* 51 */
+ 		{ "server.reject-expect-100-with-417",  NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_SERVER }, /* 52 */
+ 		{ "debug.log-timeouts",          NULL, T_CONFIG_BOOLEAN, T_CONFIG_SCOPE_CONNECTION }, /* 53 */
++		{ "server.defer-accept",         NULL, T_CONFIG_SHORT, T_CONFIG_SCOPE_CONNECTION },     /* 54 */
+ 		{ "server.host",                 "use server.bind instead", T_CONFIG_DEPRECATED, T_CONFIG_SCOPE_UNSET },
+ 		{ "server.docroot",              "use server.document-root instead", T_CONFIG_DEPRECATED, T_CONFIG_SCOPE_UNSET },
+ 		{ "server.virtual-root",         "load mod_simple_vhost and use simple-vhost.server-root instead", T_CONFIG_DEPRECATED, T_CONFIG_SCOPE_UNSET },
+@@ -164,6 +165,7 @@
+ 		s->is_ssl        = 0;
+ 		s->ssl_use_sslv2 = 0;
+ 		s->use_ipv6      = 0;
++		s->defer_accept  = 0;
+ #ifdef HAVE_LSTAT
+ 		s->follow_symlink = 1;
+ #endif
+@@ -182,6 +184,7 @@
+ 
+ 		cv[7].destination = s->server_tag;
+ 		cv[8].destination = &(s->use_ipv6);
++		cv[54].destination = &(s->defer_accept);
+ 
+ 
+ 		/* 13 max-worker */
 Index: src/mod_trigger_b4_dl.c
 ===================================================================
---- src/mod_trigger_b4_dl.c	(.../tags/lighttpd-1.4.22)	(revision 2475)
-+++ src/mod_trigger_b4_dl.c	(.../branches/lighttpd-1.4.x)	(revision 2475)
+--- src/mod_trigger_b4_dl.c	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/mod_trigger_b4_dl.c	(.../branches/lighttpd-1.4.x)	(revision 2504)
 @@ -576,6 +576,7 @@
  
  /* this function is called at dlopen() time and inits the callbacks */
@@ -786,9 +919,51 @@
  	p->name        = buffer_init_string("trigger_b4_dl");
 Index: src/mod_evhost.c
 ===================================================================
---- src/mod_evhost.c	(.../tags/lighttpd-1.4.22)	(revision 2475)
-+++ src/mod_evhost.c	(.../branches/lighttpd-1.4.x)	(revision 2475)
-@@ -318,6 +318,7 @@
+--- src/mod_evhost.c	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/mod_evhost.c	(.../branches/lighttpd-1.4.x)	(revision 2504)
+@@ -115,6 +115,7 @@
+ 	 * # %2 => domain name without tld
+ 	 * # %3 => subdomain 1 name
+ 	 * # %4 => subdomain 2 name
++	 * # %_ => fqdn (without port info)
+ 	 * #
+ 	 * evhost.path-pattern = "/home/ckruse/dev/www/%3/htdocs/"
+ 	 *
+@@ -154,11 +155,12 @@
+ }
+ 
+ /**
+- * assign the different parts of the domain to array-indezes
+- * - %0 - full hostname (authority w/o port)
++ * assign the different parts of the domain to array-indezes (sub2.sub1.domain.tld)
++ * - %0 - domain.tld
+  * - %1 - tld
+- * - %2 - domain.tld
+- * - %3 -
++ * - %2 - domain
++ * - %3 - sub1
++ * - ...
+  */
+ 
+ static int mod_evhost_parse_host(connection *con,array *host) {
+@@ -287,6 +289,16 @@
+ 			if (*(ptr+1) == '%') {
+ 				/* %% */
+ 				buffer_append_string_len(p->tmp_buf,CONST_STR_LEN("%"));
++			} else if (*(ptr+1) == '_' ) {
++				/* %_ == full hostname */
++				char *colon = strchr(con->uri.authority->ptr, ':');
++
++				if(colon == NULL) {
++					buffer_append_string_buffer(p->tmp_buf, con->uri.authority); // adds fqdn
++				} else {
++					/* strip the port out of the authority-part of the URI scheme */
++					buffer_append_string_len(p->tmp_buf, con->uri.authority->ptr, colon - con->uri.authority->ptr); // adds fqdn
++				}
+ 			} else if (NULL != (ds = (data_string *)array_get_element(parsed_host,p->conf.path_pieces[i]->ptr))) {
+ 				if (ds->value->used) {
+ 					buffer_append_string_buffer(p->tmp_buf,ds->value);
+@@ -318,6 +330,7 @@
  	return HANDLER_GO_ON;
  }
  
@@ -798,8 +973,8 @@
  	p->name                    = buffer_init_string("evhost");
 Index: src/splaytree.c
 ===================================================================
---- src/splaytree.c	(.../tags/lighttpd-1.4.22)	(revision 2475)
-+++ src/splaytree.c	(.../branches/lighttpd-1.4.x)	(revision 2475)
+--- src/splaytree.c	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/splaytree.c	(.../branches/lighttpd-1.4.x)	(revision 2504)
 @@ -187,7 +187,8 @@
      }
  }
@@ -817,10 +992,171 @@
 -
 -
 +#endif
+Index: src/lemon.c
+===================================================================
+--- src/lemon.c	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/lemon.c	(.../branches/lighttpd-1.4.x)	(revision 2504)
+@@ -31,6 +31,7 @@
+ extern void free();
+ extern int access();
+ extern int atoi();
++extern char *getenv();
+ 
+ #ifndef __WIN32__
+ #   if defined(_WIN32) || defined(WIN32)
+@@ -39,7 +40,7 @@
+ #endif
+ 
+ /* #define PRIVATE static */
+-#define PRIVATE
++#define PRIVATE static
+ 
+ #ifdef TEST
+ #define MAXRHS 5       /* Set low to exercise exception code */
+@@ -50,6 +51,8 @@
+ char *msort();
+ extern void *malloc();
+ 
++extern void memory_error();
++
+ /******** From the file "action.h" *************************************/
+ struct action *Action_new();
+ struct action *Action_sort();
+@@ -291,7 +294,6 @@
+ };
+ 
+ #define MemoryCheck(X) if((X)==0){ \
+-  extern void memory_error(); \
+   memory_error(); \
+ }
+ 
+@@ -445,14 +447,16 @@
+ #define acttab_yylookahead(X,N)  ((X)->aAction[N].lookahead)
+ 
+ /* Free all memory associated with the given acttab */
+-void acttab_free(acttab *p){
++/*
++PRIVATE void acttab_free(acttab *p){
+   free( p->aAction );
+   free( p->aLookahead );
+   free( p );
+ }
++*/
+ 
+ /* Allocate a new acttab structure */
+-acttab *acttab_alloc(void){
++PRIVATE acttab *acttab_alloc(void){
+   acttab *p = malloc( sizeof(*p) );
+   if( p==0 ){
+     fprintf(stderr,"Unable to allocate memory for a new acttab.");
+@@ -464,7 +468,7 @@
+ 
+ /* Add a new action to the current transaction set
+ */
+-void acttab_action(acttab *p, int lookahead, int action){
++PRIVATE void acttab_action(acttab *p, int lookahead, int action){
+   if( p->nLookahead>=p->nLookaheadAlloc ){
+     p->nLookaheadAlloc += 25;
+     p->aLookahead = realloc( p->aLookahead,
+@@ -497,7 +501,7 @@
+ **
+ ** Return the offset into the action table of the new transaction.
+ */
+-int acttab_insert(acttab *p){
++PRIVATE int acttab_insert(acttab *p){
+   int i, j, k, n;
+   assert( p->nLookahead>0 );
+ 
+@@ -2603,7 +2607,7 @@
+   }
+ }
+ 
+-void ConfigPrint(fp,cfp)
++PRIVATE void ConfigPrint(fp,cfp)
+ FILE *fp;
+ struct config *cfp;
+ {
+@@ -2640,7 +2644,7 @@
+ }
+ 
+ /* Print a plink chain */
+-PRIVATE void PlinkPrint(out,plp,tag)
++void PlinkPrint(out,plp,tag)
+ FILE *out;
+ struct plink *plp;
+ char *tag;
+@@ -2657,7 +2661,7 @@
+ /* Print an action to the given file descriptor.  Return FALSE if
+ ** nothing was actually printed.
+ */
+-int PrintAction(struct action *ap, FILE *fp, int indent){
++PRIVATE int PrintAction(struct action *ap, FILE *fp, int indent){
+   int result = 1;
+   switch( ap->type ){
+     case SHIFT:
+@@ -2731,6 +2735,7 @@
+   return;
+ }
+ 
++  extern int access();
+ /* Search for the file "name" which is in the same directory as
+ ** the exacutable */
+ PRIVATE char *pathsearch(argv0,name,modemask)
+@@ -2741,7 +2746,6 @@
+   char *pathlist;
+   char *path,*cp;
+   char c;
+-  extern int access();
+ 
+ #ifdef __WIN32__
+   cp = strrchr(argv0,'\\');
+@@ -2755,7 +2759,6 @@
+     if( path ) sprintf(path,"%s/%s",argv0,name);
+     *cp = c;
+   }else{
+-    extern char *getenv();
+     pathlist = getenv("PATH");
+     if( pathlist==0 ) pathlist = ".:/bin:/usr/bin";
+     path = (char *)malloc( strlen(pathlist)+strlen(name)+2 );
+@@ -2894,7 +2897,7 @@
+ ** The following routine emits code for the destructor for the
+ ** symbol sp
+ */
+-void emit_destructor_code(out,sp,lemp,lineno)
++PRIVATE void emit_destructor_code(out,sp,lemp,lineno)
+ FILE *out;
+ struct symbol *sp;
+ struct lemon *lemp;
+@@ -2932,7 +2935,7 @@
+ /*
+ ** Return TRUE (non-zero) if the given symbol has a destructor.
+ */
+-int has_destructor(sp, lemp)
++PRIVATE int has_destructor(sp, lemp)
+ struct symbol *sp;
+ struct lemon *lemp;
+ {
+@@ -3033,7 +3036,7 @@
+ ** union, also set the ".dtnum" field of every terminal and nonterminal
+ ** symbol.
+ */
+-void print_stack_union(out,lemp,plineno,mhflag)
++PRIVATE void print_stack_union(out,lemp,plineno,mhflag)
+ FILE *out;                  /* The output stream */
+ struct lemon *lemp;         /* The main info structure for this parser */
+ int *plineno;               /* Pointer to the line number */
+@@ -3684,7 +3687,6 @@
+   int i;
+   s = (char*)malloc( global_size );
+   if( s==0 ){
+-    extern void memory_error();
+     memory_error();
+   }
+   for(i=0; i<global_size; i++) s[i] = 0;
 Index: src/chunk.h
 ===================================================================
---- src/chunk.h	(.../tags/lighttpd-1.4.22)	(revision 2475)
-+++ src/chunk.h	(.../branches/lighttpd-1.4.x)	(revision 2475)
+--- src/chunk.h	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/chunk.h	(.../branches/lighttpd-1.4.x)	(revision 2504)
 @@ -3,6 +3,7 @@
  
  #include "buffer.h"
@@ -831,8 +1167,8 @@
  	enum { UNUSED_CHUNK, MEM_CHUNK, FILE_CHUNK } type;
 Index: src/etag.c
 ===================================================================
---- src/etag.c	(.../tags/lighttpd-1.4.22)	(revision 2475)
-+++ src/etag.c	(.../branches/lighttpd-1.4.x)	(revision 2475)
+--- src/etag.c	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/etag.c	(.../branches/lighttpd-1.4.x)	(revision 2504)
 @@ -44,7 +44,7 @@
  	size_t i;
  	uint32_t h;
@@ -844,8 +1180,8 @@
  	buffer_copy_string_len(mut, CONST_STR_LEN("\""));
 Index: src/mod_scgi.c
 ===================================================================
---- src/mod_scgi.c	(.../tags/lighttpd-1.4.22)	(revision 2475)
-+++ src/mod_scgi.c	(.../branches/lighttpd-1.4.x)	(revision 2475)
+--- src/mod_scgi.c	(.../tags/lighttpd-1.4.22)	(revision 2504)
++++ src/mod_scgi.c	(.../branches/lighttpd-1.4.x)	(revision 2504)
 @@ -38,6 +38,8 @@
  #include <sys/wait.h>
  #endif
@@ -927,7 +1263,22 @@
  	plugin_data *p;
  	connection  *con;
  
-@@ -1461,10 +1463,18 @@
+@@ -1281,10 +1283,11 @@
+ 
+ 	buffer_prepare_append(env, len);
+ 
<<Diff was trimmed, longer than 597 lines>>

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/lighttpd/lighttpd-branch.diff?r1=1.50&r2=1.51&f=u



More information about the pld-cvs-commit mailing list