Hi Conrad,
Thanks for this observation. We will take a look at that.
Best,
Daniel
On 2020-04-20 22:31, Conrad Hoffmann wrote:
  Hi,
 I noticed that when using e.g the GeoIP module to return a CNAME, that
 CNAME does not get resolved, even if it is within the instances
 authority. That forces the client/recursor to issue another request.
 Perusing the code for a while, I noticed that there is a rather simple
 way to achieve this: the GeoIP module, if the result is a CNAME,
 _could_
 set `qdata->name` to the CNAME target and return
 `KNOT_IN_STATE_FOLLOW` instead of `KNOT_IN_STATE_HIT`.
 While that does seem to work, I am not so sure if it might constitute
 an
 abuse of interfaces. Returning `KNOT_IN_STATE_FOLLOW` seems legit, but
 I
 wasn't so sure about modifying `qdata` (specifically, in the context of
 a module).
 As such, I would be interested if this has ever come up before, what
 possible approaches might look like, what you think of the above one,
 and if tackling this problem is of interest at all. If I have a better
 understanding and there is a good approach to this, I'd be happy to
 submit a patch.
 Thanks a lot,
 Conrad