Author: glen                         Date: Mon Oct 26 16:42:22 2009 GMT
Module: packages                      Tag: HEAD
---- Log message:
- bugfix for #1307; rel 2

---- Files affected:
packages/lighttpd:
   lighttpd-branch.diff (1.60 -> 1.61) , lighttpd.spec (1.306 -> 1.307) 

---- Diffs:

================================================================
Index: packages/lighttpd/lighttpd-branch.diff
diff -u packages/lighttpd/lighttpd-branch.diff:1.60 
packages/lighttpd/lighttpd-branch.diff:1.61
--- packages/lighttpd/lighttpd-branch.diff:1.60 Wed Sep 30 12:08:30 2009
+++ packages/lighttpd/lighttpd-branch.diff      Mon Oct 26 17:42:16 2009
@@ -1,3065 +1,91 @@
-Index: ChangeLog
-===================================================================
-Index: .cvsignore
-===================================================================
-Index: src/.cvsignore
-===================================================================
-Index: src/configfile-glue.c
-===================================================================
---- src/configfile-glue.c      (.../tags/lighttpd-1.4.23)
-+++ src/configfile-glue.c      (.../branches/lighttpd-1.4.x)
-@@ -103,7 +103,6 @@
-                                       if (e != ds->value->ptr && !*e && l >=0 
&& l <= 65535) {
-                                               *((unsigned short 
*)(cv[i].destination)) = l;
-                                               break;
--
-                                       }
-                               }
- 
-@@ -112,10 +111,40 @@
-                               return -1;
-                       }
-                       default:
--                              log_error_write(srv, __FILE__, __LINE__, 
"ssds", "unexpected type for key:", cv[i].key, du->type, "expected a integer, 
range 0 ... 65535");
-+                              log_error_write(srv, __FILE__, __LINE__, 
"ssds", "unexpected type for key:", cv[i].key, du->type, "expected a short 
integer, range 0 ... 65535");
-                               return -1;
-                       }
-                       break;
-+              case T_CONFIG_INT:
-+                      switch(du->type) {
-+                      case TYPE_INTEGER: {
-+                              data_integer *di = (data_integer *)du;
-+
-+                              *((unsigned int *)(cv[i].destination)) = 
di->value;
-+                              break;
-+                      }
-+                      case TYPE_STRING: {
-+                              data_string *ds = (data_string *)du;
-+
-+                              if (ds->value->ptr && *ds->value->ptr) {
-+                                      char *e;
-+                                      long l = strtol(ds->value->ptr, &e, 10);
-+                                      if (e != ds->value->ptr && !*e && l >= 
0) {
-+                                              *((unsigned int 
*)(cv[i].destination)) = l;
-+                                              break;
-+                                      }
-+                              }
-+
-+
-+                              log_error_write(srv, __FILE__, __LINE__, "ssb", 
"got a string but expected an integer:", cv[i].key, ds->value);
-+
-+                              return -1;
-+                      }
-+                      default:
-+                              log_error_write(srv, __FILE__, __LINE__, 
"ssds", "unexpected type for key:", cv[i].key, du->type, "expected an integer, 
range 0 ... 4294967295");
-+                              return -1;
-+                      }
-+                      break;
-               case T_CONFIG_BOOLEAN:
-                       if (du->type == TYPE_STRING) {
-                               data_string *ds = (data_string *)du;
-Index: src/mod_cgi.c
-===================================================================
---- src/mod_cgi.c      (.../tags/lighttpd-1.4.23)
-+++ src/mod_cgi.c      (.../branches/lighttpd-1.4.x)
-@@ -56,6 +56,7 @@
- 
- typedef struct {
-       array *cgi;
-+      unsigned short execute_x_only;
- } plugin_config;
- 
- typedef struct {
-@@ -151,6 +152,7 @@
- 
-       config_values_t cv[] = {
-               { "cgi.assign",                  NULL, T_CONFIG_ARRAY, 
T_CONFIG_SCOPE_CONNECTION },       /* 0 */
-+              { "cgi.execute-x-only",          NULL, T_CONFIG_BOOLEAN, 
T_CONFIG_SCOPE_CONNECTION },     /* 1 */
-               { NULL,                          NULL, T_CONFIG_UNSET, 
T_CONFIG_SCOPE_UNSET}
-       };
- 
-@@ -165,8 +167,10 @@
-               assert(s);
- 
-               s->cgi    = array_init();
-+              s->execute_x_only = 0;
- 
-               cv[0].destination = s->cgi;
-+              cv[1].destination = &(s->execute_x_only);
- 
-               p->config_storage[i] = s;
- 
-@@ -580,12 +584,9 @@
- #if 0
-                               log_error_write(srv, __FILE__, __LINE__, "sd", 
"(debug) cgi exited fine, pid:", pid);
- #endif
--                              pid = 0;
--
-                               return HANDLER_GO_ON;
-                       } else {
-                               log_error_write(srv, __FILE__, __LINE__, "sd", 
"cgi died, pid:", pid);
--                              pid = 0;
-                               return HANDLER_GO_ON;
-                       }
-               }
-@@ -1005,7 +1006,7 @@
-                       args[i++] = cgi_handler->ptr;
-               }
-               args[i++] = con->physical.path->ptr;
--              args[i++] = NULL;
-+              args[i  ] = NULL;
- 
-               /* search for the last / */
-               if (NULL != (c = strrchr(con->physical.path->ptr, '/'))) {
-@@ -1018,8 +1019,6 @@
-                       *c = '/';
-               }
- 
--              openDevNull(STDERR_FILENO);
--
-               /* we don't need the client socket */
-               for (i = 3; i < 256; i++) {
-                       if (i != srv->errorlog_fd) close(i);
-@@ -1198,6 +1197,8 @@
- 
-                       if (buffer_is_equal_string(du->key, 
CONST_STR_LEN("cgi.assign"))) {
-                               PATCH(cgi);
-+                      } else if (buffer_is_equal_string(du->key, 
CONST_STR_LEN("cgi.execute-x-only"))) {
-+                              PATCH(execute_x_only);
-                       }
-               }
-       }
-@@ -1220,6 +1221,7 @@
- 
-       if (HANDLER_ERROR == stat_cache_get_entry(srv, con, con->physical.path, 
&sce)) return HANDLER_GO_ON;
-       if (!S_ISREG(sce->st.st_mode)) return HANDLER_GO_ON;
-+      if (p->conf.execute_x_only == 1 && (sce->st.st_mode & (S_IXUSR | 
S_IXGRP | S_IXOTH)) == 0) return HANDLER_GO_ON;
- 
-       s_len = fn->used - 1;
- 
-Index: src/network_write.c
-===================================================================
---- src/network_write.c        (.../tags/lighttpd-1.4.23)
-+++ src/network_write.c        (.../branches/lighttpd-1.4.x)
-@@ -46,15 +46,27 @@
-                       toSend = c->mem->used - 1 - c->offset;
- #ifdef __WIN32
-                       if ((r = send(fd, offset, toSend, 0)) < 0) {
--                              log_error_write(srv, __FILE__, __LINE__, "ssd", 
"write failed: ", strerror(errno), fd);
-+                              /* no error handling for windows... */
-+                              log_error_write(srv, __FILE__, __LINE__, "ssd", 
"send failed: ", strerror(errno), fd);
- 
-                               return -1;
-                       }
- #else
-                       if ((r = write(fd, offset, toSend)) < 0) {
--                              log_error_write(srv, __FILE__, __LINE__, "ssd", 
"write failed: ", strerror(errno), fd);
-+                              switch (errno) {
-+                              case EAGAIN:
-+                              case EINTR:
-+                                      r = 0;
-+                                      break;
-+                              case EPIPE:
-+                              case ECONNRESET:
-+                                      return -2;
-+                              default:
-+                                      log_error_write(srv, __FILE__, 
__LINE__, "ssd",
-+                                              "write failed:", 
strerror(errno), fd);
- 
--                              return -1;
-+                                      return -1;
-+                              }
-                       }
- #endif
- 
-@@ -98,7 +110,7 @@
-                               return -1;
-                       }
- 
--#if defined USE_MMAP
-+#ifdef USE_MMAP
-                       if (MAP_FAILED == (p = mmap(0, sce->st.st_size, 
PROT_READ, MAP_SHARED, ifd, 0))) {
-                               log_error_write(srv, __FILE__, __LINE__, "ss", 
"mmap failed: ", strerror(errno));
- 
-@@ -109,13 +121,26 @@
-                       close(ifd);
- 
-                       if ((r = write(fd, p + offset, toSend)) <= 0) {
--                              log_error_write(srv, __FILE__, __LINE__, "ss", 
"write failed: ", strerror(errno));
--                              munmap(p, sce->st.st_size);
--                              return -1;
-+                              switch (errno) {
-+                              case EAGAIN:
-+                              case EINTR:
-+                                      r = 0;
-+                                      break;
-+                              case EPIPE:
-+                              case ECONNRESET:
-+                                      munmap(p, sce->st.st_size);
-+                                      return -2;
-+                              default:
-+                                      log_error_write(srv, __FILE__, 
__LINE__, "ssd",
-+                                              "write failed:", 
strerror(errno), fd);
-+                                      munmap(p, sce->st.st_size);
-+
-+                                      return -1;
-+                              }
-                       }
- 
-                       munmap(p, sce->st.st_size);
--#else
-+#else /* USE_MMAP */
-                       buffer_prepare_copy(srv->tmp_buf, toSend);
- 
-                       lseek(ifd, offset, SEEK_SET);
-@@ -127,12 +152,33 @@
-                       }
-                       close(ifd);
- 
--                      if (-1 == (r = send(fd, srv->tmp_buf->ptr, toSend, 0))) 
{
--                              log_error_write(srv, __FILE__, __LINE__, "ss", 
"write: ", strerror(errno));
-+#ifdef __WIN32
-+                      if ((r = send(fd, srv->tmp_buf->ptr, toSend, 0)) < 0) {
-+                              /* no error handling for windows... */
-+                              log_error_write(srv, __FILE__, __LINE__, "ssd", 
"send failed: ", strerror(errno), fd);
- 
-                               return -1;
-                       }
--#endif
-+#else /* __WIN32 */
-+                      if ((r = write(fd, srv->tmp_buf->ptr, toSend)) < 0) {
-+                              switch (errno) {
-+                              case EAGAIN:
-+                              case EINTR:
-+                                      r = 0;
-+                                      break;
-+                              case EPIPE:
-+                              case ECONNRESET:
-+                                      return -2;
-+                              default:
-+                                      log_error_write(srv, __FILE__, 
__LINE__, "ssd",
-+                                              "write failed:", 
strerror(errno), fd);
-+
-+                                      return -1;
-+                              }
-+                      }
-+#endif /* __WIN32 */
-+#endif /* USE_MMAP */
-+
-                       c->offset += r;
-                       cq->bytes_out += r;
- 
-Index: src/mod_secure_download.c
-===================================================================
---- src/mod_secure_download.c  (.../tags/lighttpd-1.4.23)
-+++ src/mod_secure_download.c  (.../branches/lighttpd-1.4.x)
-@@ -37,7 +37,7 @@
-       buffer *secret;
-       buffer *uri_prefix;
- 
--      unsigned short timeout;
-+      unsigned int timeout;
- } plugin_config;
- 
- typedef struct {
-@@ -99,7 +99,7 @@
-               { "secdownload.secret",            NULL, T_CONFIG_STRING, 
T_CONFIG_SCOPE_CONNECTION },       /* 0 */
-               { "secdownload.document-root",     NULL, T_CONFIG_STRING, 
T_CONFIG_SCOPE_CONNECTION },       /* 1 */
-               { "secdownload.uri-prefix",        NULL, T_CONFIG_STRING, 
T_CONFIG_SCOPE_CONNECTION },       /* 2 */
--              { "secdownload.timeout",           NULL, T_CONFIG_SHORT, 
T_CONFIG_SCOPE_CONNECTION },        /* 3 */
-+              { "secdownload.timeout",           NULL, T_CONFIG_INT, 
T_CONFIG_SCOPE_CONNECTION },        /* 3 */
-               { NULL,                            NULL, T_CONFIG_UNSET, 
T_CONFIG_SCOPE_UNSET }
-       };
- 
-@@ -245,8 +245,8 @@
-       }
- 
-       /* timed-out */
--      if ( (srv->cur_ts > ts && srv->cur_ts - ts > p->conf.timeout) ||
--           (srv->cur_ts < ts && ts - srv->cur_ts > p->conf.timeout) ) {
-+      if ( (srv->cur_ts > ts && (unsigned int) (srv->cur_ts - ts) > 
p->conf.timeout) ||
-+           (srv->cur_ts < ts && (unsigned int) (ts - srv->cur_ts) > 
p->conf.timeout) ) {
-               /* "Gone" as the url will never be valid again instead of "408 
- Timeout" where the request may be repeated */
-               con->http_status = 410;
- 
-Index: src/base.h
-===================================================================
---- src/base.h (.../tags/lighttpd-1.4.23)
-+++ src/base.h (.../branches/lighttpd-1.4.x)
-@@ -84,6 +84,7 @@
- typedef enum { T_CONFIG_UNSET,
-               T_CONFIG_STRING,
-               T_CONFIG_SHORT,
-+              T_CONFIG_INT,
-               T_CONFIG_BOOLEAN,
-               T_CONFIG_ARRAY,
-               T_CONFIG_LOCAL,
-@@ -281,7 +282,7 @@
-       unsigned short etag_use_mtime;
-       unsigned short etag_use_size;
-       unsigned short force_lowercase_filenames; /* if the FS is 
case-insensitive, force all files to lower-case */
--      unsigned short max_request_size;
-+      unsigned int max_request_size;
- 
-       unsigned short kbytes_per_second; /* connection kb/s limit */
- 
-@@ -472,6 +473,7 @@
- 
-       buffer *errorlog_file;
-       unsigned short errorlog_use_syslog;
-+      buffer *breakagelog_file;
- 
-       unsigned short dont_daemonize;
-       buffer *changeroot;
-@@ -490,7 +492,7 @@
-       unsigned short max_worker;
-       unsigned short max_fds;
-       unsigned short max_conns;
--      unsigned short max_request_size;
-+      unsigned int max_request_size;
- 
-       unsigned short log_request_header_on_error;
-       unsigned short log_state_handling;
-@@ -538,7 +540,7 @@
- 
-       /* the errorlog */
-       int errorlog_fd;
--      enum { ERRORLOG_STDERR, ERRORLOG_FILE, ERRORLOG_SYSLOG, ERRORLOG_PIPE } 
errorlog_mode;
-+      enum { ERRORLOG_FILE, ERRORLOG_FD, ERRORLOG_SYSLOG, ERRORLOG_PIPE } 
errorlog_mode;
-       buffer *errorlog_buf;
- 
-       fdevents *ev, *ev_ins;
-Index: src/mod_rewrite.c
-===================================================================
---- src/mod_rewrite.c  (.../tags/lighttpd-1.4.23)
-+++ src/mod_rewrite.c  (.../branches/lighttpd-1.4.x)
-@@ -176,7 +176,7 @@
-       data_unset *du;
- 
-       if (NULL != (du = array_get_element(ca, option))) {
--              data_array *da = (data_array *)du;
-+              data_array *da;
-               size_t j;
- 
-               if (du->type != TYPE_ARRAY) {
-@@ -373,7 +373,7 @@
-                       }
-               } else {
-                       const char **list;
--                      size_t start, end;
-+                      size_t start;
-                       size_t k;
- 
-                       /* it matched */
-@@ -383,17 +383,15 @@
- 
-                       buffer_reset(con->request.uri);
- 
--                      start = 0; end = pattern_len;
-+                      start = 0;
-                       for (k = 0; k < pattern_len; k++) {
-                               if (pattern[k] == '$' || pattern[k] == '%') {
-                                       /* got one */
- 
-                                       size_t num = pattern[k + 1] - '0';
- 
--                                      end = k;
-+                                      
buffer_append_string_len(con->request.uri, pattern + start, k - start);
- 
--                                      
buffer_append_string_len(con->request.uri, pattern + start, end - start);
--
-                                       if (!isdigit((unsigned char)pattern[k + 
1])) {
-                                               /* enable escape: "%%" => "%", 
"%a" => "%a", "$$" => "$" */
-                                               
buffer_append_string_len(con->request.uri, pattern+k, pattern[k] == 
pattern[k+1] ? 1 : 2);
-Index: src/connections.c
-===================================================================
---- src/connections.c  (.../tags/lighttpd-1.4.23)
-+++ src/connections.c  (.../branches/lighttpd-1.4.x)
-@@ -782,13 +782,13 @@
-       CLEAN(request.pathinfo);
-       CLEAN(request.request);
- 
--      CLEAN(request.orig_uri);
-+      /* CLEAN(request.orig_uri); */
- 
-       CLEAN(uri.scheme);
--      CLEAN(uri.authority);
--      CLEAN(uri.path);
-+      /* CLEAN(uri.authority); */
-+      /* CLEAN(uri.path); */
-       CLEAN(uri.path_raw);
--      CLEAN(uri.query);
-+      /* CLEAN(uri.query); */
- 
-       CLEAN(physical.doc_root);
-       CLEAN(physical.path);
-@@ -1401,6 +1401,11 @@
-                                               "state for fd", con->fd, 
connection_get_state(con->state));
-                       }
- 
-+                      buffer_reset(con->uri.authority);
-+                      buffer_reset(con->uri.path);
-+                      buffer_reset(con->uri.query);
-+                      buffer_reset(con->request.orig_uri);
-+
-                       if (http_request_parse(srv, con)) {
-                               /* we have to read some data from the POST 
request */
- 
-@@ -1725,7 +1730,7 @@
-                               case HANDLER_FINISHED:
-                                       break;
-                               default:
--                                      log_error_write(srv, __FILE__, 
__LINE__, "");
-+                                      log_error_write(srv, __FILE__, 
__LINE__, "sd", "unhandling return value", r);
-                                       break;
-                               }
-                               break;
-Index: src/network.c
+Index: src/mod_magnet.c
 ===================================================================
---- src/network.c      (.../tags/lighttpd-1.4.23)
-+++ src/network.c      (.../branches/lighttpd-1.4.x)
-@@ -90,6 +90,7 @@
- 
-       srv_socket = calloc(1, sizeof(*srv_socket));
-       srv_socket->fd = -1;
-+      srv_socket->fde_ndx = -1;
- 
-       srv_socket->srv_token = buffer_init();
-       buffer_copy_string_buffer(srv_socket->srv_token, host_token);
-@@ -103,7 +104,7 @@
-       if (NULL == (sp = strrchr(b->ptr, ':'))) {
-               log_error_write(srv, __FILE__, __LINE__, "sb", "value of 
$SERVER[\"socket\"] has to be \"ip:port\".", b);
- 
--              return -1;
-+              goto error_free_socket;
-       }
- 
-       host = b->ptr;
-@@ -126,7 +127,7 @@
-       } else if (port == 0 || port > 65535) {
-               log_error_write(srv, __FILE__, __LINE__, "sd", "port out of 
range:", port);
- 
--              return -1;
-+              goto error_free_socket;
-       }
- 
-       if (*host == '\0') host = NULL;
-@@ -138,12 +139,12 @@
- 
-               if (-1 == (srv_socket->fd = 
socket(srv_socket->addr.plain.sa_family, SOCK_STREAM, 0))) {
-                       log_error_write(srv, __FILE__, __LINE__, "ss", "socket 
failed:", strerror(errno));
--                      return -1;
-+                      goto error_free_socket;
-               }
- #else
-               log_error_write(srv, __FILE__, __LINE__, "s",
-                               "ERROR: Unix Domain sockets are not 
supported.");
--              return -1;
-+              goto error_free_socket;
- #endif
-       }
- 
-@@ -153,7 +154,7 @@
- 
-               if (-1 == (srv_socket->fd = 
socket(srv_socket->addr.plain.sa_family, SOCK_STREAM, IPPROTO_TCP))) {
-                       log_error_write(srv, __FILE__, __LINE__, "ss", "socket 
failed:", strerror(errno));
--                      return -1;
-+                      goto error_free_socket;
-               }
-               srv_socket->use_ipv6 = 1;
-       }
-@@ -163,17 +164,22 @@
-               srv_socket->addr.plain.sa_family = AF_INET;
-               if (-1 == (srv_socket->fd = 
socket(srv_socket->addr.plain.sa_family, SOCK_STREAM, IPPROTO_TCP))) {
-                       log_error_write(srv, __FILE__, __LINE__, "ss", "socket 
failed:", strerror(errno));
--                      return -1;
-+                      goto error_free_socket;
-               }
-       }
- 
-+#ifdef FD_CLOEXEC
-+      /* set FD_CLOEXEC now, fdevent_fcntl_set is called later; needed for 
pipe-logger forks */
-+      fcntl(srv_socket->fd, F_SETFD, FD_CLOEXEC);
-+#endif
-+
-       /* */
-       srv->cur_fds = srv_socket->fd;
- 
-       val = 1;
-       if (setsockopt(srv_socket->fd, SOL_SOCKET, SO_REUSEADDR, &val, 
sizeof(val)) < 0) {
-               log_error_write(srv, __FILE__, __LINE__, "ss", "socketsockopt 
failed:", strerror(errno));
--              return -1;
-+              goto error_free_socket;
-       }
- 
-       switch(srv_socket->addr.plain.sa_family) {
-@@ -198,7 +204,7 @@
-                                               "sssss", "getaddrinfo failed: ",
-                                               gai_strerror(r), "'", host, 
"'");
- 
--                              return -1;
-+                              goto error_free_socket;
-                       }
- 
-                       memcpy(&(srv_socket->addr), res->ai_addr, 
res->ai_addrlen);
-@@ -220,17 +226,17 @@
-                               log_error_write(srv, __FILE__, __LINE__,
-                                               "sds", "gethostbyname failed: ",
-                                               h_errno, host);
--                              return -1;
-+                              goto error_free_socket;
-                       }
- 
-                       if (he->h_addrtype != AF_INET) {
-                               log_error_write(srv, __FILE__, __LINE__, "sd", 
"addr-type != AF_INET: ", he->h_addrtype);
--                              return -1;
-+                              goto error_free_socket;
-                       }
- 
-                       if (he->h_length != sizeof(struct in_addr)) {
-                               log_error_write(srv, __FILE__, __LINE__, "sd", 
"addr-length != sizeof(in_addr): ", he->h_length);
--                              return -1;
-+                              goto error_free_socket;
-                       }
- 
-                       memcpy(&(srv_socket->addr.ipv4.sin_addr.s_addr), 
he->h_addr_list[0], he->h_length);
-@@ -260,7 +266,7 @@
-                               host);
- 
- 
--                      return -1;
-+                      goto error_free_socket;
-               }
- 
-               /* connect failed */
-@@ -275,14 +281,12 @@
-                               "testing socket failed:",
-                               host, strerror(errno));
- 
--                      return -1;
-+                      goto error_free_socket;
-               }
- 
-               break;
-       default:
--              addr_len = 0;
--
--              return -1;
-+              goto error_free_socket;
-       }
- 
-       if (0 != bind(srv_socket->fd, (struct sockaddr *) &(srv_socket->addr), 
addr_len)) {
-@@ -298,12 +302,12 @@
-                                       host, port, strerror(errno));
-                       break;
-               }
--              return -1;
-+              goto error_free_socket;
-       }
- 
-       if (-1 == listen(srv_socket->fd, 128 * 8)) {
-               log_error_write(srv, __FILE__, __LINE__, "ss", "listen failed: 
", strerror(errno));
--              return -1;
-+              goto error_free_socket;
-       }
- 
-       if (s->is_ssl) {
-@@ -316,14 +320,14 @@
-                       if (0 == RAND_status()) {
-                               log_error_write(srv, __FILE__, __LINE__, "ss", 
"SSL:",
-                                               "not enough entropy in the 
pool");
--                              return -1;
-+                              goto error_free_socket;
-                       }
-               }
- 
-               if (NULL == (s->ssl_ctx = SSL_CTX_new(SSLv23_server_method()))) 
{
-                       log_error_write(srv, __FILE__, __LINE__, "ss", "SSL:",
-                                       ERR_error_string(ERR_get_error(), 
NULL));
--                      return -1;
-+                      goto error_free_socket;
-               }
- 
-               if (!s->ssl_use_sslv2) {
-@@ -331,7 +335,7 @@
-                       if (SSL_OP_NO_SSLv2 != SSL_CTX_set_options(s->ssl_ctx, 
SSL_OP_NO_SSLv2)) {
-                               log_error_write(srv, __FILE__, __LINE__, "ss", 
"SSL:",
-                                               
ERR_error_string(ERR_get_error(), NULL));
--                              return -1;
-+                              goto error_free_socket;
-                       }
<<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.60&r2=1.61&f=u
    
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/lighttpd/lighttpd.spec?r1=1.306&r2=1.307&f=u

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

Reply via email to