SHA256
1
0
forked from pool/varnish

Accepting request 506128 from home:1Antoine1:branches:server:http

- Update to version 5.1.2:
- Add varnish-5.1.2-add-fallthrough-comments.patch to fix build
  with GCC 7 (boo#1041259).

OBS-URL: https://build.opensuse.org/request/show/506128
OBS-URL: https://build.opensuse.org/package/show/server:http/varnish?expand=0&rev=82
This commit is contained in:
Jan Engelhardt 2017-06-28 08:21:25 +00:00 committed by Git OBS Bridge
parent 758fe198b5
commit 690a94e102
5 changed files with 253 additions and 4 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5101ad72b29d288a07e2e5ded4c2abe850b70ff000c13ceb1764625e83823f4a
size 2472963

View File

@ -0,0 +1,166 @@
GCC 7 introduces new warnings, including implicit fallthrough in switch blocks;
see https://gcc.gnu.org/gcc-7/changes.html#c-family. This warnings are turned
into errors in our case (-Werror).
This patch adds comments to make fallthroughs explicit and thus avoids compiler
warnings.
Note that most of these warnings are located in lib/libvgz, which will be
upgraded in a future release (see commit 5fae561 on master branch at
https://github.com/varnishcache/varnish-cache/commit/5fae561).
--
diff -up varnish-5.1.2/lib/libvgz/infback.c.orig varnish-5.1.2/lib/libvgz/infback.c
--- varnish-5.1.2/lib/libvgz/infback.c.orig 2017-06-25 18:25:04.558206683 +0200
+++ varnish-5.1.2/lib/libvgz/infback.c 2017-06-25 18:25:16.410207203 +0200
@@ -477,6 +477,7 @@ void FAR *out_desc;
}
Tracev((stderr, "inflate: codes ok\n"));
state->mode = LEN;
+ /* FALLTHROUGH */
case LEN:
/* use inflate_fast() if we have enough input and output */
diff -up varnish-5.1.2/lib/libvgz/inflate.c.orig varnish-5.1.2/lib/libvgz/inflate.c
--- varnish-5.1.2/lib/libvgz/inflate.c.orig 2017-06-25 18:24:51.234206098 +0200
+++ varnish-5.1.2/lib/libvgz/inflate.c 2017-06-25 18:25:42.098208329 +0200
@@ -719,6 +719,7 @@ int flush;
if (state->flags & 0x0200) CRC2(state->check, hold);
INITBITS();
state->mode = EXLEN;
+ /* FALLTHROUGH */
case EXLEN:
if (state->flags & 0x0400) {
NEEDBITS(16);
@@ -731,6 +732,7 @@ int flush;
else if (state->head != Z_NULL)
state->head->extra = Z_NULL;
state->mode = EXTRA;
+ /* FALLTHROUGH */
case EXTRA:
if (state->flags & 0x0400) {
copy = state->length;
@@ -753,6 +755,7 @@ int flush;
}
state->length = 0;
state->mode = NAME;
+ /* FALLTHROUGH */
case NAME:
if (state->flags & 0x0800) {
if (have == 0) goto inf_leave;
@@ -774,6 +777,7 @@ int flush;
state->head->name = Z_NULL;
state->length = 0;
state->mode = COMMENT;
+ /* FALLTHROUGH */
case COMMENT:
if (state->flags & 0x1000) {
if (have == 0) goto inf_leave;
@@ -794,6 +798,7 @@ int flush;
else if (state->head != Z_NULL)
state->head->comment = Z_NULL;
state->mode = HCRC;
+ /* FALLTHROUGH */
case HCRC:
if (state->flags & 0x0200) {
NEEDBITS(16);
@@ -817,6 +822,7 @@ int flush;
strm->adler = state->check = ZSWAP32(hold);
INITBITS();
state->mode = DICT;
+ /* FALLTHROUGH */
case DICT:
if (state->havedict == 0) {
RESTORE();
@@ -824,8 +830,10 @@ int flush;
}
strm->adler = state->check = adler32(0L, Z_NULL, 0);
state->mode = TYPE;
+ /* FALLTHROUGH */
case TYPE:
if (flush == Z_BLOCK || flush == Z_TREES) goto inf_leave;
+ /* FALLTHROUGH */
case TYPEDO:
if (strm->start_bit == 0)
strm->start_bit = 8 * (strm->total_in + in - have) - bits;
@@ -881,8 +889,10 @@ int flush;
INITBITS();
state->mode = COPY_;
if (flush == Z_TREES) goto inf_leave;
+ /* FALLTHROUGH */
case COPY_:
state->mode = COPY;
+ /* FALLTHROUGH */
case COPY:
copy = state->length;
if (copy) {
@@ -1022,8 +1032,10 @@ int flush;
Tracev((stderr, "inflate: codes ok\n"));
state->mode = LEN_;
if (flush == Z_TREES) goto inf_leave;
+ /* FALLTHROUGH */
case LEN_:
state->mode = LEN;
+ /* FALLTHROUGH */
case LEN:
if (have >= 6 && left >= 258) {
RESTORE();
@@ -1073,6 +1085,7 @@ int flush;
}
state->extra = (unsigned)(here.op) & 15;
state->mode = LENEXT;
+ /* FALLTHROUGH */
case LENEXT:
if (state->extra) {
NEEDBITS(state->extra);
@@ -1083,6 +1096,7 @@ int flush;
Tracevv((stderr, "inflate: length %u\n", state->length));
state->was = state->length;
state->mode = DIST;
+ /* FALLTHROUGH */
case DIST:
for (;;) {
here = state->distcode[BITS(state->distbits)];
@@ -1110,6 +1124,7 @@ int flush;
state->offset = (unsigned)here.val;
state->extra = (unsigned)(here.op) & 15;
state->mode = DISTEXT;
+ /* FALLTHROUGH */
case DISTEXT:
if (state->extra) {
NEEDBITS(state->extra);
@@ -1126,6 +1141,7 @@ int flush;
#endif
Tracevv((stderr, "inflate: distance %u\n", state->offset));
state->mode = MATCH;
+ /* FALLTHROUGH */
case MATCH:
if (left == 0) goto inf_leave;
copy = out - left;
@@ -1201,6 +1217,7 @@ int flush;
}
#ifdef GUNZIP
state->mode = LENGTH;
+ /* FALLTHROUGH */
case LENGTH:
if (state->wrap && state->flags) {
NEEDBITS(32);
@@ -1214,6 +1231,7 @@ int flush;
}
#endif
state->mode = DONE;
+ /* FALLTHROUGH */
case DONE:
ret = Z_STREAM_END;
goto inf_leave;
diff -up varnish-5.1.2/bin/varnishadm/varnishadm.c.orig varnish-5.1.2/bin/varnishadm/varnishadm.c
--- varnish-5.1.2/bin/varnishadm/varnishadm.c.orig 2017-06-25 18:38:35.790242267 +0200
+++ varnish-5.1.2/bin/varnishadm/varnishadm.c 2017-06-25 18:41:45.510250589 +0200
@@ -462,6 +462,7 @@ main(int argc, char * const *argv)
case 'h':
/* Usage help */
usage(0);
+ break;
case 'n':
n_arg = optarg;
break;

3
varnish-5.1.2.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:39d858137e26948a7c85f07363f13f0778da61d234126e03a160a0cb9ba4fce3
size 2597817

View File

@ -1,3 +1,83 @@
-------------------------------------------------------------------
Fri Jun 23 19:42:07 UTC 2017 - antoine.belvire@opensuse.org
- Update to version 5.1.2:
* Fix an endless loop in Backend Polling (#2295)
* Fix a Chunked bug in tight workspaces (#2207, #2275)
* Fix a bug relating to req.body when on waitinglist (#2266)
* Handle EPIPE on broken TCP connections (#2267)
* Work around the x86 arch's turbo-double FP format in parameter
setup code. (#1875)
* Fix race related to backend probe with proxy header (#2278)
* Keep VCL temperature consistent between mgt/worker also when
worker protests.
* A lot of HTTP/2 fixes.
- Changes introduced by version 5.1.1:
* Fix bug introduced by stubborn old bugger right before release
5.1.0 was cut.
- Changes introduced by version 5.1.0:
* Added varnishd command-line options -I, -x and -?, and
tightened restrictions on permitted combinations of options.
* More progress on support for HTTP/2.
* Add ``return(fail)`` to almost all VCL subroutines.
* Restored the old hit-for-pass, invoked with
``return(pass(DURATION))`` from
``vcl_backend_response``. hit-for-miss remains the default.
Added the cache_hitmiss stat, and cache_hitpass only counts the
new/old hit-for-pass cases. Restored HitPass to the Varnish
log, and added HitMiss. Added the HFP prefix to TTL log entries
to log a hit-for-pass duration.
* Rolled back the fix for #1206. Client delivery decides solely
whether to send a 304 client response, based on client request
and response headers.
* Added vtest.sh.
* Added vxid as a lefthand side for VSL queries.
* Added the setenv and write_body commands for Varnish test cases
(VTCs). err_shell is deprecated. Also added the operators
-cliexpect, -match and -hdrlen, and -reason replaces -msg.
Added the ${bad_backend} macro.
* varnishtest can be stopped with the TERM, INT and KILL signals,
but not with HUP.
* The fallback director has now an extra, optional parameter to
keep using the current backend until it falls sick.
* VMOD shared libraries are now copied to the workdir, to avoid
problems when VMODs are updated via packaging systems.
* Bump the VRT version to 6.0.
* Export more symbols from libvarnishapi.so.
* The size of the VSL log is limited to 4G-1b, placing upper
bounds on the -l option and the vsl_space and vsm_space
parameters.
* Added parameters clock_step, thread_pool_reserve and
ban_cutoff.
* Parameters vcl_dir and vmod_dir are deprecated, use vcl_path
and vmod_path instead.
* All parameters are defined, even on platforms that don't
support them. An unsupported parameter is documented as such in
param.show. Setting such a parameter is not an error, but has
no effect.
* Clarified the interpretations of the + and - operators in VCL
with operands of the various data types.
* DURATION types may be used in boolean contexts.
* INT, DURATION and REAL values can now be negative.
* Response codes 1000 or greater may now be set in VCL
internally. resp.status is delivered modulo 1000 in client
responses.
* IP addresses can be compared for equality in VCL.
* Introduce the STEVEDORE data type, and the objects
storage.SNAME in VCL. Added req.storage and beresp.storage;
beresp.storage_hint is deprecated.
* Retired the umem stevedore.
* req.ttl is deprecated.
* Added std.getenv() and std.late_100_continue().
* The fetch_failed stat is incremented for any kind of fetch
failure.
* Added the stats n_test_gunzip and
bans_lurker_obj_killed_cutoff.
* Clarified the meanings of the %r, %{X}i and %{X}o formatters in
varnishncsa.
- Add varnish-5.1.2-add-fallthrough-comments.patch to fix build
with GCC 7 (boo#1041259).
-------------------------------------------------------------------
Tue May 16 20:14:01 UTC 2017 - dimstar@opensuse.org

View File

@ -21,7 +21,7 @@
%define pkg_logdir %_localstatedir/log/%name
%define pkg_cachedir %_localstatedir/cache/%name
Name: varnish
Version: 5.0.0
Version: 5.1.2
Release: 0
Summary: High-performance HTTP accelerator
License: BSD-2-Clause
@ -34,6 +34,8 @@ Source3: varnish.sysconfig
Source5: varnish.logrotate
Source7: varnish.service
Source8: varnishlog.service
# PATCH-FIX-UPSTREAM varnish-5.1.2-add-fallthrough-comments.patch -- Fix build with GCC 7
Patch: varnish-5.1.2-add-fallthrough-comments.patch
BuildRequires: python3-docutils
BuildRequires: libxslt
BuildRequires: ncurses-devel
@ -94,6 +96,7 @@ This package holds the development files for varnish.
%prep
%setup -q
%patch -p1
%build
export CFLAGS="%optflags -fstack-protector"