1. 27 Nov, 2017 6 commits
  2. 14 Nov, 2017 4 commits
  3. 06 Nov, 2017 1 commit
    • Pål Hermunn Johansen's avatar
      Revert DEPRECATED mark on cli_buffer · 96534906
      Pål Hermunn Johansen authored
      The commit 01fa472647fe431d09f4873f5d0cefe8b9b88919 did not in fact
      remove the effect of the cli_buffer value, but it did prevent varnish
      from crashing when setting the parameter very high. This reverts the
      change in the documentation.
      96534906
  4. 31 Oct, 2017 3 commits
  5. 28 Sep, 2017 1 commit
  6. 27 Sep, 2017 1 commit
  7. 26 Sep, 2017 2 commits
  8. 25 Sep, 2017 1 commit
    • Pål Hermunn Johansen's avatar
      Move the cli buffer to VSB (from stack) · 3f623096
      Pål Hermunn Johansen authored
      If the cli buffer is allocated on the stack, the mgt process will
      crash hard for big values of this parameter. Instead we allocate on
      the heap.
      
      The new cli buffer an "auto" VSB. This means that the varnish
      parameter cli_buffer is ignored from now on, and the manual marks it
      as deprecated.
      
      Closes: #2382
      
      Conflicts:
      	bin/varnishd/mgt/mgt_cli.c
      3f623096
  9. 20 Sep, 2017 3 commits
  10. 19 Sep, 2017 6 commits
    • Martin Blix Grydeland's avatar
      Straighten locking wrt vcl_active · 69e5f471
      Martin Blix Grydeland authored
      The locking around the use of vcl_active does not include the checking
      of its magic value or the temperature asserts, leading to a race when
      changing vcl_active.
      
      Fixes: #2390
      69e5f471
    • Mark Felder's avatar
      5e84d030
    • Nils Goroll's avatar
      use an alternative stack for SIGSEGV and test for stack overflow · 5efbf4c4
      Nils Goroll authored
      Previously, we could run out of stack handling stack overflows, leaving
      users with unspecific SIGSEGV crashes and no panic message.
      
      By providing a single alternative stack exclusively for SIGSEGV handling
      where sigaltstack() is available, we increase chances for our signal handler
      to finish successfully.
      
      In particular, this will make it easier to diagnose stack overflows by
      comparing the failing address with the stack info from the panic output.
      
      This could be further improved by giving advise to increase thread_pool_stack
      if si_addr is near the stack boundaries.
      
      c00057.vtc now triggers a stack overflow instead of raising a SIGSEGV.
      
      Merges #2396
      5efbf4c4
    • Nils Goroll's avatar
      start generalizing the signal handler · e44e54dc
      Nils Goroll authored
      it was already used for more than SIGSEGV, so we should output the actual
      signal description.
      
      Conflicts:
      	bin/varnishd/mgt/mgt_child.c
      e44e54dc
    • Nils Goroll's avatar
      Close a race in the round robin director - for real now · 1ec38efb
      Nils Goroll authored
      The previous code allowed the compiler to re-read nxt from
      rr->nxt which could have been incremented cocurrently.
      
      Fixes #2378
      1ec38efb
    • Martin Blix Grydeland's avatar
      Avoid buffer read overflow on vcl_error and -sfile · 19a73184
      Martin Blix Grydeland authored
      The file stevedore may return a buffer larger than asked for when
      requesting storage. Due to lack of check for this condition, the code
      to copy the synthetic error memory buffer from vcl_error would overrun
      the buffer.
      
      Patch by @shamger
      
      Fixes: #2429
      19a73184
  11. 11 Sep, 2017 2 commits
    • Dridi Boukelmoune's avatar
      Test case for #2422 · 970f2a3a
      Dridi Boukelmoune authored
      970f2a3a
    • Dridi Boukelmoune's avatar
      Ignore req.ttl when keeping track of epired objects · ad92c565
      Dridi Boukelmoune authored
      The goal of `req.ttl` is to allow lower requirements for known
      transactions (since this has to be done in VCL) but objects with
      an age higher than `req.ttl` would always be considered expired
      during lookup even if their actual TTL (obj.ttl) is still positive.
      
      Ignoring `req.ttl` gives a better control over explicit refreshes
      made to optimize latency and greatly reduces the risk of running
      into #1799 (for a subset of use cases).
      
      Refs #2422
      ad92c565
  12. 05 Sep, 2017 3 commits
    • Pål Hermunn Johansen's avatar
      Update the manual with new default · 4f124446
      Pål Hermunn Johansen authored
      My previous patch did not update the manual and the usage message for
      varnishtest concerning the default internal buffer size.
      4f124446
    • Pål Hermunn Johansen's avatar
      Make testcase 2372 work on SunOS · 8625540b
      Pål Hermunn Johansen authored
      Since SunOS needs a litt bit more workspace_thread, this test case
      needs to be updated.
      
      The default buffer size for vtc (configurable with -b) had to be
      increased.
      
      Conflicts:
      	bin/varnishtest/vtc_main.c
      8625540b
    • Pål Hermunn Johansen's avatar
      Fix problem with purging and the n_obj_purged counter · c2e69f4d
      Pål Hermunn Johansen authored
      When the do..while loop in HSH_Purge executes on a oh with many
      popular variants, there is a potential problem with the "array" of oc
      pointers, allocated in the thread workspace. If many of the oc's have
      positive refcounts, they will fill up the array and
      
      	EXP_Rearm(oc, now, ttl, grace, keep);
      	(void)HSH_DerefObjCore(wrk, &oc, 0);
      
      will be called several on the same oc's. At the same time, the counter
      n_obj_purged will be updated with a too low number.
      
      The test case demonstrates how we get a too low value for this counter,
      but it is not able to force varnishd to use a siginificant amount of CPU.
      
      Conflicts:
      	include/tbl/oc_flags.h
      	bin/varnishd/cache/cache_hash.c
      	bin/varnishd/cache/cache.h
      c2e69f4d
  13. 22 Aug, 2017 1 commit
    • Nils Goroll's avatar
      Expose to VCL whether or not a fetch is a background fetch (bgfetch) · bf167ec4
      Nils Goroll authored
      The use case are cluster requests: Intra-cluster bgfetches should
      trigger a synchronous fetch on the peer-varnish in order to avoid
      additional short-lived / expired objects being created. Or, in
      other words, a bgfetch should actually get a fresh object and not
      one in grace from another cache.
      
      Merges #2376
      
      This is a back port of d7f8b531.
      
      Conflicts:
      	bin/varnishd/cache/cache_fetch.c
      	doc/changes.rst
      	include/tbl/bo_flags.h
      bf167ec4
  14. 08 Aug, 2017 3 commits
  15. 07 Aug, 2017 1 commit
  16. 01 Aug, 2017 2 commits