Revision bump; add patches from upstream to fix various bugs.
authorAaron Walker <ka0ttic@gentoo.org>
Wed, 21 Sep 2005 19:28:39 +0000 (19:28 +0000)
committerAaron Walker <ka0ttic@gentoo.org>
Wed, 21 Sep 2005 19:28:39 +0000 (19:28 +0000)
Package-Manager: portage-2.0.52-r1

www-servers/lighttpd/ChangeLog
www-servers/lighttpd/Manifest
www-servers/lighttpd/files/1.4.3/01_all_r716-fix-remoteip-cache-keepalive.diff [new file with mode: 0644]
www-servers/lighttpd/files/1.4.3/02_all_r721-add-case-302.diff [new file with mode: 0644]
www-servers/lighttpd/files/1.4.3/03_all_r722-fix-no-global-mysql-segv.diff [new file with mode: 0644]
www-servers/lighttpd/files/1.4.3/04_all_r723-fix-mod_ssi-inf-loop.diff [new file with mode: 0644]
www-servers/lighttpd/files/1.4.3/05_all_r724-fix-error-msg-segv.diff [new file with mode: 0644]
www-servers/lighttpd/files/1.4.3/06_all_r725-fix-NULL-dereference.diff [new file with mode: 0644]
www-servers/lighttpd/files/digest-lighttpd-1.4.4-r1 [moved from www-servers/lighttpd/files/digest-lighttpd-1.4.4 with 100% similarity]
www-servers/lighttpd/lighttpd-1.4.4-r1.ebuild [moved from www-servers/lighttpd/lighttpd-1.4.4.ebuild with 97% similarity]

index a910f183e895b034c28d3dabbb0332429972a6ff..2214f1982eccd6818a35722d9a848f83e700acba 100644 (file)
@@ -1,6 +1,18 @@
 # 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.45 2005/09/21 14:01:05 gustavoz Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-servers/lighttpd/ChangeLog,v 1.46 2005/09/21 19:28:39 ka0ttic Exp $
+
+*lighttpd-1.4.4-r1 (21 Sep 2005)
+
+  21 Sep 2005; Aaron Walker <ka0ttic@gentoo.org>
+  +files/1.4.3/01_all_r716-fix-remoteip-cache-keepalive.diff,
+  +files/1.4.3/03_all_r722-fix-no-global-mysql-segv.diff,
+  +files/1.4.3/04_all_r723-fix-mod_ssi-inf-loop.diff,
+  +files/1.4.3/02_all_r721-add-case-302.diff,
+  +files/1.4.3/05_all_r724-fix-error-msg-segv.diff,
+  +files/1.4.3/06_all_r725-fix-NULL-dereference.diff,
+  -lighttpd-1.4.4.ebuild, +lighttpd-1.4.4-r1.ebuild:
+  Revision bump; add patches from upstream to fix various bugs.
 
   21 Sep 2005; Gustavo Zacarias <gustavoz@gentoo.org> lighttpd-1.4.3.ebuild:
   Keyworded ~sparc, makes ciaranm and geoman happy
index 420764f0854db4b47763f947b0baf460391aff05..8e722839174f88af26a00f0f1cce95f244d3c8f1 100644 (file)
@@ -1,36 +1,42 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-MD5 19583a126f20367502cb7047d50322d8 lighttpd-1.4.4.ebuild 5135
-MD5 659a21d09e808797057b53868eebf8f7 ChangeLog 13635
-MD5 6a9d4814404d8d51327e5b8306ee3d7e metadata.xml 726
 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 f60c8a5634ef59898a8978fcb484cd43 ChangeLog 14161
+MD5 6a9d4814404d8d51327e5b8306ee3d7e metadata.xml 726
+MD5 1d925aed297ec4541fb230dd19e11bc1 files/spawn-fcgi.confd 1076
+MD5 f984dc26b2bc491272d302ab453f6e6b files/lighttpd-1.3.13-ldap-binddn.diff 3863
+MD5 e605a4ead0ce7b1e0788c0b0b1161871 files/spawn-fcgi.initd 1383
+MD5 9cc5ffbffdd7554797c338c5972ed813 files/lighttpd-1.3.13-valid-user.diff 762
+MD5 8648177a5f9a79cd4ba0eaaa4e769fdc files/lighttpd-1.3.11-gentoo.diff 1784
+MD5 7fdb430fc7240e6e6a9078e4e57f6322 files/lighttpd-1.3.10.initd 666
+MD5 f111e60bb593bffbdb01b9aece46ab20 files/lighttpd-1.3.13-php.diff 1399
+MD5 77ba3937d1e8762f8d8b6b2ea9ee1aaa files/digest-lighttpd-1.3.13-r3 67
+MD5 c54a6d92e91493bbb27e8f346f6ac342 files/digest-lighttpd-1.3.16 67
 MD5 5eb378dcd8905a09175df3e48953100c files/lighttpd-1.3.13-zope-deserves-lovins-too.diff 5970
+MD5 8e76b9feaedbf0286936be381bc5ffac files/lighttpd.initd 1000
 MD5 8f9c2d7a51a85b60ef1a6da355083fd0 files/digest-lighttpd-1.4.3 66
-MD5 f111e60bb593bffbdb01b9aece46ab20 files/lighttpd-1.3.13-php.diff 1399
-MD5 7fdb430fc7240e6e6a9078e4e57f6322 files/lighttpd-1.3.10.initd 666
-MD5 8648177a5f9a79cd4ba0eaaa4e769fdc files/lighttpd-1.3.11-gentoo.diff 1784
 MD5 0c57eeef1963af5add8b9608e0bc0d0f files/lighttpd-1.3.13-no-mysql-means-no-mysql.diff 1456
-MD5 8e76b9feaedbf0286936be381bc5ffac files/lighttpd.initd 1000
-MD5 e605a4ead0ce7b1e0788c0b0b1161871 files/spawn-fcgi.initd 1383
-MD5 210f81ad7867965b19993d0a4d8d54e7 files/lighttpd.logrotate 488
-MD5 c54a6d92e91493bbb27e8f346f6ac342 files/digest-lighttpd-1.3.16 67
+MD5 10ee947ef00d754e74198ff482c0527d files/digest-lighttpd-1.4.4-r1 66
 MD5 44374d14af9b69b8f60f8d73f14c848d files/lighttpd-1.3.13-pam-name.diff 564
-MD5 9cc5ffbffdd7554797c338c5972ed813 files/lighttpd-1.3.13-valid-user.diff 762
-MD5 77ba3937d1e8762f8d8b6b2ea9ee1aaa files/digest-lighttpd-1.3.13-r3 67
-MD5 f984dc26b2bc491272d302ab453f6e6b files/lighttpd-1.3.13-ldap-binddn.diff 3863
-MD5 1d925aed297ec4541fb230dd19e11bc1 files/spawn-fcgi.confd 1076
-MD5 10ee947ef00d754e74198ff482c0527d files/digest-lighttpd-1.4.4 66
-MD5 b4c80dba9c626d5f89d3c3797ac6670c files/conf/mod_fastcgi.conf 661
+MD5 210f81ad7867965b19993d0a4d8d54e7 files/lighttpd.logrotate 488
 MD5 9c1407e95f62ed22da66c4ef5f69c3b5 files/conf/mod_cgi.conf 869
-MD5 fef397e7bcf1b741dea211a555e1803c files/conf/mime-types.conf 3291
 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.3/01_all_r716-fix-remoteip-cache-keepalive.diff 2902
+MD5 4aa695a0125bbde51ec234f3494b7364 files/1.4.3/05_all_r724-fix-error-msg-segv.diff 616
+MD5 8cb5ff1a3717873bf349a10cf5011af3 files/1.4.3/06_all_r725-fix-NULL-dereference.diff 332
+MD5 9edac090a187f3a1862f2277787df479 files/1.4.3/03_all_r722-fix-no-global-mysql-segv.diff 613
+MD5 bb6d7e474027bfabdfcdfff3549498ae files/1.4.3/02_all_r721-add-case-302.diff 358
+MD5 14fefc136222d1747894ce7f7e36c5ee files/1.4.3/04_all_r723-fix-mod_ssi-inf-loop.diff 1407
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.1-ecc0.1.6 (GNU/Linux)
+Version: GnuPG v1.4.2 (GNU/Linux)
 
-iD8DBQFDMWfBKRy60XGEcJIRArn9AJ9hSLfueeyJXOPld4dfDomyDzWOmgCgg/+v
-gp89UuBHkT0azcIR7X4BI7s=
-=X3fe
+iD8DBQFDMbSKEZCkKN40op4RAmdYAJ9gujnwND0A9PDe+U4CX9c7jAW0egCfWEzg
+PShQ6kBKrz/d1WeCXUT53Mc=
+=LIML
 -----END PGP SIGNATURE-----
diff --git a/www-servers/lighttpd/files/1.4.3/01_all_r716-fix-remoteip-cache-keepalive.diff b/www-servers/lighttpd/files/1.4.3/01_all_r716-fix-remoteip-cache-keepalive.diff
new file mode 100644 (file)
index 0000000..988ce42
--- /dev/null
@@ -0,0 +1,92 @@
+--- branches/lighttpd-merge-1.4.x/src/connections.c    (revision 715)
++++ branches/lighttpd-merge-1.4.x/src/connections.c    (revision 716)
+@@ -691,7 +691,6 @@
+       CLEAN(authed_user);
+       CLEAN(server_name);
+       CLEAN(error_handler);
+-      CLEAN(dst_addr_buf);
+ #undef CLEAN  
+       
+ #define CLEAN(x) \
+--- branches/lighttpd-merge-1.4.x/tests/lighttpd.conf  (revision 715)
++++ branches/lighttpd-merge-1.4.x/tests/lighttpd.conf  (revision 716)
+@@ -155,22 +155,21 @@
+   url.redirect = ( "^/redirect/$" => "http://localhost:2048/%1" )
+ }
+ 
+-$HTTP["host"] =~ "(remoteip).example.org" {
+-  $HTTP["remoteip"] =~ "(127.0.0.1)" {
++$HTTP["host"] =~ "(remoteip)\.example\.org" {
++  $HTTP["remoteip"] =~ "(127\.0\.0\.1)" {
+     url.redirect = ( "^/redirect/$" => "http://localhost:2048/%1" )
+   }
+ }
+ 
+-$HTTP["remoteip"] =~ "(127.0.0.1)" {
+-  $HTTP["host"] =~ "(remoteip2).example.org" {
++$HTTP["remoteip"] =~ "(127\.0\.0\.1)" {
++  $HTTP["host"] =~ "(remoteip2)\.example\.org" {
+     url.redirect = ( "^/redirect/$" => "http://localhost:2048/%1" )
+   }
+ }
+ 
+-# deny access for all image stealers
+-$HTTP["host"] == "referer.example.org" {
+-  $HTTP["referer"] !~ "^($|http://referer\.example\.org)" {
+-    url.access-deny = ( ".png" )
++$HTTP["host"] =~ "bug255\.example\.org$" {
++  $HTTP["remoteip"] == "127.0.0.1" {
++    url.access-deny = ( "" )
+   }
+ }
+ 
+@@ -178,3 +177,10 @@
+   url.access-deny = ( ".jpg" )
+ }
+ 
++# deny access for all image stealers
++$HTTP["host"] == "referer.example.org" {
++  $HTTP["referer"] !~ "^($|http://referer\.example\.org)" {
++    url.access-deny = ( ".png" )
++  }
++}
++
+--- branches/lighttpd-merge-1.4.x/tests/core-condition.t       (revision 715)
++++ branches/lighttpd-merge-1.4.x/tests/core-condition.t       (revision 716)
+@@ -71,18 +71,6 @@
+ $t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 404 } ];
+ ok($tf->handle_http($t) == 0, 'condition: Referer - referer matches regex');
+ 
+-TODO: {
+-  local $TODO = "referer matching in conditionals";
+-  $t->{REQUEST}  = ( <<EOF
+-GET /nofile.png HTTP/1.0
+-Host: referer.example.org
+-Referer: http://evil-referer.example.org/
+-EOF
+- );
+-  $t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 403 } ];
+-  ok($tf->handle_http($t) == 0, 'condition: Referer - referer doesn\'t match');
+-}
+-
+ $t->{REQUEST}  = ( <<EOF
+ GET /image.jpg HTTP/1.0
+ Host: www.example.org
+@@ -109,6 +97,17 @@
+ $t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 403 } ];
+ ok($tf->handle_http($t) == 0, 'condition: Referer - referer doesn\'t match');
+ 
++$t->{REQUEST} = ( <<EOF
++GET /nofile HTTP/1.1
++Host: bug255.example.org
++
++GET /nofile HTTP/1.1
++Host: bug255.example.org
++Connection: close
++EOF
++ );
++$t->{RESPONSE} = [ { 'HTTP-Protocol' => 'HTTP/1.1', 'HTTP-Status' => 403 },  { 'HTTP-Protocol' => 'HTTP/1.1', 'HTTP-Status' => 403 } ];
++ok($tf->handle_http($t) == 0, 'remote ip cache (#255)');
+ 
+ ok($tf->stop_proc == 0, "Stopping lighttpd");
+ 
diff --git a/www-servers/lighttpd/files/1.4.3/02_all_r721-add-case-302.diff b/www-servers/lighttpd/files/1.4.3/02_all_r721-add-case-302.diff
new file mode 100644 (file)
index 0000000..9f4d620
--- /dev/null
@@ -0,0 +1,14 @@
+--- branches/lighttpd-merge-1.4.x/src/connections.c    (revision 720)
++++ branches/lighttpd-merge-1.4.x/src/connections.c    (revision 721)
+@@ -421,10 +421,10 @@
+               /* fall through */
+       case 207:
+       case 200: /* class: header + body */
++      case 302:
+               break;
+               
+       case 206: /* write_queue is already prepared */
+-      case 302:
+               con->file_finished = 1;
+               
+               break;
diff --git a/www-servers/lighttpd/files/1.4.3/03_all_r722-fix-no-global-mysql-segv.diff b/www-servers/lighttpd/files/1.4.3/03_all_r722-fix-no-global-mysql-segv.diff
new file mode 100644 (file)
index 0000000..689bbe4
--- /dev/null
@@ -0,0 +1,24 @@
+--- branches/lighttpd-merge-1.4.x/src/mod_mysql_vhost.c        (revision 721)
++++ branches/lighttpd-merge-1.4.x/src/mod_mysql_vhost.c        (revision 722)
+@@ -90,6 +90,8 @@
+               size_t i;
+               for (i = 0; i < srv->config_context->used; i++) {
+                       plugin_config *s = p->config_storage[i];
++
++                      if (!s) continue;
+                       
+                       mysql_close(s->mysql);
+                       
+@@ -318,10 +320,11 @@
+       unsigned  cols;
+       MYSQL_ROW row;
+       MYSQL_RES *result = NULL;
+-      size_t i;
+ 
+       /* no host specified? */
+       if (!con->uri.authority->used) return HANDLER_GO_ON;
++
++      if (!p->conf.mysql) return HANDLER_GO_ON;
+       
+       mod_mysql_vhost_patch_connection(srv, con, p);
+ 
diff --git a/www-servers/lighttpd/files/1.4.3/04_all_r723-fix-mod_ssi-inf-loop.diff b/www-servers/lighttpd/files/1.4.3/04_all_r723-fix-mod_ssi-inf-loop.diff
new file mode 100644 (file)
index 0000000..d83c998
--- /dev/null
@@ -0,0 +1,42 @@
+--- branches/lighttpd-merge-1.4.x/src/mod_ssi.c        (revision 722)
++++ branches/lighttpd-merge-1.4.x/src/mod_ssi.c        (revision 723)
+@@ -722,15 +722,31 @@
+                       if (-1 == waitpid(pid, &status, 0)) {
+                               log_error_write(srv, __FILE__, __LINE__, "ss", "waitpid failed:", strerror(errno));
+                       } else if (WIFEXITED(status)) {
+-                      
++                              int toread;
+                               /* read everything from client and paste it into the output */
+-                      
+-                              for (b = chunkqueue_get_append_buffer(con->write_queue), buffer_prepare_copy(b, 4096); 
+-                                   (r = read(from_exec_fds[0], b->ptr, b->size - 1)) > 0; 
+-                                   b = chunkqueue_get_append_buffer(con->write_queue), buffer_prepare_copy(b, 4096)) {
+-                                      
+-                                      b->used = r;
+-                                      b->ptr[b->used++] = '\0';
++
++                              while(1) {
++                                      if (ioctl(from_exec_fds[0], FIONREAD, &toread)) {
++                                              log_error_write(srv, __FILE__, __LINE__, "s", 
++                                                      "unexpected end-of-file (perhaps the ssi-exec process died)");
++                                              return -1;
++                                      }
++
++                                      if (toread > 0) {
++                                              b = chunkqueue_get_append_buffer(con->write_queue);
++
++                                              buffer_prepare_copy(b, toread + 1); 
++
++                                              if ((r = read(from_exec_fds[0], b->ptr, b->size - 1)) < 0) {
++                                                      /* read failed */ 
++                                                      break;
++                                              } else {
++                                                      b->used = r;
++                                                      b->ptr[b->used++] = '\0';
++                                              }
++                                      } else {
++                                              break;
++                                      }
+                               }
+                       } else {
+                               log_error_write(srv, __FILE__, __LINE__, "s", "process exited abnormally");
diff --git a/www-servers/lighttpd/files/1.4.3/05_all_r724-fix-error-msg-segv.diff b/www-servers/lighttpd/files/1.4.3/05_all_r724-fix-error-msg-segv.diff
new file mode 100644 (file)
index 0000000..45481c4
--- /dev/null
@@ -0,0 +1,13 @@
+--- branches/lighttpd-merge-1.4.x/src/configfile-glue.c        (revision 723)
++++ branches/lighttpd-merge-1.4.x/src/configfile-glue.c        (revision 724)
+@@ -53,7 +53,9 @@
+                                               
+                                               array_insert_unique(cv[i].destination, (data_unset *)ds);
+                                       } else {
+-                                              log_error_write(srv, __FILE__, __LINE__, "sssbs", "unexpected type for key: ", cv[i].key, "[", da->value->data[i]->key, "](string)");
++                                              log_error_write(srv, __FILE__, __LINE__, "sssd", 
++                                                              "the key of and array can only be a string or a integer, variable:", 
++                                                              cv[i].key, "type:", da->value->data[j]->type); 
+                                               
+                                               return -1;
+                                       }
diff --git a/www-servers/lighttpd/files/1.4.3/06_all_r725-fix-NULL-dereference.diff b/www-servers/lighttpd/files/1.4.3/06_all_r725-fix-NULL-dereference.diff
new file mode 100644 (file)
index 0000000..45e824e
--- /dev/null
@@ -0,0 +1,11 @@
+--- branches/lighttpd-merge-1.4.x/src/mod_indexfile.c  (revision 724)
++++ branches/lighttpd-merge-1.4.x/src/mod_indexfile.c  (revision 725)
+@@ -53,6 +53,8 @@
+               size_t i;
+               for (i = 0; i < srv->config_context->used; i++) {
+                       plugin_config *s = p->config_storage[i];
++
++                      if (!s) continue;
+                       
+                       array_free(s->indexfiles);
+                       
similarity index 97%
rename from www-servers/lighttpd/lighttpd-1.4.4.ebuild
rename to www-servers/lighttpd/lighttpd-1.4.4-r1.ebuild
index 78038f8fc6cf4d08f65dcc39aa15f1bfdec29798..0b6f6a731e1d3f069266caa2cea049fcd70ab478 100644 (file)
@@ -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.ebuild,v 1.1 2005/09/17 01:49:28 ka0ttic Exp $
+# $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 $
 
 inherit eutils depend.php
 
@@ -10,7 +10,7 @@ SRC_URI="http://www.lighttpd.net/download/${P}.tar.gz"
 
 LICENSE="BSD"
 SLOT="0"
-KEYWORDS="~amd64 ~mips ~ppc ~x86"
+KEYWORDS="~amd64 ~mips ~ppc ~sparc ~x86"
 IUSE="bzip2 doc fam fastcgi gdbm ipv6 ldap lua minimal memcache mysql pcre php rrdtool ssl test webdav xattr"
 
 RDEPEND=">=sys-libs/zlib-1.1
@@ -95,7 +95,7 @@ src_unpack() {
        unpack ${A}
        cd ${S}
 
-#    EPATCH_SUFFIX="diff" epatch ${FILESDIR}/${PV}
+       EPATCH_SUFFIX="diff" epatch ${FILESDIR}/${PV}
 
 #    einfo "Regenerating autoconf/automake files"
 #    libtoolize --copy --force || die "libtoolize failed"