]> www.average.org Git - pdns-pipe-nmc.git/blobdiff - NmcDom.hs
publish binary 0.9.0.1
[pdns-pipe-nmc.git] / NmcDom.hs
index 2fdd6b99a3b41df75dd71c210d23aa2e29992796..505c5436cfccd4de417f2ae77fca3bb583727639 100644 (file)
--- a/NmcDom.hs
+++ b/NmcDom.hs
@@ -120,7 +120,6 @@ takeTls o =
           where
             tmap2dmap :: Map String (Map String [NmcRRTlsa])
                       -> Parser (Maybe (Map String NmcDom))
-                -- FIXME return parse error on invalid proto or port
             tmap2dmap m1 = return $ foldrWithKey addprotoelem (Just M.empty) m1
             addprotoelem k1 m2 acc = protoelem k1 m2 `merge` acc
             protoelem k1 m2 = Just (M.singleton ("_" ++ k1) (pmap2dmap m2))
@@ -182,7 +181,7 @@ instance Mergeable NmcRRI2p where
 data NmcRRTlsa = NmcRRTlsa
                         { tlsMatchType  :: Int -- 0:exact 1:sha256 2:sha512
                         , tlsMatchValue :: String
-                        , tlsIncSubdoms :: Int -- 1:enforce on subdoms 0:no
+                        , tlsIncSubdoms :: Bool -- enforce on subdoms?
                         } deriving (Show, Eq)
 
 instance FromJSON NmcRRTlsa where
@@ -190,7 +189,10 @@ instance FromJSON NmcRRTlsa where
                 if length a == 3 then NmcRRTlsa
                         <$> parseJSON (a ! 0)
                         <*> parseJSON (a ! 1)
-                        <*> parseJSON (a ! 2)
+                        <*> case (a ! 2) of
+                              Number 0 -> return False
+                              Number 1 -> return True
+                              _        -> empty
                 else empty
         parseJSON _ = empty