packages: varnish/varnish.spec, varnish/branch.diff (NEW), varnish/branch.s...
glen
glen at pld-linux.org
Fri Oct 16 14:59:58 CEST 2009
Author: glen Date: Fri Oct 16 12:59:58 2009 GMT
Module: packages Tag: HEAD
---- Log message:
- apply branch.diff
---- Files affected:
packages/varnish:
varnish.spec (1.39 -> 1.40) , branch.diff (NONE -> 1.1) (NEW), branch.sh (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/varnish/varnish.spec
diff -u packages/varnish/varnish.spec:1.39 packages/varnish/varnish.spec:1.40
--- packages/varnish/varnish.spec:1.39 Mon Oct 5 14:43:49 2009
+++ packages/varnish/varnish.spec Fri Oct 16 14:59:53 2009
@@ -5,7 +5,7 @@
Summary(pl.UTF-8): Varnish - wydajny akcelerator HTTP
Name: varnish
Version: 2.0.4
-Release: 2
+Release: 2.1
License: BSD
Group: Networking/Daemons/HTTP
Source0: http://dl.sourceforge.net/varnish/%{name}-%{version}.tar.gz
@@ -17,6 +17,7 @@
Source5: %{name}ncsa.sysconfig
Source6: %{name}.logrotate
Source7: %{name}.conf
+Patch100: branch.diff
Patch0: %{name}-build.patch
URL: http://www.varnish-cache.org/
BuildRequires: autoconf
@@ -87,6 +88,7 @@
%prep
%setup -q
+%patch100 -p0
%patch0 -p1
%build
@@ -158,7 +160,7 @@
%files
%defattr(644,root,root,755)
-%doc LICENSE README ChangeLog
+%doc LICENSE README ChangeLog etc/*.vcl
%dir %{_sysconfdir}/%{name}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/default.vcl
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/varnish
@@ -198,6 +200,9 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.40 2009/10/16 12:59:53 glen
+- apply branch.diff
+
Revision 1.39 2009/10/05 12:43:49 glen
- -libs split; rel 2
================================================================
Index: packages/varnish/branch.diff
diff -u /dev/null packages/varnish/branch.diff:1.1
--- /dev/null Fri Oct 16 14:59:58 2009
+++ packages/varnish/branch.diff Fri Oct 16 14:59:52 2009
@@ -0,0 +1,4712 @@
+Index: include/vsb.h
+===================================================================
+--- include/vsb.h (.../tags/varnish-2.0.4/varnish-cache)
++++ include/vsb.h (.../branches/2.0/varnish-cache)
+@@ -77,7 +77,8 @@
+ int vsb_len(struct vsb *);
+ int vsb_done(const struct vsb *);
+ void vsb_delete(struct vsb *);
+-void vsb_quote(struct vsb *s, const char *p, int how);
++void vsb_quote(struct vsb *s, const char *p, int len, int how);
++const char *vsb_unquote(struct vsb *s, const char *p, int len, int how);
+ #ifdef __cplusplus
+ };
+ #endif
+Index: include/compat/execinfo.h
+===================================================================
+--- include/compat/execinfo.h (.../tags/varnish-2.0.4/varnish-cache)
++++ include/compat/execinfo.h (.../branches/2.0/varnish-cache)
+@@ -0,0 +1,44 @@
++/*
++ * Copyright (c) 2003 Maxim Sobolev <sobomax at FreeBSD.org>
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in the
++ * documentation and/or other materials provided with the distribution.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ *
++ * $Id$
++ */
++
++#ifndef COMPAT_EXECINFO_H_INCLUDED
++#define COMPAT_EXECINFO_H_INCLUDED
++
++#ifdef __cplusplus
++extern "C" {
++#endif
++
++int backtrace(void **, int);
++char ** backtrace_symbols(void *const *, int);
++void backtrace_symbols_fd(void *const *, int, int);
++
++#ifdef __cplusplus
++}
++#endif
++
++#endif /* COMPAT_EXECINFO_H_INCLUDED */
+Index: include/libvarnish.h
+===================================================================
+--- include/libvarnish.h (.../tags/varnish-2.0.4/varnish-cache)
++++ include/libvarnish.h (.../branches/2.0/varnish-cache)
+@@ -42,6 +42,8 @@
+ /* from libvarnish/argv.c */
+ void FreeArgv(char **argv);
+ char **ParseArgv(const char *s, int flag);
++char *BackSlashDecode(const char *s, const char *e);
++int BackSlash(const char *s, char *res);
+ #define ARGV_COMMENT (1 << 0)
+ #define ARGV_COMMA (1 << 1)
+
+@@ -65,6 +67,7 @@
+ int TCP_filter_http(int sock);
+ void TCP_blocking(int sock);
+ void TCP_nonblocking(int sock);
++void TCP_linger(int sock, int linger);
+ #ifdef SOL_SOCKET
+ void TCP_name(const struct sockaddr *addr, unsigned l, char *abuf,
+ unsigned alen, char *pbuf, unsigned plen);
+Index: include/vrt_obj.h
+===================================================================
+--- include/vrt_obj.h (.../tags/varnish-2.0.4/varnish-cache)
++++ include/vrt_obj.h (.../branches/2.0/varnish-cache)
+@@ -24,6 +24,8 @@
+ double VRT_r_req_grace(struct sess *);
+ void VRT_l_req_grace(struct sess *, double);
+ const char * VRT_r_req_xid(struct sess *);
++unsigned VRT_r_req_esi(struct sess *);
++void VRT_l_req_esi(struct sess *, unsigned);
+ const char * VRT_r_bereq_request(const struct sess *);
+ void VRT_l_bereq_request(const struct sess *, const char *, ...);
+ const char * VRT_r_bereq_url(const struct sess *);
+Index: include/shmlog_tags.h
+===================================================================
+--- include/shmlog_tags.h (.../tags/varnish-2.0.4/varnish-cache)
++++ include/shmlog_tags.h (.../branches/2.0/varnish-cache)
+@@ -101,3 +101,5 @@
+ SLTM(Hash)
+
+ SLTM(Backend_health)
++
++SLTM(FetchError)
+Index: include/vrt.h
+===================================================================
+--- include/vrt.h (.../tags/varnish-2.0.4/varnish-cache)
++++ include/vrt.h (.../branches/2.0/varnish-cache)
+@@ -54,6 +54,7 @@
+ double interval;
+ unsigned window;
+ unsigned threshold;
++ unsigned initial;
+ };
+
+ /*
+Index: include/stat_field.h
+===================================================================
+--- include/stat_field.h (.../tags/varnish-2.0.4/varnish-cache)
++++ include/stat_field.h (.../branches/2.0/varnish-cache)
+@@ -30,21 +30,33 @@
+ */
+
+ MAC_STAT(client_conn, uint64_t, 'a', "Client connections accepted")
++MAC_STAT(client_drop, uint64_t, 'a', "Connection dropped, no sess")
+ MAC_STAT(client_req, uint64_t, 'a', "Client requests received")
+
+ MAC_STAT(cache_hit, uint64_t, 'a', "Cache hits")
+ MAC_STAT(cache_hitpass, uint64_t, 'a', "Cache hits for pass")
+ MAC_STAT(cache_miss, uint64_t, 'a', "Cache misses")
+
+-MAC_STAT(backend_conn, uint64_t, 'a', "Backend connections success")
+-MAC_STAT(backend_unhealthy, uint64_t, 'a',
+- "Backend connections not attempted")
+-MAC_STAT(backend_busy, uint64_t, 'a', "Backend connections too many")
+-MAC_STAT(backend_fail, uint64_t, 'a', "Backend connections failures")
+-MAC_STAT(backend_reuse, uint64_t, 'a', "Backend connections reuses")
+-MAC_STAT(backend_recycle, uint64_t, 'a', "Backend connections recycles")
+-MAC_STAT(backend_unused, uint64_t, 'a', "Backend connections unused")
++MAC_STAT(backend_conn, uint64_t, 'a', "Backend conn. success")
++MAC_STAT(backend_unhealthy, uint64_t, 'a', "Backend conn. not attempted")
++MAC_STAT(backend_busy, uint64_t, 'a', "Backend conn. too many")
++MAC_STAT(backend_fail, uint64_t, 'a', "Backend conn. failures")
++MAC_STAT(backend_reuse, uint64_t, 'a', "Backend conn. reuses")
++MAC_STAT(backend_toolate, uint64_t, 'a', "Backend conn. was closed")
++MAC_STAT(backend_recycle, uint64_t, 'a', "Backend conn. recycles")
++MAC_STAT(backend_unused, uint64_t, 'a', "Backend conn. unused")
+
++
++MAC_STAT(fetch_head, uint64_t, 'a', "Fetch head")
++MAC_STAT(fetch_length, uint64_t, 'a', "Fetch with Length")
++MAC_STAT(fetch_chunked, uint64_t, 'a', "Fetch chunked")
++MAC_STAT(fetch_eof, uint64_t, 'a', "Fetch EOF")
++MAC_STAT(fetch_bad, uint64_t, 'a', "Fetch had bad headers")
++MAC_STAT(fetch_close, uint64_t, 'a', "Fetch wanted close")
++MAC_STAT(fetch_oldhttp, uint64_t, 'a', "Fetch pre HTTP/1.1 closed")
++MAC_STAT(fetch_zero, uint64_t, 'a', "Fetch zero len")
++MAC_STAT(fetch_failed, uint64_t, 'a', "Fetch failed")
++
+ MAC_STAT(n_srcaddr, uint64_t, 'i', "N struct srcaddr")
+ MAC_STAT(n_srcaddr_act, uint64_t, 'i', "N active struct srcaddr")
+ MAC_STAT(n_sess_mem, uint64_t, 'i', "N struct sess_mem")
+Index: include/Makefile.am
+===================================================================
+--- include/Makefile.am (.../tags/varnish-2.0.4/varnish-cache)
++++ include/Makefile.am (.../branches/2.0/varnish-cache)
+@@ -14,6 +14,7 @@
+ cli_priv.h \
+ compat/asprintf.h \
+ compat/daemon.h \
++ compat/execinfo.h \
+ compat/setproctitle.h \
+ compat/srandomdev.h \
+ compat/strlcat.h \
+Index: configure.ac
+===================================================================
+--- configure.ac (.../tags/varnish-2.0.4/varnish-cache)
++++ configure.ac (.../branches/2.0/varnish-cache)
+@@ -81,6 +81,7 @@
+ AC_CHECK_HEADERS([sys/statvfs.h])
+ AC_CHECK_HEADERS([sys/vfs.h])
+ AC_CHECK_HEADERS([endian.h])
++AC_CHECK_HEADERS([execinfo.h])
+ AC_CHECK_HEADERS([netinet/in.h])
+ AC_CHECK_HEADERS([pthread_np.h])
+ AC_CHECK_HEADERS([stddef.h])
+@@ -102,6 +103,7 @@
+ AC_FUNC_VPRINTF
+ AC_CHECK_FUNCS([strerror])
+ AC_FUNC_STRERROR_R
++AC_CHECK_FUNCS([dladdr])
+ AC_CHECK_FUNCS([socket])
+ AC_CHECK_FUNCS([strptime])
+ AC_CHECK_FUNCS([fmtcheck])
+@@ -360,6 +362,15 @@
+ fi
+ AC_DEFINE_UNQUOTED([VCC_CC],"$VCC_CC",[C compiler command line for VCL code])
+
++# Define HTTP_HDR_MAX_VAL
++AC_ARG_WITH(max-header-fields,
++ AS_HELP_STRING([--with-max-header-fields=NUM],
++ [How many header fields to support (default=32)]),
++ [],
++ [with_max_header_fields=32])
++
++AC_DEFINE_UNQUOTED(HTTP_HDR_MAX_VAL, $with_max_header_fields, [Define maximum number of header fields supported by varnish ])
++
+ # Use jemalloc on Linux
+ JEMALLOC_SUBDIR=
+ JEMALLOC_LDADD=
+Index: lib/libvarnish/argv.c
+===================================================================
+--- lib/libvarnish/argv.c (.../tags/varnish-2.0.4/varnish-cache)
++++ lib/libvarnish/argv.c (.../branches/2.0/varnish-cache)
+@@ -43,11 +43,12 @@
+ #include <ctype.h>
+ #include <stdlib.h>
+ #include <stdio.h>
++#include <string.h>
+ #include <stdint.h>
+
+ #include "libvarnish.h"
+
+-static int
++int
+ BackSlash(const char *s, char *res)
+ {
+ int r;
+@@ -103,13 +104,16 @@
+ return (r);
+ }
+
+-static char *
++char *
+ BackSlashDecode(const char *s, const char *e)
+ {
+ const char *q;
+ char *p, *r;
+ int i;
+
++ if (e == NULL)
++ e = strchr(s, '\0');
++ assert(e != NULL);
+ p = calloc((e - s) + 1, 1);
+ if (p == NULL)
+ return (p);
+Index: lib/libvarnish/cli_common.c
+===================================================================
+--- lib/libvarnish/cli_common.c (.../tags/varnish-2.0.4/varnish-cache)
++++ lib/libvarnish/cli_common.c (.../branches/2.0/varnish-cache)
+@@ -73,7 +73,7 @@
+ cli_quote(struct cli *cli, const char *s)
+ {
+
+- vsb_quote(cli->sb, s, 0);
++ vsb_quote(cli->sb, s, -1, 0);
+ }
+
+ void
+Index: lib/libvarnish/tcp.c
+===================================================================
+--- lib/libvarnish/tcp.c (.../tags/varnish-2.0.4/varnish-cache)
++++ lib/libvarnish/tcp.c (.../branches/2.0/varnish-cache)
+@@ -36,6 +36,10 @@
+
+ #include <netinet/in.h>
+
++#ifdef __linux
++#include <netinet/tcp.h>
++#endif
++
+ #include <errno.h>
+ #include <sys/ioctl.h>
+ #ifdef HAVE_SYS_FILIO_H
+@@ -113,6 +117,10 @@
+ printf("Acceptfilter(%d, httpready): %d %s\n",
+ sock, i, strerror(errno));
+ return (i);
++#elif defined(__linux)
++ int defer = 1;
++ setsockopt(sock, SOL_TCP,TCP_DEFER_ACCEPT,(char *) &defer, sizeof(int));
++ return (0);
+ #else
+ (void)sock;
+ return (0);
+@@ -222,3 +230,17 @@
+ AZ(setsockopt(s, SOL_SOCKET, SO_RCVTIMEO, &timeout, sizeof timeout));
+ #endif
+ }
++
++/*--------------------------------------------------------------------
++ * Set or reset SO_LINGER flag
++ */
++
++void
++TCP_linger(int sock, int linger)
++{
++ struct linger lin;
++
++ memset(&lin, 0, sizeof lin);
++ lin.l_onoff = linger;
++ AZ(setsockopt(sock, SOL_SOCKET, SO_LINGER, &lin, sizeof lin));
++}
+Index: lib/libvarnish/vsb.c
+===================================================================
+--- lib/libvarnish/vsb.c (.../tags/varnish-2.0.4/varnish-cache)
++++ lib/libvarnish/vsb.c (.../branches/2.0/varnish-cache)
+@@ -481,25 +481,27 @@
+ * Quote a string
+ */
+ void
+-vsb_quote(struct vsb *s, const char *p, int how)
++vsb_quote(struct vsb *s, const char *p, int len, int how)
+ {
+ const char *q;
+ int quote = 0;
+
+ (void)how; /* For future enhancements */
++ if (len == -1)
++ len = strlen(p);
+
+- for (q = p; *q != '\0'; q++) {
++ for (q = p; q < p + len; q++) {
+ if (!isgraph(*q) || *q == '"') {
+ quote++;
+ break;
+ }
+ }
+ if (!quote) {
+- (void)vsb_cat(s, p);
++ (void)vsb_bcat(s, p, len);
+ return;
+ }
+ (void)vsb_putc(s, '"');
+- for (q = p; *q != '\0'; q++) {
++ for (q = p; q < p + len; q++) {
+ switch (*q) {
+ case ' ':
+ (void)vsb_putc(s, *q);
+@@ -522,9 +524,66 @@
+ if (isgraph(*q))
+ (void)vsb_putc(s, *q);
+ else
+- (void)vsb_printf(s, "\\%o", *q);
++ (void)vsb_printf(s, "\\%o", *q & 0xff);
+ break;
+ }
+ }
+ (void)vsb_putc(s, '"');
+ }
++
++/*
++ * Unquote a string
++ */
++const char *
++vsb_unquote(struct vsb *s, const char *p, int len, int how)
++{
++ const char *q;
++ char *r;
++ unsigned long u;
++ char c;
++
++ (void)how; /* For future enhancements */
++
++ if (len == -1)
++ len = strlen(p);
++
++ for (q = p; q < p + len; q++) {
++ if (*q != '\\') {
++ (void)vsb_bcat(s, q, 1);
++ continue;
++ }
++ if (++q >= p + len)
++ return ("Incomplete '\\'-sequence at end of string");
++
++ switch(*q) {
++ case 'n':
++ (void)vsb_bcat(s, "\n", 1);
++ continue;
++ case 'r':
++ (void)vsb_bcat(s, "\r", 1);
++ continue;
++ case 't':
++ (void)vsb_bcat(s, "\t", 1);
++ continue;
++ case '0':
++ case '1':
++ case '2':
++ case '3':
++ case '4':
++ case '5':
++ case '6':
++ case '7':
++ errno = 0;
++ u = strtoul(q, &r, 8);
++ if (errno != 0 || (u & ~0xff))
++ return ("\\ooo sequence out of range");
++ c = (char)u;
++ (void)vsb_bcat(s, &c, 1);
++ q = r - 1;
++ continue;
++ default:
++ (void)vsb_bcat(s, q, 1);
++ }
++ }
++ return (NULL);
++}
+Index: lib/libvarnishcompat/execinfo.c
+===================================================================
+--- lib/libvarnishcompat/execinfo.c (.../tags/varnish-2.0.4/varnish-cache)
++++ lib/libvarnishcompat/execinfo.c (.../branches/2.0/varnish-cache)
+@@ -0,0 +1,451 @@
++/*
++ * Copyright (c) 2003 Maxim Sobolev <sobomax at FreeBSD.org>
++ * All rights reserved.
++ *
++ * Redistribution and use in source and binary forms, with or without
++ * modification, are permitted provided that the following conditions
++ * are met:
++ * 1. Redistributions of source code must retain the above copyright
++ * notice, this list of conditions and the following disclaimer.
++ * 2. Redistributions in binary form must reproduce the above copyright
++ * notice, this list of conditions and the following disclaimer in the
++ * documentation and/or other materials provided with the distribution.
++ *
++ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
++ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
++ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ * SUCH DAMAGE.
++ *
++ * $Id$
++ */
++
++#include "config.h"
++
++#include <sys/types.h>
++#include <sys/uio.h>
++#include <dlfcn.h>
++#include <math.h>
++#include <stddef.h>
++#include <stdio.h>
++#include <stdlib.h>
++#include <string.h>
++#include <unistd.h>
++
++#include "execinfo.h"
++
++void *getreturnaddr(int);
++void *getframeaddr(int);
++
++#define D10(x) ceil(log10(((x) == 0) ? 2 : ((x) + 1)))
++
++inline static void *
++realloc_safe(void *ptr, size_t size)
++{
++ void *nptr;
++
++ nptr = realloc(ptr, size);
++ if (nptr == NULL)
++ free(ptr);
++ return nptr;
++}
++
++int
++backtrace(void **buffer, int size)
++{
++ int i;
++
++ for (i = 1; getframeaddr(i + 1) != NULL && i != size + 1; i++) {
++ buffer[i - 1] = getreturnaddr(i);
++ if (buffer[i - 1] == NULL)
++ break;
++ }
++
++ return i - 1;
++}
++
++char **
++backtrace_symbols(void *const *buffer, int size)
++{
++ size_t clen, alen;
++ int i;
++ char **rval;
++
++ clen = size * sizeof(char *);
++ rval = malloc(clen);
++ if (rval == NULL)
++ return NULL;
++ for (i = 0; i < size; i++) {
++
++#ifdef HAVE_DLADDR
++ {
++ Dl_info info;
++ int offset;
++
++ if (dladdr(buffer[i], &info) != 0) {
++ if (info.dli_sname == NULL)
++ info.dli_sname = "???";
++ if (info.dli_saddr == NULL)
++ info.dli_saddr = buffer[i];
++ offset = (const char*)buffer[i] - (const char*)info.dli_saddr;
++ /* "0x01234567 <function+offset> at filename" */
++ alen = 2 + /* "0x" */
++ (sizeof(void *) * 2) + /* "01234567" */
++ 2 + /* " <" */
++ strlen(info.dli_sname) + /* "function" */
++ 1 + /* "+" */
++ 10 + /* "offset */
++ 5 + /* "> at " */
++ strlen(info.dli_fname) + /* "filename" */
++ 1; /* "\0" */
++ rval = realloc_safe(rval, clen + alen);
++ if (rval == NULL)
++ return NULL;
++ snprintf((char *) rval + clen, alen, "%p <%s+%d> at %s",
++ buffer[i], info.dli_sname, offset, info.dli_fname);
++ rval[i] = (char *) clen;
++ clen += alen;
++ continue;
++ }
++ }
++#endif
++ alen = 2 + /* "0x" */
++ (sizeof(void *) * 2) + /* "01234567" */
++ 1; /* "\0" */
++ rval = realloc_safe(rval, clen + alen);
++ if (rval == NULL)
++ return NULL;
++ snprintf((char *) rval + clen, alen, "%p", buffer[i]);
++ rval[i] = (char *) clen;
++ clen += alen;
++ }
<<Diff was trimmed, longer than 597 lines>>
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/varnish/varnish.spec?r1=1.39&r2=1.40&f=u
More information about the pld-cvs-commit
mailing list