Hello! I'm developing a dynamic name resolution service using lua backend to provide cdn capabilities to some websites.
Consider this simple *example.com <http://example.com>* zone: *name | type | content | flag cdn* example.com | *A* | 1.1.1.1 | true www.example.com | *CNAME* | example.com | false Another considerations: - when flag is enabled any query should return cdn server ip - CDN server IP: 2.2.2.2 Queries and expected responses: 1) query to *example.com <http://example.com>* should return 2.2.2.2 2) query to *www.example.com <http://www.example.com>* should return *CNAME example.com <http://example.com>* and *A 1.1.1.1* In this case, the record *example.com <http://example.com>* has a flag enabled that makes all name resolutions to it dynamic, so when querying *example.com <http://example.com> *luabackend returns a record pointing to *2.2.2.2 *and not *1.1.1.1.* This is ok and works fine. The problem occurs when querying *www.example.com <http://www.example.com> *that does not use this cdn flag . Here the step by step in the lua backend: 1) getsoa *www.example.com <http://www.example.com>* 2) getsoa *example.com <http://example.com>* 3) lookup *www.example.com <http://www.example.com>* 4) get *www.example.com <http://www.example.com>* 5) lookup *example.com <http://example.com>* 6) get *example.com <http://example.com>* The returning record is *2.2.2.2*, because the flag is enabled in *example.com <http://example.com>*, but I want to dynamic disable this flag when it's a recursive query. The first possibility that I see to resolve this problem is to determine if a specific query is after recursion or not. Is it possible to identify in lua backend when it's a recursive query? Another approach would be return in the *step 3 *both records, to avoid powerdns make recursive query in *example.com <http://example.com>* with the flag enabled. www.example.com *CNAME* example.com example.com *A* 1.1.1.1 *** *** the problem is how to make pdns stop querying for example.com again. I tried to change *qname* to *example.com <http://example.com>* instead *www.example.com <http://www.example.com>* but it didn't work. I know that it seems a little bit confused, but I appreciate any help. Tks, Guilherme
_______________________________________________ Pdns-users mailing list Pdns-users@mailman.powerdns.com http://mailman.powerdns.com/mailman/listinfo/pdns-users