[Pdns-dev] lua script to synthesize AAAA record from A record

Muntasir Rahman muntasir.rahman at gmail.com
Fri May 4 06:47:50 CEST 2012

Hi All,

My boss asked me to modify PNDS to be able to support DNS64 specification.
DNS64 specification mandates DNS resolver to synthesize AAAA record from A
record, if AAAA record is missing. I started with Lua script example of
PDNS recursor. But i could not find any clue on how to get A record from
nodata function parameters:


function nodata ( remoteip, domain, qtype, records )
    print ("nodata called for: ", remoteip, getlocaladdress(), domain,
    if qtype ~= pdns.AAAA then return -1, {} end  --  only AAAA records
    return "getFakeAAAARecords", domain, "fe80::21b:77ff:0:0" -- here i
need to return ::ffff:ipv4.dotted.decimal.format

I would like to do something like this

    ipv4 = "" -- how do i get this data from recursor ???
    ipv6 = "::ffff:" .. ipv4  -- synthesized representation of IPv4 in IPv6
    return "getFakeAAARecords", domain, ipv6

My question is:
- how do i get IPv4 data using lua API in above script examples?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.powerdns.com/pipermail/pdns-dev/attachments/20120504/0ca9a3f7/attachment.htm>

More information about the Pdns-dev mailing list