[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:

http://wiki.powerdns.com/trac/browser/branches/pdns-dns64/pdns/powerdns-example-script.lua

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

I would like to do something like this

    ipv4 = "1.2.3.4" -- 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?

Regards,
Muntasir
-------------- 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