1. 20 Apr, 2021 3 commits
    • Nils Goroll's avatar
      The stdin filedescriptor needs to be non-blocking · 71281335
      Nils Goroll authored
      Any real-world object will exceed the pipe buffer in size. Unless the
      filter program which we invoke implemented an infinite buffer (and
      requiring something like this would miss the point of stream
      processing), we can only write to the program as much data as it
      accepts for its input buffering (plus the pipe buffer size), before we
      need to read its output.
      
      Thus, we need to ensure that write(fds[STDIN_FILENO].fd) does not
      block.
      71281335
    • Nils Goroll's avatar
      We may or may not have an objcore · f64bdd40
      Nils Goroll authored
      Only the first filter has access to the objcore.
      
      fixes:
      
      Assert error in vdp_init(), vdfp_pipe.c line 189:
        Condition((objcore) != NULL) not true.
      version = varnish-trunk revision
      136736b092206c5bc764f12f80d9092efde6c9dc, vrt api = 13.0
      ident = Linux,5.10.12-200.fc33.x86_64,x86_64,-junix,-sfile,-sdefault,-hcritbit,epoll
      now = 3808647.356313 (mono), 1618849595.965169 (real)
      Backtrace:
        0x559444057399: /usr/sbin/varnishd(+0x57399) [0x559444057399]
        0x5594440ce273: /usr/sbin/varnishd(VAS_Fail+0x43) [0x5594440ce273]
        0x7fc6745f820f: ./vmod_cache/_vmod_pipe.f336a3498bf9765ce992b39693196344e9c1ddda789775d4d0b0fd3b4939272e(+0x220f) [0x7fc6745f820f]
        0x5594440381a3: /usr/sbin/varnishd(VDP_Push+0x103) [0x5594440381a3]
        0x55944406df96: /usr/sbin/varnishd(VCL_StackVDP+0x76) [0x55944406df96]
        0x55944405ce02: /usr/sbin/varnishd(+0x5ce02) [0x55944405ce02]
        0x55944405ec48: /usr/sbin/varnishd(CNT_Request+0xd8) [0x55944405ec48]
        0x559444088bbb: /usr/sbin/varnishd(+0x88bbb) [0x559444088bbb]
        0x55944407cee7: /usr/sbin/varnishd(+0x7cee7) [0x55944407cee7]
        0x55944407d494: /usr/sbin/varnishd(+0x7d494) [0x55944407d494]
      f64bdd40
    • Nils Goroll's avatar
      Close pipes when fork() fails · 63843ecb
      Nils Goroll authored
      63843ecb
  2. 28 Jan, 2021 1 commit
  3. 09 Dec, 2020 1 commit
  4. 16 Nov, 2020 1 commit
  5. 06 Oct, 2020 1 commit
  6. 15 Sep, 2020 1 commit
  7. 12 Aug, 2020 1 commit
  8. 11 Aug, 2020 3 commits
    • Geoff Simmons's avatar
      Document .setenv(). · 0c4b3341
      Geoff Simmons authored
      0c4b3341
    • Geoff Simmons's avatar
      Bugfix and extend .setenv(). · 723690f9
      Geoff Simmons authored
      Support the task-scoped invocation in vcl_deliver.
      
      Use a VSTAILQ for the setenv list. VSLIST pushes only to the head,
      so setenv() calls were in reverse order compared to the VCL calls.
      We want later invocations of .setenv() overwrite the value of previous
      invocations for the same variable (if overwrite is true). So use
      a tail queue and push to the tail.
      723690f9
    • Geoff Simmons's avatar
      Add .setenv(). · 7b2a7420
      Geoff Simmons authored
      7b2a7420
  9. 10 Aug, 2020 6 commits
  10. 08 Aug, 2020 4 commits
  11. 07 Aug, 2020 11 commits
  12. 06 Aug, 2020 7 commits