<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class="">Dear Pieter,</div><div class=""><br class=""></div>Thanks a lot! You were super helpful!<div class=""><br class=""></div><div class=""><br class=""></div><div class="">Best,</div><div class=""><br class=""></div><div class="">Radek</div><div class=""><br class=""><div class="">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><div class="">-- <br class="">Radoslaw Kamil Ejsmont, Ph.D.<br class=""><a href="http://radoslaw.ejsmont.net/" class="">http://radoslaw.ejsmont.net</a></div></span>

</div>
<div><br class=""><blockquote type="cite" class=""><div class="">On 12 Feb 2018, at 18:23, Pieter Lexis <<a href="mailto:pieter.lexis@powerdns.com" class="">pieter.lexis@powerdns.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Hi RadosÅ‚aw,<br class=""><br class="">Pushing this back to the mailing-list, please send further replies there<br class="">as well.<br class=""><br class="">On Mon, 12 Feb 2018 18:00:43 +0100<br class="">RadosÅ‚aw Ejsmont <<a href="mailto:radoslaw@ejsmont.net" class="">radoslaw@ejsmont.net</a>> wrote:<br class=""><br class=""><blockquote type="cite" class=""><blockquote type="cite" class="">On 12 Feb 2018, at 17:43, Pieter Lexis <<a href="mailto:pieter.lexis@powerdns.com" class="">pieter.lexis@powerdns.com</a>> wrote:<br class=""><br class="">On Mon, 12 Feb 2018 11:32:11 +0100<br class="">Radoslaw Kamil Ejsmont <<a href="mailto:radoslaw@ejsmont.net" class="">radoslaw@ejsmont.net</a>> wrote:<br class=""><br class=""><blockquote type="cite" class="">My goal is to successfully resolve AAAA only for hosts that are IPv6 only and serve A only to dual-stack hosts.  <br class=""></blockquote><br class="">To be honest, your goal makes no sense from a networking perspective.<br class="">When you dual-stack some hosts, your IPv6 network should be up for it.<br class="">Faking IPv6 unavailability is a bad 'migration' strategy. It will also<br class="">break dual-stack hosts that do DNSSEC validation.  <br class=""></blockquote><br class="">DNSSEC is blocked by provider anyway. They do not provide it through their servers and block use on any other DNS servers anyway. I wish I could use full dual-stack but with terribly slow tunnel that gives any IPv6 connectivity and a need to connect to IPv6-only hosts (cloud servers) while retaining good performance (bandwidth-wise) of the network (streaming for example) I am running out of options here :( and there is literally no provider that could wire me up to native v6 around :(<br class=""></blockquote><br class="">Ouch, that is painful! I was under the impression that these things did<br class="">not happen anymore in the wild.<br class=""><br class="">If you known the (sub) domains that need this special processing, you<br class="">could simplify your life by adding them to a DNSSuffixMatchGroup[1] and<br class="">if the domain name in the AAAA query is not matched in this group, send<br class="">a NODATA response to let the client retry with A.<br class=""><br class="">This solution would be more cleaner than a blanket 'do another lookup<br class="">to see if I like the answer'.<br class=""><br class=""><blockquote type="cite" class=""><blockquote type="cite" class="">If you really want to continue on this path, I recommend getting a Lua<br class="">DNS library and doing an A query and see if you like the answer<br class="">before returning something to the client. In the current Lua<br class="">infrastructure in the Recursor, there is no way to re-inject a query<br class="">into the recursor from Lua.  <br class=""></blockquote><br class="">Did not know pdns Lua interpreter supports external libraries! How do you load them?<br class=""></blockquote><br class="">Just like any other Lua module, install the rock and use `require`[2]<br class=""><br class="">Best regards,<br class=""><br class="">Pieter<br class=""><br class="">1 - <a href="https://doc.powerdns.com/recursor/lua-scripting/dnsname.html#dns-suffix-match-groups" class="">https://doc.powerdns.com/recursor/lua-scripting/dnsname.html#dns-suffix-match-groups</a><br class="">2 - <a href="http://lua-users.org/wiki/ModulesTutorial" class="">http://lua-users.org/wiki/ModulesTutorial</a><br class=""><br class=""><br class="">-- <br class="">Pieter Lexis<br class=""><a href="http://PowerDNS.COM" class="">PowerDNS.COM</a> BV -- <a href="https://www.powerdns.com" class="">https://www.powerdns.com</a><br class=""></div></div></blockquote></div><br class=""></div></body></html>