1. 06 Apr, 2017 4 commits
    • Pål Hermunn Johansen's avatar
      Forgot to amend previous commit · ca754f5b
      Pål Hermunn Johansen authored
      There was a missing bracket that I fixed but forgot to amend the
      commit. Fixing with this one.
      ca754f5b
    • Reza Naghibi's avatar
      Make sure Age is always less than max-age · 14ce4804
      Reza Naghibi authored
      By rounding Age down, we make sure Age < max-age while the object
      is fresh. Otherwise, we can prematurely get Age == max-age and Varnish
      will calculate that as a 0s TTL and create a pass scenario.
      
      Conflicts:
      	bin/varnishd/cache/cache_req_fsm.c
      14ce4804
    • Dag Haavi Finstad's avatar
      Add a setenv command to varnishtest · 09ce321d
      Dag Haavi Finstad authored
      This lets you set environment variables in a test case.
      
      Usage is
      
          setenv "FOO" "bar"
      
      which will set FOO=bar if FOO does not already exist.
      
      There is also an optional '-force' argument, which will overwrite the
      current variable if already set:
      
          setenv -force "FOO" "baz"
      
      The force argument corresponds to passing a non-zero third argument to
      setenv(3).
      09ce321d
    • Dridi Boukelmoune's avatar
      Introduce a ZERO_OBJ macro similar to bzero · 768a00c1
      Dridi Boukelmoune authored
      It uses `explicit_bzero` when available and falls back to `memset`
      otherwise.
      
      Conflicts:
      	configure.ac
      768a00c1
  2. 05 Apr, 2017 3 commits
    • Martin Blix Grydeland's avatar
      Fix the spinlock loop in VBE_Poll · 04b4e380
      Martin Blix Grydeland authored
      VBE_Poll would not advance to test the next backend on the cooling
      list when the backend's n_conn is non-zero. This would create a
      spinlock effect, causing delays that could make the master kill the
      child because of CLI timeout.
      
      Fixes: #2295
      04b4e380
    • Martin Blix Grydeland's avatar
      Do not update mgt's mirrored VCL temp state on child temp state failures · bd7c7080
      Martin Blix Grydeland authored
      The child expects mgt to be consistent in its VCL state changes,
      e.g. not ask the child to 'use' a VCL that isn't warm. Not doing so
      will cause the child to assert (see asserts in
      cache_vcl.c:ccf_config_use). This could trigger because the mgt
      erranously would set its recorded temp regardless of the child's reply
      in mgt_vcl_setstate.
      
      This patch changes it to only record the new temp in mgt if the child
      replied success. If the child isn't running the new temp is always
      recorded.
      
      Slightly update v00044.vtc test case to reflect the need to update the
      state before restarting the child.
      
      Ref: https://github.com/varnishcache/varnish-cache/pull/2273
      bd7c7080
    • Martin Blix Grydeland's avatar
      Set the go-cold timer on newly loaded warm auto VCLs · 72a6d1ec
      Martin Blix Grydeland authored
      Newly loaded VCLs didn't get their go cold timer set even when they
      were set to auto, causing them to never go cold automatically.
      
      Fixes: #2270
      
      Conflicts:
      	bin/varnishd/mgt/mgt_vcl.c
      72a6d1ec
  3. 04 Apr, 2017 1 commit
    • Martin Blix Grydeland's avatar
      Fix race in the VSL segment counter initialization · 3e19f335
      Martin Blix Grydeland authored
      Fix a stupid misstake where the segment counter in the VSL segment was
      set just before the entire struct was cleared during
      initialization. This didn't cause problems in the common case because
      it would be set correctly on the very first log line produced. But it
      did open a race where an unfortunate early log client would assume it
      was lagging indefinetely behind varnishd on the log reading and report
      overflow error. This was most commonly experienced with varnishtest.
      
      Fixes: #2241
      3e19f335
  4. 03 Apr, 2017 3 commits
  5. 31 Mar, 2017 1 commit
  6. 30 Mar, 2017 2 commits
  7. 20 Feb, 2017 2 commits
  8. 09 Feb, 2017 2 commits
  9. 08 Feb, 2017 4 commits
  10. 07 Feb, 2017 6 commits
  11. 02 Feb, 2017 1 commit
  12. 31 Jan, 2017 1 commit
  13. 27 Jan, 2017 2 commits
  14. 26 Jan, 2017 2 commits
  15. 25 Jan, 2017 1 commit
  16. 06 Jan, 2017 1 commit
  17. 05 Jan, 2017 1 commit
  18. 03 Jan, 2017 1 commit
  19. 09 Dec, 2016 2 commits