1. 05 Dec, 2016 7 commits
    • Federico G. Schwindt's avatar
      Disable Nagle's algorithm on the backend as well · 0205cdf9
      Federico G. Schwindt authored
      Fixes #2134.
      0205cdf9
    • Martin Blix Grydeland's avatar
      Fix buffer overflow in HTC_RxInit on workspace exhaustion · 4bcc1c21
      Martin Blix Grydeland authored
      HTC_RxInit could write a single '\0' NUL character outside of the
      workspace when its called and there is zero bytes left in the
      workspace. This would trigger the workspace canary causing subsequent
      assertion.
      
      Fix by releaving HTC_RxInit of adding the '\0' character.
      
      HTC_RxStuff now returns HTC_S_Overflow early if the available buffer
      space is zero. The '\0' character is inserted just before calling the
      completion check function.
      
      Also fix an off-by-one error on the http_{req|resp}_size calculations,
      where the maximum number of bytes accepted was one less than the
      paramter indicated. c00039.vtc and c00040.vtc has been edited to
      reflect that and to be more expressive about the sizes they generate.
      
      Fixes: #1834
      4bcc1c21
    • Martin Blix Grydeland's avatar
      Add an assert preventing buffer overflows · 23ca54d8
      Martin Blix Grydeland authored
      Make sure that the workspace can accomodate the pipelined data before
      memmoving it into place.
      
      Add a comment on an open issue in the H2 code path that could trigger
      this assert.
      23ca54d8
    • Martin Blix Grydeland's avatar
      Finish range delivery processing when the range is delivered. · 333e6da1
      Martin Blix Grydeland authored
      When doing range delivery, make the delivery processing finish early
      when all of the bytes of the requested range has been delivered. This
      to avoid waiting around for a slow fetch to finish before handling the
      next request on the connection.
      
      Fixes: #2035
      333e6da1
    • Martin Blix Grydeland's avatar
      Allow delivery processors to finish early · f4400e0c
      Martin Blix Grydeland authored
      A delivery processor may want to finish the delivery early. Change the
      return value from VDP_bytes and the delivery processors into 3
      categories. 0 means continue, negative is error and positive is
      finished.
      
      The latching of errors (to help ESI delivery continue while still
      recording the error) will latch the lowest non-zero value observed.
      
      VDP_gunzip is fixed to not unconditionally return errors.
      
      Also add some text to explain the behaviour of VDP_bytes and its
      delivery processors.
      f4400e0c
    • Poul-Henning Kamp's avatar
    • Nils Goroll's avatar
      add std.getenv() · 69838a5c
      Nils Goroll authored
      Merges #2152
      69838a5c
  2. 04 Dec, 2016 1 commit
  3. 02 Dec, 2016 6 commits
  4. 01 Dec, 2016 1 commit
    • Dridi Boukelmoune's avatar
      Make Lck_AssertHeld trigger in the caller's code · 98204cba
      Dridi Boukelmoune authored
      The `held == 0` branch in the Lck__AssertHeld function is *never*
      taken and `cache.h` instructs to only use the macro. Being generated
      from calling code, the panic message becomes more informative.
      
      Panic messages were up until now not very helpful:
      
          Assert error in Lck__Assert(), cache/cache_lck.c line 175:
          Condition(ilck->held) not true.
      98204cba
  5. 30 Nov, 2016 8 commits
  6. 29 Nov, 2016 3 commits
  7. 28 Nov, 2016 8 commits
  8. 27 Nov, 2016 2 commits
  9. 26 Nov, 2016 4 commits