diff --git a/src/App/DisplayErrors.purs b/src/App/DisplayErrors.purs index c8118f1..819d3c9 100644 --- a/src/App/DisplayErrors.purs +++ b/src/App/DisplayErrors.purs @@ -97,6 +97,7 @@ show_error_ip6 e = case e of Bulma.p "The IPv6 representation is erroneous. It should contain only up to 8 groups of hexadecimal characters." IPAddress.IP6IrrelevantShortRepresentation -> Bulma.p "IPv6 address has been unnecessarily shortened (with two ':')." + IPAddress.IP6InvalidRange -> Bulma.p "IPv6 address or range isn't valid." show_error_ip4 :: forall w i. IPAddress.IPv4Error -> HH.HTML w i show_error_ip4 e = case e of @@ -104,6 +105,7 @@ show_error_ip4 e = case e of Bulma.p $ "IPv4 address contains a number too big (should be between 0 and 255). Current entered number: " <> show n IPAddress.IP4IrrelevantShortRepresentation -> Bulma.p "IPv4 address has been unnecessarily shortened (with two '.')." + IPAddress.IP4InvalidRange -> Bulma.p "IPv4 address or range isn't valid." show_error_txt :: forall w i. ValidationDNS.TXTError -> HH.HTML w i show_error_txt e = case e of diff --git a/src/App/Validation/DNS.purs b/src/App/Validation/DNS.purs index a7f4525..29cd776 100644 --- a/src/App/Validation/DNS.purs +++ b/src/App/Validation/DNS.purs @@ -1,6 +1,6 @@ module App.Validation.DNS where -import Prelude (apply, between, bind, map, pure, ($), (-), (<), (<$>), (<>)) +import Prelude (apply, between, bind, map, pure, ($), (-), (<), (<>)) import Control.Alt ((<|>)) import Data.Array as A @@ -57,24 +57,15 @@ data Error type AVErrors = Array Error -- | Current default values. -min_ttl :: Int -min_ttl = 30 -max_ttl :: Int -max_ttl = 86000 -max_txt :: Int -max_txt = 500 -min_priority :: Int -min_priority = 0 -max_priority :: Int -max_priority = 65535 -min_port :: Int -min_port = 0 -max_port :: Int -max_port = 65535 -min_weight :: Int -min_weight = 0 -max_weight :: Int -max_weight = 65535 +min_ttl = 30 :: Int +max_ttl = 86000 :: Int +max_txt = 500 :: Int +min_priority = 0 :: Int +max_priority = 65535 :: Int +min_port = 0 :: Int +max_port = 65535 :: Int +min_weight = 0 :: Int +max_weight = 65535 :: Int -- Functions handling network-related structures (ResourceRecord). @@ -215,10 +206,10 @@ validate_SPF_mechanism m = case m.t of name <- parse (or_nothing DomainParser.sub_eof) m.v VESPFMechanismName in first m name -- name is discarded RR.IP4 -> ado - name <- parse IPAddress.ipv4 m.v VESPFMechanismIPv4 + name <- parse (IPAddress.ipv4_range <|> IPAddress.ipv4) m.v VESPFMechanismIPv4 in first m name -- name is discarded RR.IP6 -> ado - name <- parse IPAddress.ipv6 m.v VESPFMechanismIPv6 + name <- parse (IPAddress.ipv6_range <|> IPAddress.ipv6) m.v VESPFMechanismIPv6 in first m name -- name is discarded _ -> pure m