Does D_EXTEND need a correction in how it uses DnsProvider ?

17 views
Skip to first unread message

Ishan Jain

unread,
Aug 16, 2025, 1:23:38 PMAug 16
to DNSControl-discuss
Hello everyone! 


I can specify D_EXTEND like this, 

```
D("example.com", DnsProvider(DSP_ADGUARDHOME_HOME),
// RecA
);
D_EXTEND("direct.home.example.com", DnsProvider(DSP_ADGUARDHOME_HOME), DnsProvider(DSP_ADGUARDHOME_DEL),
// RecB
);
```

The way I just assumed this would work is,

1. RecA on example.com would be added to _HOME DnsProvider.
2. RecB on direct.home.example.com would be added to _DEL + _HOME DnsProviders. 


However, this is not how it works. It populates the global dns_providers array and RecB and RecA are all added to _HOME and _DEL! This is unexpected. 


My question is, should this behavior be corrected ? I really think D_EXTEND should work the way I just expected it to work and populating the global dns_providers array that is only used in a D_EXTEND is not quite right 


Ishan Jain

unread,
Aug 16, 2025, 1:33:58 PMAug 16
to DNSControl-discuss
In the examples, it does not use D_EXTEND the way I use it so the current design makes sense but then the way I am using it does not generate any errors. 

I think if there is agreement, I'd like to extend D_EXTEND to add the behavior I am referring to.

Ishan Jain

unread,
Aug 16, 2025, 10:42:03 PMAug 16
to DNSControl-discuss
Please disregard this. My intent was to get split horizon setup working where example.com has a few public records and a subdomain home.example.com has public + internal records. 

This is easily done with the tags system in `D()` method and we don't need to complicate `D_EXTEND` 

Thanks for reading!

Regards
- Ishan 
Reply all
Reply to author
Forward
0 new messages