1. 10 Mar, 2023 2 commits
  2. 07 Mar, 2023 4 commits
  3. 06 Mar, 2023 18 commits
  4. 04 Mar, 2023 1 commit
  5. 27 Feb, 2023 10 commits
  6. 24 Feb, 2023 1 commit
    • Nils Goroll's avatar
      Also test ESI onerror with max_esi_depth reached · 054215b5
      Nils Goroll authored
      With onerror=abort, the request is aborted as with a bad return code.
      
      With onerror=continue, the include remains empty
      
      This already behaved like I expected it to, this vtc merely adds
      an explicit test.
      054215b5
  7. 20 Feb, 2023 4 commits
    • Nils Goroll's avatar
      Forbid .via backend stacking for now · 8289ea01
      Nils Goroll authored
      suggested by Dridi
      8289ea01
    • Nils Goroll's avatar
      9db64085
    • Nils Goroll's avatar
      Explicitly test connection pooling works properly · 884ef9da
      Nils Goroll authored
      Connect to s1 and s2 via v2.
      
      Note on the v2 VCL: We use this varnish instance as a PROXY protocol
      aware forwarder, which takes the address to connect to from the
      incoming PROXY header (to mimic haproxy instead of requiring it).
      
      Previously, we used debug.dyn(), but that does not work with two
      different backends because it does not create different backend
      instances, so connection pooling fails on this level, unrelated to the
      actual test subject.
      
      We avoid this issue by an explicit VCL implementation.
      884ef9da
    • Geoff Simmons's avatar
      Add the .authority field to backend definitions. · 15a8e6c0
      Geoff Simmons authored
      If the .via field is also set, then the value of .authority is set
      as the authority TLV in the PROXY header. This gives the "true"
      backend (usually the ssl-onloader) the opportunity to set the SNI
      (HostName field) from the TLV value, for the TLS handshake with the
      remote backend.
      
      This mandates that PROXYv2 is always used with a via backend (since
      only version 2 supports TLVs).
      
      If the value of .authority is the empty string, then the TLV is not
      sent. If .authority is not set for the backend, then fall back to
      .host_header, which itself may have been a fallback to .host. Note
      that if neither .authority nor .host_header is set, and .host is
      set to an IP address, then the IP address is forwarded as the SNI
      value, which is not permitted for HostName (RFC4366 ch 3.1). So
      users are advised to set either .authority or .host_header, or set
      .authority="", when .via is set.
      
      Usage note with haproxy:
      
      To enable sending SNI when haproxy is used as a TLS onloader, ``sni
      fc_pp_authority`` needs to be used with the backend configuration.
      
      Full usage example with haproxy 2.2:
      
      listen sslon
      	mode	tcp
      	maxconn	1000
      	bind	/shared/varnish_haproxy/haproxy_sslon accept-proxy mode 777
      	stick-table type ip size 100
      	stick	on dst
      	server	s00 0.0.0.0:443 ssl ca-file /etc/ssl/certs/ca-bundle.crt alpn http/1.1 sni fc_pp_authority
      	server	s01 0.0.0.0:443 ssl ca-file /etc/ssl/certs/ca-bundle.crt alpn http/1.1 sni fc_pp_authority
      	# ...
      
      A higher number of servers improves TLS session caching.
      15a8e6c0