1. 15 May, 2023 10 commits
    • Dridi Boukelmoune's avatar
      build: Centralize suffix .c.vsc make rules · dcaf616c
      Dridi Boukelmoune authored
      The new vsc.am file takes care of most of the logic, and include sites
      only need to reference sources as such.
      dcaf616c
    • Dridi Boukelmoune's avatar
      SQUASHME: keyboard accident · f32bc1d0
      Dridi Boukelmoune authored
      f32bc1d0
    • Dridi Boukelmoune's avatar
      build: Install vmod_*.vcc files · 8937dae9
      Dridi Boukelmoune authored
      This change adds a new /usr/share/varnish/vcc (or equivalent) directory
      where the built-in VMOD descriptors are installed. Only vmod_debug.vcc
      is omitted since vmod_debug is not installed. Shipping VCC files can be
      useful to end users, for example, to implement VCL autocompletion in a
      text editor.
      
      This change does not even begin to manage this for third-party VMODs.
      8937dae9
    • Dridi Boukelmoune's avatar
      esi: Original typo · edc2f1f8
      Dridi Boukelmoune authored
      edc2f1f8
    • Walid Boudebouda's avatar
      vcc: Parse VCL steps and return actions from vcl_step.rst · 4b8d1760
      Walid Boudebouda authored
      With this, the documentation becomes authoritative for the VCL state
      machine, just like VCL variables.
      4b8d1760
    • Walid Boudebouda's avatar
      man: Fold vcl-actions.rst into vcl-step.rst · 88025e95
      Walid Boudebouda authored
      This also belongs in a reference manual and should not be disjoint. It
      also avoids broken references with rst2man that only sphinx can resolve
      across multiple pages.
      88025e95
    • Walid Boudebouda's avatar
      man: Document built-in subs in a reference manual · c65d257a
      Walid Boudebouda authored
      Instead of documenting built-in subroutines in the user guide, a new
      vcl-step(7) manual is added. It is structured with a vcl-step.rst file
      that includes a vcl_step.rst file containing the actual list of steps.
      
      This is similar to how the vcl-var(7) manual is constructed to later
      make it authoritative.
      c65d257a
    • Walid Boudebouda's avatar
      man: Move beresp initialization to vcl-var(7) · 8f48758f
      Walid Boudebouda authored
      The 304 handling and initial values for beresp.ttl, beresp.grace and
      beresp.keep belong in a reference manual.
      8f48758f
    • Nils Goroll's avatar
      Move HSH_Cancel() to VDP_Close() to bring it under transport control · ab0214c8
      Nils Goroll authored
      Transports should be free to keep a reference on the object to be
      delivered until after their transport function returns, but
      HSH_Cancel() in cnt_transmit() prevented the object from being of any
      use for the case that it is final (pass/hfm/hfp).
      
      We solve this by moving the HSH_Cancel() close to VDP_Close, which
      also makes sense from the perspective of the VDP design: Until the VDP
      close, filters could still reference object data.
      
      HSH_Cancel() needs the objcore, which could be reachable also via
      vdc->req. But that member is unset in VDP_DeliverObj(), presumably to
      make it clear that VDP .bytes callbacks should not access request
      data. Thus, we pass it as a new argument to VDP_Close() as well as any
      boc being held by the caller.
      
      The objcore can also be NULL for the case where a transport generates
      the body without holding an objcore at all.
      ab0214c8
    • Poul-Henning Kamp's avatar
  2. 12 May, 2023 1 commit
  3. 10 May, 2023 3 commits
  4. 09 May, 2023 6 commits
  5. 08 May, 2023 3 commits
    • Nils Goroll's avatar
      Add (be)req.trace and feature +trace to control generation of VCL_trace logs · f6ef5927
      Nils Goroll authored
      To potentially emit VCL_trace VSL records, we called VPI_count() from
      VGC for, in the extreme, every line of VCL.
      
      For a normal setup, VPI_count() would call into VSL only to find out
      that VCL_trace is masked and not have any effect.
      
      Issuing two additional function calls for each line of VCL obviously
      is something we should avoid unless there is a real benefit.
      
      To avoid the overhead, we move the check for the tracing flag to VGC
      and decorate it with UNLIKELY(), which has no effect for now but is
      expected to become a branch prediction hint soon.
      
      This should bring the cost down close to zero.
      
      Being at it, we also add VCL control over tracing through req.trace
      and bereq.trace. req.trace gets initialized from feature +trace, and
      bereq.trace inherits the value from req.trace. For now, tracing of the
      housekeeping subs vcl_init and vcl_fini can only be controlled through
      feature +trace.
      f6ef5927
    • Nils Goroll's avatar
      Changelog TLC · 10b1eff8
      Nils Goroll authored
      10b1eff8
    • Nils Goroll's avatar
      Improve http1_iovs_flush documentation · f60995b8
      Nils Goroll authored
      f60995b8
  6. 04 May, 2023 3 commits
  7. 01 May, 2023 1 commit
  8. 26 Apr, 2023 1 commit
  9. 25 Apr, 2023 1 commit
  10. 24 Apr, 2023 11 commits