- 30 Jun, 2020 1 commit
-
-
Dridi Boukelmoune authored
We override vmod_debug's LDFLAGS, so that warning is gone.
-
- 29 Jun, 2020 1 commit
-
-
Dridi Boukelmoune authored
Instead of calling all VCC files vmod.vcc they were renamed to vmod_foo.vcc and instead of generating vcc_if.[ch] we do the same thing with vcc_foo_if.[ch]. This a manual mechanical change that will then be picked up by vmodtool's automake boilerplate generator. Better diff with the --word-diff --word-diff-regex=. options.
-
- 24 Jun, 2020 1 commit
-
-
Nils Goroll authored
-
- 23 Jun, 2020 2 commits
-
-
Nils Goroll authored
Ref https://github.com/varnishcache/varnish-cache/pull/3315#discussion_r429796022 OKed by phk on irc. VRT_DirectorResolve() was the name originally proposed in #2680, which was renamed in #3311 and accepted by me to get ahead. Not that Dridi prefers the original name and phk goes along, we change it back before the next release.
-
Nils Goroll authored
recover a minor improvement from #2680: This commit is to emit slightly different error messages to differentiate between the cases "no backend set in vcl" and "none returned from the director". Includes minor polishing Ref #2860 #3311
-
- 18 Jun, 2020 3 commits
-
-
Dridi Boukelmoune authored
With a separate autoconf macro to preserve existing behavior. While at it, I got rid of some intermediate processing in the generated configure script that should result in slightly smaller scripts for third party VMODs.
-
Nils Goroll authored
note: on SmartOS, it should be part of the base install Ref #3309
-
Nils Goroll authored
This reverts commit 970c59ed. this has been discussed on irc. I agree that not rebuilding man pages when they are already there makes sense. But not building man pages when we could, does not make any sense to me. And enforcing maintainer mode to build from git does not seem to make any sense to me either.
-
- 16 Jun, 2020 3 commits
-
-
Dridi Boukelmoune authored
This brings back commit cc42bd31: When we release a dist archive, it comes with the documentation but since some of it is generated by programs it makes no real difference, and actually it makes things worse: rebuilding from the dist archive ends up with a rebuild of the documentation because some documentation sources ended up being rebuilt. In other words, the documentation we ship is dead weight in the dist archive and doesn't reduce the number of build dependencies downstream. From now on, rst2man remains mandatory to build our manual pages but can safely be omitted by packaging scripts.
-
Dridi Boukelmoune authored
As documented in autogen.des, this is what we should use for development and it should encompass continuous integration. Until autogen.sh goes away we need to explicitly enable maintainer mode at configure time. Two thirds of our CI setup rely on autogen.des today. Better diff with the --word-diff option.
-
Dridi Boukelmoune authored
The script remains until its refcount drops to zero. Refs 0b4a90c0
-
- 15 Jun, 2020 4 commits
-
-
Nils Goroll authored
When retrying after a rollback, we might have unread bytes of the backend response body. As we need to finalize the director for rollback, all we can do in this case is to close the connection. Spotted by reza, who also provided the test case, thank you. Closes #3353
-
Reza Naghibi authored
-
Reza Naghibi authored
-
Poul-Henning Kamp authored
Ref: #3348, #741
-
- 14 Jun, 2020 2 commits
-
-
Dridi Boukelmoune authored
Refs #3345
-
Dridi Boukelmoune authored
Refs #3345
-
- 12 Jun, 2020 7 commits
-
-
Dridi Boukelmoune authored
This is a tool for VMOD authors for the use case of building a regular expression partially from arbitrary input, where the input is intended for an exact match. For example, one could implement a dispatch feature depending on the request's host header, building something like: "\.?\Q" + req.http.host + "\E$" A malicious client could however hijack the regular expression with a \E sequence in the host header. To get safely to this result you can do this instead in pseudo-code before compiling the regex: VSB_cat(vsb, "\\.?"); VRE_quote(vsb, req.http.host); VSB_putc(vsb, '$'); The input is enclosed with PCRE's \Q and \E escape sequences, ensuring that \E sequences in the input string don't allow Little Bobby Tables' cousin to mess with your regular expressions.
-
Martin Blix Grydeland authored
Once HSH_Unbusy() has been called there is a possibility for EXP_Remove() to be called before the fetch thread has had a chance to call EXP_Insert(). By adding a OC_EF_NEW flag on the objects during HSH_Unbusy(), that is removed again during EXP_Insert(), we can keep track and clean up once EXP_Insert() is called by the inserting thread if EXP_Remove() was called in the mean time. This patch also removes the AZ(OC_F_DYING) in EXP_Insert(), as that is no longer a requirement. Fixes: #2999
-
Martin Blix Grydeland authored
This makes the order of events the same as on real cache insertions.
-
Martin Blix Grydeland authored
The OC_EF_REFD flag indicates whether expiry has a ref on the OC. Previously, the flag was only gained during the call to EXP_Insert. With this patch, and the helper function EXP_RefNewObjcore(), the flag is gained while holding the objhead mutex during HSH_Unbusy(). This enables the expiry functions to test on missing OC_EF_REFD and quickly return without having to take the main expiry mutex.
-
Martin Blix Grydeland authored
When posting to the expiry thread, we wrongly counted exp_mailed also if the OC in question was already on the mail queue. This could cause a discrepency between the exp_mailed and exp_received counters.
-
Martin Blix Grydeland authored
This enables doing extra handling while holding the mutex specific to EXP_Insert/EXP_Remove before/after calling exp_mail_it.
-
Dridi Boukelmoune authored
See 8e45ba9f
-
- 11 Jun, 2020 4 commits
-
-
Dridi Boukelmoune authored
This reverts commit cc42bd31. For some reason Travis CI jobs use autogen.sh and don't build with all the bells and whistles we expect developers to work with. Despite the explicit mention in autogen.des: # Use this when doing code development Some of our continuous integration doesn't emulate this properly. At least on the VTEST and CircleCI sides we do things as expected. I will reintroduce this change later when Travis CI is ready to take it.
-
Dridi Boukelmoune authored
We shouldn't need to care about all the details when autoreconf(1) can do that for us. The autoworld has changed over the last decade and this only affects Varnish developers since we ship release archives with a turnkey configure script. So let's see how much wreckage this change will cause. The script remains until its refcount drops to zero. In order to get early feedback for MacOS the relevant Travis CI job is already updated.
-
Dridi Boukelmoune authored
When we release a dist archive, it comes with the documentation but since some of it is generated by programs we end up it makes no real difference, and actually it makes things worse: rebuilding from the dist archive ends up with a rebuild of the documentation because some sources ended up being rebuilt. In other words, the documentation we ship is dead weight in the dist archive and doesn't reduce the number of build dependencies downstream. From now on, rst2man remains mandatory to build our manual pages but can safely be omitted by packaging scripts.
-
Nils Goroll authored
taken from varnishtop. NOOP because #if 0'd
-
- 10 Jun, 2020 12 commits
-
-
Dridi Boukelmoune authored
This is understandably no longer present on the buster base docker image, but I'm not adding this to installation instructions in the documentation because I hope to remove that dependency before the next release.
-
Dridi Boukelmoune authored
-
Dridi Boukelmoune authored
At this point I'm wondering whether we should talk about hacks when we really add missing dependencies. In some cases it boils down to RST being generated by programs we need to compile, what I call "regular" targets here.
-
Dridi Boukelmoune authored
One exception could be the changes builder, but if we ever reach the point where we can automate the changelog initial creation we can bring it back.
-
Nils Goroll authored
The previous commit added symlinks for source files. Fixes #3309
-
Nils Goroll authored
... if they differ. Ref #3309
-
Nils Goroll authored
Partially reverts commit 883fddfe. Ref #3309
-
Nils Goroll authored
-
Nils Goroll authored
This was brought up by Dridi in an email response to b90b60d0: Initially, I also thought that we should VRT_fail() for an invalid parameter, but on second thought I realized that, as the shard director supports request-time reconfiguration, graceful error handling should be possible, so VRT_fail() is too hard. I think that even returning false for .add_backend() is too harsh, as an invalid weight is probably not too much of an issue to abort the reconfiguration in the case of caller error handling. That said, this might all be over the top. But I really do not want to run into the (still unfixed) case I saw recently trying to base64 decode an invalid input, which is not possible to handle gracefully.
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
... to be more in line with other bundled directors
-