summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Walker <ka0ttic@gentoo.org>2005-09-29 17:29:28 +0000
committerAaron Walker <ka0ttic@gentoo.org>2005-09-29 17:29:28 +0000
commit53536a16e821351ac69954c06c3f414f5a456cf1 (patch)
tree3c73bd350ea4fa8ddf8813524b4e467b074db29d /www-servers/lighttpd
parentStable on sparc wrt #106105 (diff)
downloadgentoo-2-53536a16e821351ac69954c06c3f414f5a456cf1.tar.gz
gentoo-2-53536a16e821351ac69954c06c3f414f5a456cf1.tar.bz2
gentoo-2-53536a16e821351ac69954c06c3f414f5a456cf1.zip
Revision bump; more upstream fixes.
(Portage version: 2.0.52-r1)
Diffstat (limited to 'www-servers/lighttpd')
-rw-r--r--www-servers/lighttpd/ChangeLog15
-rw-r--r--www-servers/lighttpd/Manifest23
-rw-r--r--www-servers/lighttpd/files/1.4.4/07_all_r726-sce-set-if-HANDLER_GO_ON.diff269
-rw-r--r--www-servers/lighttpd/files/1.4.4/08_all_r727-fix-another-error-msg-segv.diff14
-rw-r--r--www-servers/lighttpd/files/1.4.4/09_all_r728-handle-written-correctly.diff128
-rw-r--r--www-servers/lighttpd/files/1.4.4/10_all_r729-display-content_ndx.diff24
-rw-r--r--www-servers/lighttpd/files/1.4.4/11_all_r732-dont-starve-waiting-conns.diff27
-rw-r--r--www-servers/lighttpd/files/1.4.4/12_all_r736-fix-max-request-size.diff91
-rw-r--r--www-servers/lighttpd/files/1.4.4/13_all_r745-fix-64bit-crc32.diff33
-rw-r--r--www-servers/lighttpd/files/digest-lighttpd-1.4.4-r2 (renamed from www-servers/lighttpd/files/digest-lighttpd-1.4.4-r1)0
-rw-r--r--www-servers/lighttpd/lighttpd-1.4.4-r2.ebuild (renamed from www-servers/lighttpd/lighttpd-1.4.4-r1.ebuild)2
11 files changed, 611 insertions, 15 deletions
diff --git a/www-servers/lighttpd/ChangeLog b/www-servers/lighttpd/ChangeLog
index 8dc13c798a5a..f9e419cf0cc1 100644
--- a/www-servers/lighttpd/ChangeLog
+++ b/www-servers/lighttpd/ChangeLog
@@ -1,6 +1,19 @@
# ChangeLog for www-servers/lighttpd
# Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-servers/lighttpd/ChangeLog,v 1.47 2005/09/22 09:39:30 ka0ttic Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-servers/lighttpd/ChangeLog,v 1.48 2005/09/29 17:29:27 ka0ttic Exp $
+
+*lighttpd-1.4.4-r2 (29 Sep 2005)
+
+ 29 Sep 2005; Aaron Walker <ka0ttic@gentoo.org>
+ +files/1.4.4/07_all_r726-sce-set-if-HANDLER_GO_ON.diff,
+ +files/1.4.4/09_all_r728-handle-written-correctly.diff,
+ +files/1.4.4/11_all_r732-dont-starve-waiting-conns.diff,
+ +files/1.4.4/13_all_r745-fix-64bit-crc32.diff,
+ +files/1.4.4/08_all_r727-fix-another-error-msg-segv.diff,
+ +files/1.4.4/10_all_r729-display-content_ndx.diff,
+ +files/1.4.4/12_all_r736-fix-max-request-size.diff,
+ -lighttpd-1.4.4-r1.ebuild, +lighttpd-1.4.4-r2.ebuild:
+ Revision bump; more upstream fixes.
22 Sep 2005; Aaron Walker <ka0ttic@gentoo.org>
-files/1.4.3/01_all_r716-fix-remoteip-cache-keepalive.diff,
diff --git a/www-servers/lighttpd/Manifest b/www-servers/lighttpd/Manifest
index 64472b62eede..695db80367d1 100644
--- a/www-servers/lighttpd/Manifest
+++ b/www-servers/lighttpd/Manifest
@@ -1,11 +1,8 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
MD5 15468c1601f8061e5ad2d5f62b39b964 lighttpd-1.4.3.ebuild 5143
-MD5 7cfdb1530a50feb5e61c8ccbf42edea0 lighttpd-1.4.4-r1.ebuild 5141
MD5 5aaaf3e31839a20fb69fc5526e69d849 lighttpd-1.3.16.ebuild 2547
MD5 49ded22216ffc6092d1a1e04a6e420c1 lighttpd-1.3.13-r3.ebuild 2607
-MD5 4d8249640a07c0685033fbe781ac456b ChangeLog 14914
+MD5 b4e919b0c10a06728b82270c1cff5824 lighttpd-1.4.4-r2.ebuild 5138
+MD5 c895f20cd81087c0fcafe4ccbf23d502 ChangeLog 15483
MD5 6a9d4814404d8d51327e5b8306ee3d7e metadata.xml 726
MD5 1d925aed297ec4541fb230dd19e11bc1 files/spawn-fcgi.confd 1076
MD5 f984dc26b2bc491272d302ab453f6e6b files/lighttpd-1.3.13-ldap-binddn.diff 3863
@@ -20,7 +17,7 @@ MD5 5eb378dcd8905a09175df3e48953100c files/lighttpd-1.3.13-zope-deserves-lovins-
MD5 8e76b9feaedbf0286936be381bc5ffac files/lighttpd.initd 1000
MD5 8f9c2d7a51a85b60ef1a6da355083fd0 files/digest-lighttpd-1.4.3 66
MD5 0c57eeef1963af5add8b9608e0bc0d0f files/lighttpd-1.3.13-no-mysql-means-no-mysql.diff 1456
-MD5 10ee947ef00d754e74198ff482c0527d files/digest-lighttpd-1.4.4-r1 66
+MD5 10ee947ef00d754e74198ff482c0527d files/digest-lighttpd-1.4.4-r2 66
MD5 44374d14af9b69b8f60f8d73f14c848d files/lighttpd-1.3.13-pam-name.diff 564
MD5 210f81ad7867965b19993d0a4d8d54e7 files/lighttpd.logrotate 488
MD5 9c1407e95f62ed22da66c4ef5f69c3b5 files/conf/mod_cgi.conf 869
@@ -28,15 +25,15 @@ MD5 df5b2360ea380d988bf16905ab214286 files/conf/lighttpd.conf 8182
MD5 b4c80dba9c626d5f89d3c3797ac6670c files/conf/mod_fastcgi.conf 661
MD5 fef397e7bcf1b741dea211a555e1803c files/conf/mime-types.conf 3291
MD5 3d3f73f5f3046cc609c2178424175a7a files/1.4.4/01_all_r716-fix-remoteip-cache-keepalive.diff 2902
+MD5 dec389763586af8f48bf671c92eb1c78 files/1.4.4/10_all_r729-display-content_ndx.diff 1035
MD5 4aa695a0125bbde51ec234f3494b7364 files/1.4.4/05_all_r724-fix-error-msg-segv.diff 616
MD5 8cb5ff1a3717873bf349a10cf5011af3 files/1.4.4/06_all_r725-fix-NULL-dereference.diff 332
+MD5 f924a986a483d7ce28f9484f18cd7770 files/1.4.4/07_all_r726-sce-set-if-HANDLER_GO_ON.diff 7020
MD5 9edac090a187f3a1862f2277787df479 files/1.4.4/03_all_r722-fix-no-global-mysql-segv.diff 613
+MD5 9df7b7a076aea655916dbc179c2dbdca files/1.4.4/11_all_r732-dont-starve-waiting-conns.diff 866
+MD5 9b828b071da2581ae9b70b95cb7bb366 files/1.4.4/08_all_r727-fix-another-error-msg-segv.diff 678
+MD5 87ec2164d60e46b1893b972667724387 files/1.4.4/09_all_r728-handle-written-correctly.diff 3776
+MD5 68c835a600101e9be7bea9d49e3e22e9 files/1.4.4/12_all_r736-fix-max-request-size.diff 3005
MD5 bb6d7e474027bfabdfcdfff3549498ae files/1.4.4/02_all_r721-add-case-302.diff 358
+MD5 79a9523d859fff7af5021850a7352a1e files/1.4.4/13_all_r745-fix-64bit-crc32.diff 829
MD5 14fefc136222d1747894ce7f7e36c5ee files/1.4.4/04_all_r723-fix-mod_ssi-inf-loop.diff 1407
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.2 (GNU/Linux)
-
-iD8DBQFDMnwKEZCkKN40op4RApShAKCJRa1yWRu0pnRXRWgcdYRYgZVlGACdHehJ
-2R0/RtZbndPTlOIluCX7R/A=
-=WKPn
------END PGP SIGNATURE-----
diff --git a/www-servers/lighttpd/files/1.4.4/07_all_r726-sce-set-if-HANDLER_GO_ON.diff b/www-servers/lighttpd/files/1.4.4/07_all_r726-sce-set-if-HANDLER_GO_ON.diff
new file mode 100644
index 000000000000..872fa036a833
--- /dev/null
+++ b/www-servers/lighttpd/files/1.4.4/07_all_r726-sce-set-if-HANDLER_GO_ON.diff
@@ -0,0 +1,269 @@
+diff --exclude='*~' --exclude='.*' -I '$Id:' -urN lighttpd-1.4.4.orig/src/stat_cache.c lighttpd-1.4.4/src/stat_cache.c
+--- lighttpd-1.4.4.orig/src/stat_cache.c 2005-09-27 00:54:27.000000000 -0400
++++ lighttpd-1.4.4/src/stat_cache.c 2005-09-27 00:54:44.000000000 -0400
+@@ -179,7 +179,6 @@
+ while (sc->files) {
+ int osize;
+ splay_tree *node = sc->files;
+- stat_cache_entry *sce = node->data;
+
+ osize = sc->files->size;
+
+@@ -252,8 +251,7 @@
+ stat_cache *sc = srv->stat_cache;
+ size_t events;
+
+-
+- UNUSED(revent);
++ UNUSED(_fce);
+ /* */
+
+ if ((revent & FDEVENT_IN) &&
+@@ -355,7 +353,10 @@
+ stat_cache_entry *sce = NULL;
+ stat_cache *sc;
+ struct stat st;
++ size_t k;
++#ifdef DEBUG_STAT_CACHE
+ size_t i;
++#endif
+
+ int file_ndx;
+ splay_tree *file_node = NULL;
+@@ -456,125 +457,121 @@
+ return HANDLER_ERROR;
+ }
+
+-
+- if (S_ISREG(st.st_mode) || S_ISDIR(st.st_mode)) {
+- size_t k;
+-
+- if (S_ISREG(st.st_mode)) {
+- int fd;
+- /* see if we can open the file for reading */
+- if (-1 == (fd = open(name->ptr, O_RDONLY))) {
+- return HANDLER_ERROR;
+- }
+- close(fd);
++ if (S_ISREG(st.st_mode)) {
++ int fd;
++ /* see if we can open the file for reading */
++ if (-1 == (fd = open(name->ptr, O_RDONLY))) {
++ return HANDLER_ERROR;
+ }
++ close(fd);
++ }
+
+- if (NULL == sce) {
+- int osize = 0;
++ if (NULL == sce) {
++ int osize = 0;
+
+- if (sc->files) {
+- osize = sc->files->size;
+- }
++ if (sc->files) {
++ osize = sc->files->size;
++ }
+
+- sce = stat_cache_entry_init();
+- buffer_copy_string_buffer(sce->name, name);
+-
+- sc->files = splaytree_insert(sc->files, file_ndx, sce);
++ sce = stat_cache_entry_init();
++ buffer_copy_string_buffer(sce->name, name);
++
++ sc->files = splaytree_insert(sc->files, file_ndx, sce);
+ #ifdef DEBUG_STAT_CACHE
+- if (ctrl.size == 0) {
+- ctrl.size = 16;
+- ctrl.used = 0;
+- ctrl.ptr = malloc(ctrl.size * sizeof(*ctrl.ptr));
+- } else if (ctrl.size == ctrl.used) {
+- ctrl.size += 16;
+- ctrl.ptr = realloc(ctrl.ptr, ctrl.size * sizeof(*ctrl.ptr));
+- }
++ if (ctrl.size == 0) {
++ ctrl.size = 16;
++ ctrl.used = 0;
++ ctrl.ptr = malloc(ctrl.size * sizeof(*ctrl.ptr));
++ } else if (ctrl.size == ctrl.used) {
++ ctrl.size += 16;
++ ctrl.ptr = realloc(ctrl.ptr, ctrl.size * sizeof(*ctrl.ptr));
++ }
+
+- ctrl.ptr[ctrl.used++] = file_ndx;
++ ctrl.ptr[ctrl.used++] = file_ndx;
+
+- assert(sc->files);
+- assert(sc->files->data == sce);
+- assert(osize + 1 == splaytree_size(sc->files));
++ assert(sc->files);
++ assert(sc->files->data == sce);
++ assert(osize + 1 == splaytree_size(sc->files));
+ #endif
+- }
++ }
+
+- sce->st = st;
+- sce->stat_ts = srv->cur_ts;
++ sce->st = st;
++ sce->stat_ts = srv->cur_ts;
+
+- if (S_ISREG(st.st_mode)) {
+- /* determine mimetype */
+- buffer_reset(sce->content_type);
++ if (S_ISREG(st.st_mode)) {
++ /* determine mimetype */
++ buffer_reset(sce->content_type);
+
+- for (k = 0; k < con->conf.mimetypes->used; k++) {
+- data_string *ds = (data_string *)con->conf.mimetypes->data[k];
+- buffer *type = ds->key;
+-
+- if (type->used == 0) continue;
++ for (k = 0; k < con->conf.mimetypes->used; k++) {
++ data_string *ds = (data_string *)con->conf.mimetypes->data[k];
++ buffer *type = ds->key;
++
++ if (type->used == 0) continue;
+
+- /* check if the right side is the same */
+- if (type->used > name->used) continue;
++ /* check if the right side is the same */
++ if (type->used > name->used) continue;
+
+- if (0 == strncasecmp(name->ptr + name->used - type->used, type->ptr, type->used - 1)) {
+- buffer_copy_string_buffer(sce->content_type, ds->value);
+- break;
+- }
++ if (0 == strncasecmp(name->ptr + name->used - type->used, type->ptr, type->used - 1)) {
++ buffer_copy_string_buffer(sce->content_type, ds->value);
++ break;
+ }
+- etag_create(sce->etag, &(sce->st));
++ }
++ etag_create(sce->etag, &(sce->st));
+ #ifdef HAVE_XATTR
+- if (buffer_is_empty(sce->content_type)) {
+- stat_cache_attr_get(sce->content_type, name->ptr);
+- }
+-#endif
++ if (buffer_is_empty(sce->content_type)) {
++ stat_cache_attr_get(sce->content_type, name->ptr);
+ }
++#endif
++ }
+
+ #ifdef HAVE_FAM_H
+- if (sc->fam &&
+- (srv->srvconf.stat_cache_engine == STAT_CACHE_ENGINE_FAM)) {
+- /* is this directory already registered ? */
+- if (!dir_node) {
+- fam_dir = fam_dir_entry_init();
+- fam_dir->fc = sc->fam;
++ if (sc->fam &&
++ (srv->srvconf.stat_cache_engine == STAT_CACHE_ENGINE_FAM)) {
++ /* is this directory already registered ? */
++ if (!dir_node) {
++ fam_dir = fam_dir_entry_init();
++ fam_dir->fc = sc->fam;
+
+- buffer_copy_string_buffer(fam_dir->name, sc->dir_name);
+-
+- fam_dir->version = 1;
++ buffer_copy_string_buffer(fam_dir->name, sc->dir_name);
++
++ fam_dir->version = 1;
++
++ fam_dir->req = calloc(1, sizeof(FAMRequest));
++
++ if (0 != FAMMonitorDirectory(sc->fam, fam_dir->name->ptr,
++ fam_dir->req, fam_dir)) {
+
+- fam_dir->req = calloc(1, sizeof(FAMRequest));
++ log_error_write(srv, __FILE__, __LINE__, "sbs",
++ "monitoring dir failed:",
++ fam_dir->name,
++ FamErrlist[FAMErrno]);
+
+- if (0 != FAMMonitorDirectory(sc->fam, fam_dir->name->ptr,
+- fam_dir->req, fam_dir)) {
+-
+- log_error_write(srv, __FILE__, __LINE__, "sbs",
+- "monitoring dir failed:",
+- fam_dir->name,
+- FamErrlist[FAMErrno]);
+-
+- fam_dir_entry_free(fam_dir);
+- } else {
+- int osize = 0;
+-
+- if (sc->dirs) {
+- osize = sc->dirs->size;
+- }
+-
+- sc->dirs = splaytree_insert(sc->dirs, dir_ndx, fam_dir);
+- assert(sc->dirs);
+- assert(sc->dirs->data == fam_dir);
+- assert(osize == (sc->dirs->size - 1));
+- }
++ fam_dir_entry_free(fam_dir);
+ } else {
+- fam_dir = dir_node->data;
++ int osize = 0;
++
++ if (sc->dirs) {
++ osize = sc->dirs->size;
++ }
++
++ sc->dirs = splaytree_insert(sc->dirs, dir_ndx, fam_dir);
++ assert(sc->dirs);
++ assert(sc->dirs->data == fam_dir);
++ assert(osize == (sc->dirs->size - 1));
+ }
++ } else {
++ fam_dir = dir_node->data;
++ }
++
++ /* bind the fam_fc to the stat() cache entry */
+
+- /* bind the fam_fc to the stat() cache entry */
+-
+- if (fam_dir) {
+- sce->dir_version = fam_dir->version;
+- sce->dir_ndx = dir_ndx;
+- }
++ if (fam_dir) {
++ sce->dir_version = fam_dir->version;
++ sce->dir_ndx = dir_ndx;
+ }
+-#endif
+ }
++#endif
++
+ *ret_sce = sce;
+
+ return HANDLER_GO_ON;
+@@ -608,7 +605,7 @@
+
+ int stat_cache_trigger_cleanup(server *srv) {
+ stat_cache *sc;
+- size_t max_ndx = 0, i, j;
++ size_t max_ndx = 0, i;
+ int *keys;
+
+ sc = srv->stat_cache;
+@@ -628,9 +625,11 @@
+ node = sc->files;
+
+ if (node && (node->key == ndx)) {
++#ifdef DEBUG_STAT_CACHE
++ size_t j;
+ int osize = splaytree_size(sc->files);
+ stat_cache_entry *sce = node->data;
+-
++#endif
+ stat_cache_entry_free(node->data);
+ sc->files = splaytree_delete(sc->files, ndx);
+
diff --git a/www-servers/lighttpd/files/1.4.4/08_all_r727-fix-another-error-msg-segv.diff b/www-servers/lighttpd/files/1.4.4/08_all_r727-fix-another-error-msg-segv.diff
new file mode 100644
index 000000000000..5c31bd04c6f4
--- /dev/null
+++ b/www-servers/lighttpd/files/1.4.4/08_all_r727-fix-another-error-msg-segv.diff
@@ -0,0 +1,14 @@
+Modified: branches/lighttpd-merge-1.4.x/src/http-header-glue.c
+===================================================================
+--- branches/lighttpd-merge-1.4.x/src/http-header-glue.c 2005-09-22 08:00:28 UTC (rev 726)
++++ branches/lighttpd-merge-1.4.x/src/http-header-glue.c 2005-09-22 08:24:08 UTC (rev 727)
+@@ -281,7 +281,8 @@
+ }
+ } else {
+ log_error_write(srv, __FILE__, __LINE__, "ss",
+- con->request.http_if_modified_since, buf);
++ "DEBUG: Last-Modified check failed as the received timestamp was too long:",
++ con->request.http_if_modified_since);
+
+ con->http_status = 412;
+ return HANDLER_FINISHED;
diff --git a/www-servers/lighttpd/files/1.4.4/09_all_r728-handle-written-correctly.diff b/www-servers/lighttpd/files/1.4.4/09_all_r728-handle-written-correctly.diff
new file mode 100644
index 000000000000..cb76e78c1845
--- /dev/null
+++ b/www-servers/lighttpd/files/1.4.4/09_all_r728-handle-written-correctly.diff
@@ -0,0 +1,128 @@
+Modified: branches/lighttpd-merge-1.4.x/src/network_freebsd_sendfile.c
+===================================================================
+--- branches/lighttpd-merge-1.4.x/src/network_freebsd_sendfile.c 2005-09-22 08:24:08 UTC (rev 727)
++++ branches/lighttpd-merge-1.4.x/src/network_freebsd_sendfile.c 2005-09-22 09:08:06 UTC (rev 728)
+@@ -104,13 +104,14 @@
+ }
+
+ /* check which chunks have been written */
++ cq->bytes_out += r;
++ con->bytes_written += r;
+
+ for(i = 0, tc = c; i < num_chunks; i++, tc = tc->next) {
+ if (r >= (ssize_t)chunks[i].iov_len) {
+ /* written */
+ r -= chunks[i].iov_len;
+ tc->offset += chunks[i].iov_len;
+- con->bytes_written += chunks[i].iov_len;
+
+ if (chunk_finished) {
+ /* skip the chunks from further touches */
+@@ -124,7 +125,6 @@
+ /* partially written */
+
+ tc->offset += r;
+- con->bytes_written += r;
+ chunk_finished = 0;
+
+ break;
+@@ -182,6 +182,7 @@
+
+ c->offset += r;
+ con->bytes_written += r;
++ cq->bytes_out += r;
+
+ if (c->offset == c->file.length) {
+ chunk_finished = 1;
+
+Modified: branches/lighttpd-merge-1.4.x/src/network_linux_sendfile.c
+===================================================================
+--- branches/lighttpd-merge-1.4.x/src/network_linux_sendfile.c 2005-09-22 08:24:08 UTC (rev 727)
++++ branches/lighttpd-merge-1.4.x/src/network_linux_sendfile.c 2005-09-22 09:08:06 UTC (rev 728)
+@@ -95,7 +95,9 @@
+ }
+
+ /* check which chunks have been written */
+-
++ cq->bytes_out += r;
++ con->bytes_written += r;
++
+ for(i = 0, tc = c; i < num_chunks; i++, tc = tc->next) {
+ if (r >= (ssize_t)chunks[i].iov_len) {
+ /* written */
+@@ -119,8 +121,6 @@
+ break;
+ }
+ }
+- cq->bytes_out += r;
+- con->bytes_written += r;
+
+ break;
+ }
+
+Modified: branches/lighttpd-merge-1.4.x/src/network_openssl.c
+===================================================================
+--- branches/lighttpd-merge-1.4.x/src/network_openssl.c 2005-09-22 08:24:08 UTC (rev 727)
++++ branches/lighttpd-merge-1.4.x/src/network_openssl.c 2005-09-22 09:08:06 UTC (rev 728)
+@@ -123,6 +123,7 @@
+ } else {
+ c->offset += r;
+ con->bytes_written += r;
++ cq->bytes_out += r;
+ }
+
+ if (c->offset == (off_t)c->mem->used - 1) {
+@@ -208,6 +209,7 @@
+ } else {
+ c->offset += r;
+ con->bytes_written += r;
++ cq->bytes_out += r;
+ }
+
+ if (c->offset == c->file.length) {
+
+Modified: branches/lighttpd-merge-1.4.x/src/network_write.c
+===================================================================
+--- branches/lighttpd-merge-1.4.x/src/network_write.c 2005-09-22 08:24:08 UTC (rev 727)
++++ branches/lighttpd-merge-1.4.x/src/network_write.c 2005-09-22 09:08:06 UTC (rev 728)
+@@ -61,6 +61,7 @@
+
+ c->offset += r;
+ con->bytes_written += r;
++ cq->bytes_out += r;
+
+ if (c->offset == (off_t)c->mem->used - 1) {
+ chunk_finished = 1;
+@@ -136,6 +137,7 @@
+ #endif
+ c->offset += r;
+ con->bytes_written += r;
++ cq->bytes_out += r;
+
+ if (c->offset == c->file.length) {
+ chunk_finished = 1;
+
+Modified: branches/lighttpd-merge-1.4.x/src/network_writev.c
+===================================================================
+--- branches/lighttpd-merge-1.4.x/src/network_writev.c 2005-09-22 08:24:08 UTC (rev 727)
++++ branches/lighttpd-merge-1.4.x/src/network_writev.c 2005-09-22 09:08:06 UTC (rev 728)
+@@ -116,6 +116,9 @@
+ }
+ }
+
++ cq->bytes_out += r;
++ con->bytes_written += r;
++
+ /* check which chunks have been written */
+
+ for(i = 0, tc = c; i < num_chunks; i++, tc = tc->next) {
+@@ -142,9 +145,6 @@
+ }
+ }
+
+- cq->bytes_out += r;
+- con->bytes_written += r;
+-
+ break;
+ }
+ case FILE_CHUNK: {
diff --git a/www-servers/lighttpd/files/1.4.4/10_all_r729-display-content_ndx.diff b/www-servers/lighttpd/files/1.4.4/10_all_r729-display-content_ndx.diff
new file mode 100644
index 000000000000..01f2bb416026
--- /dev/null
+++ b/www-servers/lighttpd/files/1.4.4/10_all_r729-display-content_ndx.diff
@@ -0,0 +1,24 @@
+Modified: branches/lighttpd-merge-1.4.x/src/configparser.y
+===================================================================
+--- branches/lighttpd-merge-1.4.x/src/configparser.y 2005-09-22 13:13:01 UTC (rev 729)
++++ branches/lighttpd-merge-1.4.x/src/configparser.y 2005-09-22 13:33:18 UTC (rev 730)
+@@ -162,7 +162,8 @@
+ array_insert_unique(ctx->current->value, B);
+ B = NULL;
+ } else {
+- fprintf(stderr, "Duplicate config variable in conditional 1 %s: %s\n",
++ fprintf(stderr, "Duplicate config variable in conditional %d %s: %s\n",
++ ctx->current->context_ndx,
+ ctx->current->key->ptr, B->key->ptr);
+ ctx->ok = 0;
+ B->free(B);
+@@ -196,7 +197,8 @@
+ array_insert_unique(ctx->current->value, du);
+ }
+ } else {
+- fprintf(stderr, "Undefined config variable in conditional 1 %s: %s\n",
++ fprintf(stderr, "Undefined config variable in conditional %d %s: %s\n",
++ ctx->current->context_ndx,
+ ctx->current->key->ptr, A->ptr);
+ ctx->ok = 0;
+ }
diff --git a/www-servers/lighttpd/files/1.4.4/11_all_r732-dont-starve-waiting-conns.diff b/www-servers/lighttpd/files/1.4.4/11_all_r732-dont-starve-waiting-conns.diff
new file mode 100644
index 000000000000..a9f512ffdfab
--- /dev/null
+++ b/www-servers/lighttpd/files/1.4.4/11_all_r732-dont-starve-waiting-conns.diff
@@ -0,0 +1,27 @@
+Modified: branches/lighttpd-merge-1.4.x/src/network.c
+===================================================================
+--- branches/lighttpd-merge-1.4.x/src/network.c 2005-09-22 13:45:33 UTC (rev 731)
++++ branches/lighttpd-merge-1.4.x/src/network.c 2005-09-23 16:31:49 UTC (rev 732)
+@@ -30,6 +30,7 @@
+ server *srv = (server *)s;
+ server_socket *srv_socket = (server_socket *)context;
+ connection *con;
++ int loops = 0;
+
+ UNUSED(context);
+
+@@ -40,8 +41,11 @@
+ revents);
+ return HANDLER_ERROR;
+ }
+-
+- while (NULL != (con = connection_accept(srv, srv_socket))) {
++
++ /* accept()s at most 100 connections directly
++ *
++ * we jump out after 100 to give the waiting connections a chance */
++ for (loops = 0; loops < 100 && NULL != (con = connection_accept(srv, srv_socket)); loops++) {
+ handler_t r;
+
+ connection_state_machine(srv, con);
+
diff --git a/www-servers/lighttpd/files/1.4.4/12_all_r736-fix-max-request-size.diff b/www-servers/lighttpd/files/1.4.4/12_all_r736-fix-max-request-size.diff
new file mode 100644
index 000000000000..eb19feea2d5a
--- /dev/null
+++ b/www-servers/lighttpd/files/1.4.4/12_all_r736-fix-max-request-size.diff
@@ -0,0 +1,91 @@
+Modified: src/base.h
+===================================================================
+--- src/base.h 2005-09-25 17:11:52 UTC (rev 735)
++++ src/base.h 2005-09-26 08:49:13 UTC (rev 736)
+@@ -444,6 +444,7 @@
+ unsigned short max_worker;
+ unsigned short max_fds;
+ unsigned short max_conns;
++ unsigned short max_request_size;
+
+ unsigned short log_request_header_on_error;
+ unsigned short log_state_handling;
+@@ -464,7 +465,6 @@
+ buffer *ssl_ca_file;
+ unsigned short use_ipv6;
+ unsigned short is_ssl;
+- unsigned short max_request_size;
+
+ buffer *srv_token;
+
+
+Modified: src/configfile.c
+===================================================================
+--- src/configfile.c 2005-09-25 17:11:52 UTC (rev 735)
++++ src/configfile.c 2005-09-26 08:49:13 UTC (rev 736)
+@@ -114,6 +114,7 @@
+ cv[41].destination = stat_cache_string;
+
+ cv[42].destination = &(srv->srvconf.max_conns);
++ cv[12].destination = &(srv->srvconf.max_request_size);
+ srv->config_storage = calloc(1, srv->config_context->used * sizeof(specific_config *));
+
+ assert(srv->config_storage);
+@@ -131,8 +132,8 @@
+ s->error_handler = buffer_init();
+ s->server_tag = buffer_init();
+ s->errorfile_prefix = buffer_init();
+- s->max_keep_alive_requests = 128;
+- s->max_keep_alive_idle = 30;
++ s->max_keep_alive_requests = 16;
++ s->max_keep_alive_idle = 5;
+ s->max_read_idle = 60;
+ s->max_write_idle = 360;
+ s->use_xattr = 0;
+@@ -153,7 +154,6 @@
+ cv[8].destination = &(s->use_ipv6);
+
+
+- cv[12].destination = &(s->max_request_size);
+ /* 13 max-worker */
+ cv[14].destination = s->document_root;
+ cv[15].destination = &(s->force_lower_case);
+
+Modified: src/request.c
+===================================================================
+--- src/request.c 2005-09-25 17:11:52 UTC (rev 735)
++++ src/request.c 2005-09-26 08:49:13 UTC (rev 736)
+@@ -969,6 +969,7 @@
+ /* content-length is missing */
+ log_error_write(srv, __FILE__, __LINE__, "s",
+ "POST-request, but content-length missing -> 411");
++ con->keep_alive = 0;
+
+ con->http_status = 411;
+ return 0;
+@@ -977,20 +978,22 @@
+ /* don't handle more the SSIZE_MAX bytes in content-length */
+ if (con->request.content_length > SSIZE_MAX) {
+ con->http_status = 413;
++ con->keep_alive = 0;
+
+ log_error_write(srv, __FILE__, __LINE__, "sds",
+ "request-size too long:", con->request.content_length, "-> 413");
+ return 0;
+ }
+-
++
+ /* divide by 1024 as srvconf.max_request_size is in kBytes */
+- if (srv_socket->max_request_size != 0 &&
+- (con->request.content_length >> 10) > srv_socket->max_request_size) {
++ if (srv->srvconf.max_request_size != 0 &&
++ (con->request.content_length >> 10) > srv->srvconf.max_request_size) {
+ /* the request body itself is larger then
+ * our our max_request_size
+ */
+
+ con->http_status = 413;
++ con->keep_alive = 0;
+
+ log_error_write(srv, __FILE__, __LINE__, "sds",
+ "request-size too long:", con->request.content_length, "-> 413");
diff --git a/www-servers/lighttpd/files/1.4.4/13_all_r745-fix-64bit-crc32.diff b/www-servers/lighttpd/files/1.4.4/13_all_r745-fix-64bit-crc32.diff
new file mode 100644
index 000000000000..559d5d402727
--- /dev/null
+++ b/www-servers/lighttpd/files/1.4.4/13_all_r745-fix-64bit-crc32.diff
@@ -0,0 +1,33 @@
+Index: crc32.c
+===================================================================
+--- src/crc32.c (revision 735)
++++ src/crc32.c (working copy)
+@@ -70,11 +70,9 @@
+ };
+
+
+-unsigned long
+-generate_crc32c(char *buffer, size_t length)
+-{
+- unsigned int i;
+- unsigned long crc32 = ~0L;
++uint32_t generate_crc32c(char *buffer, size_t length) {
++ size_t i;
++ uint32_t crc32 = ~0L;
+
+ for (i = 0; i < length; i++){
+ CRC32C(crc32, (unsigned char)buffer[i]);
+Index: crc32.h
+===================================================================
+--- src/crc32.h (revision 735)
++++ src/crc32.h (working copy)
+@@ -2,7 +2,8 @@
+ #define __crc32cr_table_h__
+
+ #include <sys/types.h>
++#include <stdint.h>
+
+-unsigned long generate_crc32c(char *string, size_t length);
++uint32_t generate_crc32c(char *string, size_t length);
+
+ #endif
diff --git a/www-servers/lighttpd/files/digest-lighttpd-1.4.4-r1 b/www-servers/lighttpd/files/digest-lighttpd-1.4.4-r2
index b6411fa9d91d..b6411fa9d91d 100644
--- a/www-servers/lighttpd/files/digest-lighttpd-1.4.4-r1
+++ b/www-servers/lighttpd/files/digest-lighttpd-1.4.4-r2
diff --git a/www-servers/lighttpd/lighttpd-1.4.4-r1.ebuild b/www-servers/lighttpd/lighttpd-1.4.4-r2.ebuild
index 0b6f6a731e1d..cb77056eff34 100644
--- a/www-servers/lighttpd/lighttpd-1.4.4-r1.ebuild
+++ b/www-servers/lighttpd/lighttpd-1.4.4-r2.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/www-servers/lighttpd/lighttpd-1.4.4-r1.ebuild,v 1.1 2005/09/21 19:28:39 ka0ttic Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-servers/lighttpd/lighttpd-1.4.4-r2.ebuild,v 1.1 2005/09/29 17:29:28 ka0ttic Exp $
inherit eutils depend.php