X-Git-Url: http://www.average.org/gitweb/?p=pdns-pipe-nmc.git;a=blobdiff_plain;f=PowerDns.hs;h=606c5ca09f0e1644715810b4d259e528327e366b;hp=ef8211dfc373e6769eab671ee2b8d654bb331b47;hb=f5e9870ed6d3307c08e583a7874d8c35e0ea6978;hpb=cf259c8d1d6610d5a51332ef2508471aad8ee752 diff --git a/PowerDns.hs b/PowerDns.hs index ef8211d..606c5ca 100644 --- a/PowerDns.hs +++ b/PowerDns.hs @@ -127,7 +127,7 @@ pdnsOutXfr ver id gen name edom = , RRTypeDS, RRTypeMX, RRTypeSOA ] walkDom f acc name dom = - f name dom $ case domMap dom of + f name dom $ case domSubmap dom of Nothing -> acc Just dm -> foldrWithKey (\n d a -> walkDom f a (n ++ "." ++ name) d) acc dm @@ -165,9 +165,27 @@ dotmail addr = "" -> aname ++ "." _ -> aname ++ "." ++ (tail adom) ++ "." -dataRR RRTypeSRV = justl domSrv +dataRR RRTypeSRV = \ _ _ dom -> + case domSrv dom of + Nothing -> [] + Just srvs -> map srvStr srvs + where + srvStr x = (show (srvPrio x)) ++ "\t" + ++ (show (srvWeight x)) ++ " " + ++ (show (srvPort x)) ++ " " + ++ (srvHost x) + dataRR RRTypeMX = justl domMx -dataRR RRTypeTLSA = justl domTlsa +dataRR RRTypeTLSA = \ _ _ dom -> + case domTlsa dom of + Nothing -> [] + Just tlsas -> map tlsaStr tlsas + where + tlsaStr x = "(3 0 " + ++ (show (tlsMatchType x)) ++ " " + ++ (tlsMatchValue x) ++ ")" + -- tlsIncSubdoms is not displayed, it is used for `propagate`. + dataRR RRTypeA = justl domIp dataRR RRTypeAAAA = justl domIp6 dataRR RRTypeCNAME = justv domAlias