While testing with real proxies I noticed the original CDR implementation was actually pretty broken, this refactors a bit and fixes a number of bugs. With this patch fallback to GPDNS over three distributed test proxies worked perfectly. (Side note: `nginx` is not a viable forward proxy for this use as it doesn't support SSL, and a bunch of other _real_ forward proxy features, I ended up just using `squid3`.) The main error in the previous implementation was the fallback was implemented in `getCAASet` which is only called in the old code path (the local CAA impl instead of the remote service) which mean't it wasn't actually being tested in the integration test. This also refactors a few repeated blocks into their own functions. Also there was a unicode encoding problem somewhere with the query string but for the life of me I can't figure out why it was broken now. |
||
|---|---|---|
| .. | ||
| creds | ||
| balancer.go | ||
| balancer_test.go | ||
| bcodes.go | ||
| bcodes_test.go | ||
| interceptors.go | ||
| interceptors_test.go | ||
| pb-marshalling.go | ||
| pb-marshalling_test.go | ||
| util.go | ||
| wrappers.go | ||