Author: glen                         Date: Mon Nov 12 16:18:59 2007 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- up to r2025

---- Files affected:
SOURCES:
   lighttpd-branch.diff (1.22 -> 1.23) 

---- Diffs:

================================================================
Index: SOURCES/lighttpd-branch.diff
diff -u SOURCES/lighttpd-branch.diff:1.22 SOURCES/lighttpd-branch.diff:1.23
--- SOURCES/lighttpd-branch.diff:1.22   Mon Nov  5 15:38:46 2007
+++ SOURCES/lighttpd-branch.diff        Mon Nov 12 17:18:53 2007
@@ -1,7 +1,7 @@
 Index: src/configfile-glue.c
 ===================================================================
---- src/configfile-glue.c      (.../tags/lighttpd-1.4.18)      (revision 2015)
-+++ src/configfile-glue.c      (.../branches/lighttpd-1.4.x)   (revision 2015)
+--- src/configfile-glue.c      (.../tags/lighttpd-1.4.18)      (revision 2025)
++++ src/configfile-glue.c      (.../branches/lighttpd-1.4.x)   (revision 2025)
 @@ -341,6 +341,10 @@
                }
                break;
@@ -15,8 +15,8 @@
                break;
 Index: src/array.h
 ===================================================================
---- src/array.h        (.../tags/lighttpd-1.4.18)      (revision 2015)
-+++ src/array.h        (.../branches/lighttpd-1.4.x)   (revision 2015)
+--- src/array.h        (.../tags/lighttpd-1.4.18)      (revision 2025)
++++ src/array.h        (.../branches/lighttpd-1.4.x)   (revision 2025)
 @@ -90,6 +90,7 @@
        COMP_HTTP_COOKIE,
        COMP_HTTP_REMOTEIP,
@@ -27,8 +27,8 @@
  } comp_key_t;
 Index: src/mod_staticfile.c
 ===================================================================
---- src/mod_staticfile.c       (.../tags/lighttpd-1.4.18)      (revision 2015)
-+++ src/mod_staticfile.c       (.../branches/lighttpd-1.4.x)   (revision 2015)
+--- src/mod_staticfile.c       (.../tags/lighttpd-1.4.18)      (revision 2025)
++++ src/mod_staticfile.c       (.../branches/lighttpd-1.4.x)   (revision 2025)
 @@ -483,8 +483,24 @@
                        /* if the value is the same as our ETag, we do a 
Range-request,
                         * otherwise a full 200 */
@@ -57,8 +57,8 @@
  
 Index: src/response.c
 ===================================================================
---- src/response.c     (.../tags/lighttpd-1.4.18)      (revision 2015)
-+++ src/response.c     (.../branches/lighttpd-1.4.x)   (revision 2015)
+--- src/response.c     (.../tags/lighttpd-1.4.18)      (revision 2025)
++++ src/response.c     (.../branches/lighttpd-1.4.x)   (revision 2025)
 @@ -180,6 +180,7 @@
                buffer_copy_string_buffer(con->uri.authority, 
con->request.http_host);
                buffer_to_lower(con->uri.authority);
@@ -69,8 +69,8 @@
                config_patch_connection(srv, con, COMP_HTTP_REFERER);   /* 
Referer:     */
 Index: src/configparser.y
 ===================================================================
---- src/configparser.y (.../tags/lighttpd-1.4.18)      (revision 2015)
-+++ src/configparser.y (.../branches/lighttpd-1.4.x)   (revision 2015)
+--- src/configparser.y (.../tags/lighttpd-1.4.18)      (revision 2025)
++++ src/configparser.y (.../branches/lighttpd-1.4.x)   (revision 2025)
 @@ -422,6 +422,7 @@
        { COMP_HTTP_COOKIE,        CONST_STR_LEN("HTTP[\"cookie\"]"     ) },
        { COMP_HTTP_REMOTEIP,      CONST_STR_LEN("HTTP[\"remoteip\"]"   ) },
@@ -79,10 +79,185 @@
        { COMP_UNSET, NULL, 0 },
      };
      size_t i;
+Index: src/spawn-fcgi.c
+===================================================================
+--- src/spawn-fcgi.c   (.../tags/lighttpd-1.4.18)      (revision 2025)
++++ src/spawn-fcgi.c   (.../branches/lighttpd-1.4.x)   (revision 2025)
+@@ -37,7 +37,7 @@
+ #endif
+ 
+ #ifdef HAVE_SYS_UN_H
+-int fcgi_spawn_connection(char *appPath, char *addr, unsigned short port, 
const char *unixsocket, int child_count, int pid_fd, int nofork) {
++int fcgi_spawn_connection(char *appPath, char **appArgv, char *addr, unsigned 
short port, const char *unixsocket, int child_count, int pid_fd, int nofork) {
+       int fcgi_fd;
+       int socket_type, status;
+       struct timeval tv = { 0, 100 * 1000 };
+@@ -137,11 +137,10 @@
+               switch (child) {
+               case 0: {
+                       char cgi_childs[64];
+-                      char *b;
+ 
+                       int i = 0;
+ 
+-                      /* is save as we limit to 256 childs */
++                      /* is safe as we limit to 256 childs */
+                       sprintf(cgi_childs, "PHP_FCGI_CHILDREN=%d", 
child_count);
+ 
+                       if(fcgi_fd != FCGI_LISTENSOCK_FILENO) {
+@@ -160,13 +159,18 @@
+                       putenv(cgi_childs);
+ 
+                       /* fork and replace shell */
+-                      b = malloc(strlen("exec ") + strlen(appPath) + 1);
+-                      strcpy(b, "exec ");
+-                      strcat(b, appPath);
++                      if (appArgv) {
++                              execv(appArgv[0], appArgv);
+ 
+-                      /* exec the cgi */
+-                      execl("/bin/sh", "sh", "-c", b, (char *)NULL);
++                      } else {
++                              char *b = malloc(strlen("exec ") + 
strlen(appPath) + 1);
++                              strcpy(b, "exec ");
++                              strcat(b, appPath);
+ 
++                              /* exec the cgi */
++                              execl("/bin/sh", "sh", "-c", b, (char *)NULL);
++                      }
++
+                       exit(errno);
+ 
+                       break;
+@@ -239,9 +243,12 @@
+ }
+ 
+ void show_help () {
+-      char *b = "spawn-fcgi" "-" PACKAGE_VERSION \
+-" - spawns fastcgi processes\n" \
+-"usage:\n" \
++      char *b = \
++"Usage: spawn-fcgi [options] -- <fcgiapp> [fcgi app arguments]\n" \
++"\n" \
++"spawn-fcgi v" PACKAGE_VERSION " - spawns fastcgi processes\n" \
++"\n" \
++"Options:\n" \
+ " -f <fcgiapp> filename of the fcgi-application\n" \
+ " -a <addr>    bind to ip address\n" \
+ " -p <port>    bind to tcp-port\n" \
+@@ -264,6 +271,7 @@
+       char *fcgi_app = NULL, *changeroot = NULL, *username = NULL,
+                *groupname = NULL, *unixsocket = NULL, *pid_file = NULL,
+                 *addr = NULL;
++      char **fcgi_app_argv = { NULL };
+       unsigned short port = 0;
+       int child_count = 5;
+       int i_am_root, o;
+@@ -274,7 +282,7 @@
+ 
+       i_am_root = (getuid() == 0);
+ 
+-       while(-1 != (o = getopt(argc, argv, "c:f:g:hna:p:u:vC:s:P:"))) {
++      while(-1 != (o = getopt(argc, argv, "c:f:g:hna:p:u:vC:s:P:"))) {
+               switch(o) {
+               case 'f': fcgi_app = optarg; break;
+                case 'a': addr = optarg;/* ip addr */ break;
+@@ -294,7 +302,11 @@
+               }
+       }
+ 
+-      if (fcgi_app == NULL || (port == 0 && unixsocket == NULL)) {
++      if (optind < argc) {
++              fcgi_app_argv = &argv[optind];
++      }
++
++      if ((fcgi_app == NULL && fcgi_app_argv == NULL) || (port == 0 && 
unixsocket == NULL)) {
+               show_help();
+               return -1;
+       }
+@@ -404,6 +416,18 @@
+                       }
+               }
+ 
++              /*
++               * Change group before chroot, when we have access
++               * to /etc/group
++               */
++              if (groupname) {
++                      setgid(grp->gr_gid);
++                      setgroups(0, NULL);
++                      if (username) {
++                              initgroups(username, grp->gr_gid);
++                      }
++              }
++
+               if (changeroot) {
+                       if (-1 == chroot(changeroot)) {
+                               fprintf(stderr, "%s.%d: %s %s\n",
+@@ -420,18 +444,12 @@
+               }
+ 
+               /* drop root privs */
+-              if (groupname) {
+-                      setgid(grp->gr_gid);
+-              }
+               if (username) {
+-                      if (groupname) {
+-                              initgroups(username, grp->gr_gid);
+-                      }
+                       setuid(pwd->pw_uid);
+               }
+       }
+ 
+-       return fcgi_spawn_connection(fcgi_app, addr, port, unixsocket, 
child_count, pid_fd, nofork);
++       return fcgi_spawn_connection(fcgi_app, fcgi_app_argv, addr, port, 
unixsocket, child_count, pid_fd, nofork);
+ }
+ #else
+ int main() {
+Index: src/server.c
+===================================================================
+--- src/server.c       (.../tags/lighttpd-1.4.18)      (revision 2025)
++++ src/server.c       (.../branches/lighttpd-1.4.x)   (revision 2025)
+@@ -759,6 +759,19 @@
+ 
+                       return -1;
+               }
++#ifdef HAVE_PWD_H
++              /* 
++               * Change group before chroot, when we have access
++               * to /etc/group
++               * */
++              if (srv->srvconf.groupname->used) {
++                      setgid(grp->gr_gid);
++                      setgroups(0, NULL);
++                      if (srv->srvconf.username->used) {
++                              initgroups(srv->srvconf.username->ptr, 
grp->gr_gid);
++                      }
++              }
++#endif
+ #ifdef HAVE_CHROOT
+               if (srv->srvconf.changeroot->used) {
+                       tzset();
+@@ -775,15 +788,7 @@
+ #endif
+ #ifdef HAVE_PWD_H
+               /* drop root privs */
+-              if (srv->srvconf.groupname->used) {
+-                      setgid(grp->gr_gid);
+-                      setgroups(0, NULL);
+-              }
+-
+               if (srv->srvconf.username->used) {
+-                      if (srv->srvconf.groupname->used) {
+-                              initgroups(srv->srvconf.username->ptr, 
grp->gr_gid);
+-                      }
+                       setuid(pwd->pw_uid);
+               }
+ #endif
 Index: doc/configuration.txt
 ===================================================================
---- doc/configuration.txt      (.../tags/lighttpd-1.4.18)      (revision 2015)
-+++ doc/configuration.txt      (.../branches/lighttpd-1.4.x)   (revision 2015)
+--- doc/configuration.txt      (.../tags/lighttpd-1.4.18)      (revision 2025)
++++ doc/configuration.txt      (.../branches/lighttpd-1.4.x)   (revision 2025)
 @@ -85,6 +85,8 @@
  
  $HTTP["cookie"]
@@ -92,11 +267,20 @@
  $HTTP["host"]
    match on host
  $HTTP["useragent"]
+Index: Makefile.am
+===================================================================
+--- Makefile.am        (.../tags/lighttpd-1.4.18)      (revision 2025)
++++ Makefile.am        (.../branches/lighttpd-1.4.x)   (revision 2025)
+@@ -1,3 +1,3 @@
+ SUBDIRS=src doc tests cygwin openwrt
+ 
+-EXTRA_DIST=lighttpd.spec
++EXTRA_DIST=lighttpd.spec SConstruct
 Index: NEWS
 ===================================================================
---- NEWS       (.../tags/lighttpd-1.4.18)      (revision 2015)
-+++ NEWS       (.../branches/lighttpd-1.4.x)   (revision 2015)
-@@ -3,6 +3,11 @@
+--- NEWS       (.../tags/lighttpd-1.4.18)      (revision 2025)
++++ NEWS       (.../branches/lighttpd-1.4.x)   (revision 2025)
+@@ -3,6 +3,13 @@
  NEWS
  ====
  
@@ -104,7 +288,81 @@
 +
 +  * added support for If-Range: <date> (#1346)
 +  * added support for matching $HTTP["scheme"] in configs
++  * fixed initgroups() called after chroot (#1384)
++  * execute fcgi app without /bin/sh if used as argument to spawn-fcgi (#1428)
 +
  - 1.4.18 - 2007-09-09
  
    * fixed compile error on IRIX 6.5.x on prctl() (#1333)
+Index: lighttpd.spec.in
+===================================================================
+--- lighttpd.spec.in   (.../tags/lighttpd-1.4.18)      (revision 2025)
++++ lighttpd.spec.in   (.../branches/lighttpd-1.4.x)   (revision 2025)
+@@ -6,21 +6,19 @@
+ Packager: Jan Kneschke <[EMAIL PROTECTED]>
+ License: BSD
+ Group: Networking/Daemons
+-URL: http://jan.kneschke.de/projects/lighttpd/
++URL: http://www.lighttpd.net/
+ Requires: pcre >= 3.1 zlib
+-BuildPrereq: libtool zlib-devel
++BuildRequires: libtool zlib-devel
+ BuildRoot: %{_tmppath}/%{name}-root
+ 
+-
+ %description
+ lighttpd is intented to be a frontend for ad-servers which have to deliver
+ small files concurrently to many connections.
+ 
+-Available rpmbuild rebuild options :
+---with : ssl mysql lua memcache
++Available rpmbuild rebuild options:
++--with: ssl mysql lua memcache
+ 
+ %prep
+-
+ %setup -q
+ 
+ %build
+@@ -33,14 +31,13 @@
+ make
+ 
+ %install
+-
+ %makeinstall
+ 
+ mkdir -p %{buildroot}%{_sysconfdir}/{init.d,sysconfig}
+-if test -f /etc/redhat-release -o -f /etc/fedora-release; then
+-  install -m 755 doc/rc.lighttpd.redhat 
%{buildroot}%{_sysconfdir}/init.d/lighttpd
++if [ -f /etc/redhat-release -o -f /etc/fedora-release ]; then
++      install -m 755 doc/rc.lighttpd.redhat 
%{buildroot}%{_sysconfdir}/init.d/lighttpd
+ else
+-  install -m 755 doc/rc.lighttpd %{buildroot}%{_sysconfdir}/init.d/lighttpd
++      install -m 755 doc/rc.lighttpd 
%{buildroot}%{_sysconfdir}/init.d/lighttpd
+ fi
+ install -m 644 doc/sysconfig.lighttpd 
%{buildroot}%{_sysconfdir}/sysconfig/lighttpd
+ 
+@@ -49,16 +46,16 @@
+ 
+ %post
+ ## read http://www.fedora.us/docs/spec.html next time :)
+-if test "$1" = "1"; then
+-  # real install, not upgrade
+-  /sbin/chkconfig --add lighttpd
++if [ "$1" = "1" ]; then
++      # real install, not upgrade
++      /sbin/chkconfig --add lighttpd
+ fi
+ 
+ %preun
+-if test "$1" = "0"; then
+-  # real uninstall, not upgrade
+-  %{_sysconfdir}/init.d/lighttpd stop
+-  /sbin/chkconfig --del lighttpd
++if [ "$1" = "0"]; then
++      # real uninstall, not upgrade
++      %{_sysconfdir}/init.d/lighttpd stop
++      /sbin/chkconfig --del lighttpd
+ fi
+ 
+ %files
================================================================

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

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to