DNSP and caching have a very tight relation.
If caching doesn't happen, DNSP can still go through proxy and get the desired response.
Problem is, the whole process without cache is bit slower (~100 msec per request depending on remote server's presence on the internet. It means, DNS response can get up to 200 msec per request.
Itself is not an issue, but I must have messed up with Etag and other caching headers, and I can get no cache anymore on my webserver, which happens to be behind CloudFlare caching/acceleration.
Caching was OK, it has always been working on simple Apaches/NGINX.
I want and need to repair it. Having the resource correcly cached means that we do not even need to get the 304 from the remote server, we shall pop the resource from the cache, but query string sometimes doesn't play nicely with Polipo or Squid......
DNSP doesn't seem to be impacted in its core functions, and the PHP is still fast, correct, looks good.
The problem is with cache-valdity overrides done by custom CloudFlare headers. Is a common practice for CDN, but it doesn't integrate with DNSP.
Solution: strip down the headers in the dnsp.c code programmatically, and fine tune HTTP cache to accept the suggested validity (14400).