payload: {"push_id":3431376558,"size":33,"distinct_size":15,"ref":"refs/heads/unmerged_code","head":"6c2980bf7ee7c51587e999d396b89e5050497199","before":"db180f63425bba88844e0a8821fae29dc3e6fdeb","commits":[{"sha":"a39ebc8e3cfaaac60a639f20356ea2c5327f2a59","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"add an int64_t variation of VNUMpfx()\n\nRef #2926","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/a39ebc8e3cfaaac60a639f20356ea2c5327f2a59"},{"sha":"fe5fd80473abded11cd76eda239ca86b80154fac","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"VNUMpfxint() add integer scaling support","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/fe5fd80473abded11cd76eda239ca86b80154fac"},{"sha":"e0ddb81ad42477190bfb57903059f550cac48c04","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"remove rel argument from VNUM_bytes_unit and VNUM_2bytes\n\nIt is not used anywhere.\n\nThere is quite a bit of change in vnum.c just because the rel argument\nwas removed from the testcases.\n\nThis commit does not contain any semantic change.","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/e0ddb81ad42477190bfb57903059f550cac48c04"},{"sha":"6b06a8b43fd968158f85e33e33a8a610f4a5c111","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"hange VNUM_bytes_unit and VNUM_2bytes to int64_t\n\nThe major change is that the conversions are now always rounding down\nfor bytes","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/6b06a8b43fd968158f85e33e33a8a610f4a5c111"},{"sha":"4a33e7cbaa142d07aad49dce0d24549a6abfe05a","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"vcc support for BYTES int64_t precision","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/4a33e7cbaa142d07aad49dce0d24549a6abfe05a"},{"sha":"6ff1e2bd98cce99b46b5b23c4b8797a7f4b13db7","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"respect max_restarts and fix c00028.vtc\n\nFixes #2949","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/6ff1e2bd98cce99b46b5b23c4b8797a7f4b13db7"},{"sha":"4dc4436005b8db72d08ab7c18c6a779f5b51dfb5","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"fix duplicate FetchError","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/4dc4436005b8db72d08ab7c18c6a779f5b51dfb5"},{"sha":"03f71fdb934b90f2b6fbed18d6061107b563af74","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"Emit FetchError for administratively unhealthy","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/03f71fdb934b90f2b6fbed18d6061107b563af74"},{"sha":"18a7e0292684c84aea98815bc99d61c578dee1cb","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"respect max_restarts and fix c00028.vtc\n\nFixes #2949","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/18a7e0292684c84aea98815bc99d61c578dee1cb"},{"sha":"26580deba2e9ca39d46e34e8b3ece478723aabe5","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"kill stale oc for backend synth and clarify when we cache errors\n\nFixes #2946 in the sense that we want to treat a cacheable backend synth\nlike any other object and kill the stale object it replaces.\n\nWe do not replace the stale oc when\n- abandoning the bereq\n- leaving vcl_backend_error with return (deliver) and beresp.ttl == 0s\n- there is a waitinglist on this object because in this case the default\n  ttl would be 1s, so we might be looking at the same case as the\n  previous\n\nThe new default behaviour in vcl_backend_error is now to abandon instead\nof creating a synth backend object which would expire right away anyway.\nWe also clarify our behavior in the builtin.vcl by explaining that the\nwaitinglist condition sets a default beresp.ttl = 1s and does create a\nshortlived object.\n\nBecause of the changed builtin.vcl, the intention to cache v_b_e objects\nmust now also be signaled by an explicit return(deliver) before falling\nthrough to the builtin.vcl.\n\nLooking at the same thing from the other angle, with a default\nvcl_backend_error, the client side now usually ends up in vcl_synth\ninstead of vcl_deliver.","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/26580deba2e9ca39d46e34e8b3ece478723aabe5"},{"sha":"daf9ade81928be96ec9cec440c45dc2cf9a27c21","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"make VRT_fail() work with any initializier\n\nHistorically, all initializers called from VGC_Load() would handle\nfailures individually (return (1) from VGC_Load) or not fail at\nall. Now that we got VRT_fail(), it makes sense to generalize.\n\nThe upcoming use case is to properly handle failures from\nVRT_new_backend_clustered().","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/daf9ade81928be96ec9cec440c45dc2cf9a27c21"},{"sha":"5d043515200b2891835d9765b9310b544d079a05","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"Merge branch 'VGC_Load_VRT_fail' into proxy_via_6","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/5d043515200b2891835d9765b9310b544d079a05"},{"sha":"398e36f36dfae5058390043396dfae9e69130a5a","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"Merge branch 'VRT_DirectorResolve' into proxy_via_6","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/398e36f36dfae5058390043396dfae9e69130a5a"},{"sha":"5a81b65eeb1c078c225fe651e5c13f3e318c37c6","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"Merge branch 'VRT_Format_Proxy' into proxy_via_6","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/5a81b65eeb1c078c225fe651e5c13f3e318c37c6"},{"sha":"cbdcaf26278180e77c8cabbd248da5f85d36c85f","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"Add VTP_Clone() to get the same endpoint with a different id","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/cbdcaf26278180e77c8cabbd248da5f85d36c85f"},{"sha":"83d3cf9b54e653f16e32fabb7c35b8082d38d7a7","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"VBE: Add support for a per-connection preamble","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/83d3cf9b54e653f16e32fabb7c35b8082d38d7a7"},{"sha":"5fdb1a20089520515cb8725e51e4e7915cc52925","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"Basic \"via\" backends support\n\nIn varnish-cache, the deliberate decision has been made to not support\nTLS from the same address space as varnish itself, see\ndoc/sphinx/phk/ssl_again.rst\n\nSo the obvious way to connect to TLS backends is to use a TLS\n\"onloader\" (a term coined by @slimhazard as in the opposite of\n\"offloader\"), which turns a clear connection into a TLS connection to\nsome other fixed config address.\n\nThis requires additional configuration in two places: An address/port\nor UDS path needs to be uniquely allocated for the onloader, the\nspecific onloader configuration has to be put in place and a varnish\nbackend needs to be added to the onloader. All of this for each\nindividual backend. Also, this requirement prevents any use of dynamic\nbackends with a TLS onloader.\n\nhaproxy, however, offers a convenient and elegant way to avoid this\nconfiguration overhead: The PROXY protocol can also be used to\ntransport the destination address which haproxy is to connect to if a\nserver's address is unspecified (IN_ADDR_ANY / 0.0.0.0). The\nconfiguration template for this use case looks like this (huge thank\nyou to @wtarreau for pointing out this great option in haproxy):\n\nlisten clear-to-ssl\n        bind /my/path/to/ssl_onloader accept-proxy\n        balance roundrobin\n        stick-table type ip size 100\n        stick on dst\n        server s0 0.0.0.0:443 ssl ca-file /etc/ssl/certs/ca-bundle.crt\n        server s1 0.0.0.0:443 ssl ca-file /etc/ssl/certs/ca-bundle.crt\n        server s2 0.0.0.0:443 ssl ca-file /etc/ssl/certs/ca-bundle.crt\n        # .. approximately as many servers as expected peers\n        # for improved tls session caching\n\nWith this setup, by connecting to /my/path/to/ssl_onloader and sending\nthe address to make a TLS connection to in a PROXY header (as the\nserver address / port), we can reduce the configuration overhead\noutside varnish substantially. In particular, we do not require a path\n/ port per destination and get back the option to use dynamic\nbackends.\n\nThis patch implements the basis for simple means of configuring such\nan ssl onloader:\n\nbackends can be created with an additional \"via\" director, which has\nto resolve to a simple backend. The connection is then made to that\naddress and the actual endpoint address is sent in an additional PROXY\nheader.  Notice that sending yet another proxy header to the actual\nbackend is unaffected. Despite using the same format, the two proxy\nheaders are semantically different: The first, here coined the\n\"preamble\", is the address to make the connection to while the\n(optional) second proxy header continues to contain the addresses of\nthe connection to varnish.\n\nThis patch is based upon two other PRs:\n\n* #2845 for generic proxy header formatting\n* #2880 for resolving a director\n\nFuture improvements on the roadmap:\n\n* VCL integration\n\n* resolution of the \"via\" backend at the time the connection is made:\n  This will allow for fault tolerance and load balancing of via\n  backends\n\n* Cascade the health check: If the \"via\" backend is probed / set down,\n  any backends using it should be down immediately\n\n* Timeouts: The \"via\" backend's timeouts should define maximum values\n  for any connections made through it","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/5fdb1a20089520515cb8725e51e4e7915cc52925"},{"sha":"8161b2c6577cff69da86c286b9e6beb44e9e9316","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"via backends in VCL\n\nDue to the intialization order, only native vcl backends can be used\nfrom vcl as via backends. As directors are defined in vcl_init which\ngets to run only after the native backends have been initialized,\ndirectors can not be refered to from a backend.","distinct":false,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/8161b2c6577cff69da86c286b9e6beb44e9e9316"},{"sha":"1dbd2a1e5cb29532086bd43dfbc2846423a714b8","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"merge VRT_DirectorResolve","distinct":true,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/1dbd2a1e5cb29532086bd43dfbc2846423a714b8"},{"sha":"8e364a6d536eeceb17b2a85876deefbdee90f993","author":{"name":"Nils Goroll","email":"a05e1af71cc00bfb4dfcde6b94560e408ccabf9a@uplex.de"},"message":"merge vtim_faster_printf","distinct":true,"url":"https://api.github.com/repos/nigoroll/varnish-cache/commits/8e364a6d536eeceb17b2a85876deefbdee90f993"}]}
other: {"actor":{"display_login":"nigoroll"}}