1. 12 Jun, 2019 2 commits
  2. 04 Jun, 2019 1 commit
  3. 03 Jun, 2019 11 commits
  4. 31 May, 2019 1 commit
    • Nils Goroll's avatar
      properly maintain the obans list when pruning the ban list tail · 991d8d1a
      Nils Goroll authored
      background: When the ban lurker has finished working the bottom of the
      ban list, conceptually we mark all bans it has evaluated as completed
      and then remove the tail of the ban list which has no references any
      more.
      
      Yet, for efficiency, we first remove the tail and then mark only those
      bans completed, which we did not remove. Doing so depends on knowing
      where in the (obans) list of bans to be completed is the new tail of
      the bans list after pruning.
      
      5dd54f83 was intended to solve this,
      but the fix was incomplete (and also unnecessarily complicated): For
      example when a duplicate ban was issued, ban_lurker_test_ban() could
      remove a ban from the obans list which later happens to become the new
      ban tail.
      
      We now - hopefully - solve the problem for real by properly cleaning
      the obans list when we prune the ban list.
      
      Fixes #3006
      Fixes #2779
      Fixes #2556 for real (5dd54f83 was
      incomplete)
      991d8d1a
  5. 30 May, 2019 5 commits
  6. 29 May, 2019 6 commits
  7. 28 May, 2019 4 commits
  8. 27 May, 2019 7 commits
    • Poul-Henning Kamp's avatar
    • Poul-Henning Kamp's avatar
      Explain things for Coverity · 8fd310af
      Poul-Henning Kamp authored
      8fd310af
    • Poul-Henning Kamp's avatar
      Avoid use after free. · a6ce0697
      Poul-Henning Kamp authored
      Spotted by:	fgs with asan (in the castle)
      a6ce0697
    • Dridi Boukelmoune's avatar
      Easier regression tracking with vtc-bisect.sh · 657e31f2
      Dridi Boukelmoune authored
      With this script we can essentially use a VTC to track down a regression
      and see what broke after getting a cup of coffee, lunch, or whatever you
      wish to do while the script is running.
      
      It will search out of the box for a regression between the last tag and
      the current git head, and assumes the last tag passed the test case. It
      is otherwise the maintainer's responsibility to provide the good and/or
      bad commits beforehand.
      
      For more information:
      
          tools/vtc-bisect.sh -h
      
      I had this idea after setting up an automated bisect one time too many
      for #3003 and decided to generalize this in a handy script.
      
      For example:
      
          tools/vtc-bisect.sh -b d6d34160~ bin/varnishtest/tests/r03003.vtc
      
      The script works on a best-effort basis and tries to minimize rebuild
      time, or broken builds. It has minimal error handling and may leave you
      in a dirty git tree stuck in bisect mode as a result.
      
      I also noticed that 6.2.0 was not tagged in the master branch, so the
      example above starts with the varnish-6.1.0 tag. Tagging major releases
      (aka x.y.0 or dot-zero releases) from master is part of the release
      procedure and this facility should give one more reason to enforce the
      rule. Last time it happened before 6.2.0 was 5.2.0 so there's clearly
      something wrong with x.2.0 releases...
      
      This will of course not solve all bisect problems if for example a VTC
      relies on a feature that wasn't available in varnishtest when the
      regression was introduced and we still may need to perform manual git
      bisect operations but hopefully this should save us time from now on.
      657e31f2
    • Poul-Henning Kamp's avatar
      c1196bb7
    • Poul-Henning Kamp's avatar
      Add a "vcl.symtab" debug command. · a808daa3
      Poul-Henning Kamp authored
      a808daa3
    • Poul-Henning Kamp's avatar
      02acb35b
  9. 26 May, 2019 2 commits
    • Federico G. Schwindt's avatar
      3ef8142a
    • Klemens Nanni's avatar
      Prefer Python 3 tools · 8e523685
      Klemens Nanni authored
      The last three commits already made configure recommend installing
      Python 3 packages and look for versioned executables, however with a low
      priority.
      
      This is a problem on systems such as OpenBSD 6.5 with a default Python
      version at 2.7, where 3.7 flavored Python packages get installed with
      a "-3" binary suffix.  That is, when both rst2man and rst2man-3 are
      installed at configure time, the lower version will be picked unless
      explicitly passed through `--with-feature' arguments.
      
      Regardless of this specific case, trying more specificly versioned tool
      names first seems correctly in line with recent development and less
      error prone, so change it accordingly.
      8e523685
  10. 24 May, 2019 1 commit
    • Dridi Boukelmoune's avatar
      Revert "actually, the scope must not change either" · d6d34160
      Dridi Boukelmoune authored
      This reverts commit 86af5ce0.
      
      Unfortunately we have two scopes top and task that may conflict when
      esi_level is zero. This restores the id field, making struct vrt_priv
      slightly larger than when it used to be managed as a tailq. But in
      the context of a red-black tree for dynamic priv lookups the benefits
      should still outweigh the slight increase in memory footprint.
      
      Conflicts:
      	bin/varnishd/cache/cache_vrt_priv.c
      
      Fixes #3003
      d6d34160