X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FMain.hs;h=ac72ad513919bc932866bed73608268935ec8062;hb=b145be12d1587d37fc02ab6d12cc01b2506cfd25;hp=fc1b1b18eba02c44d549de693cc8f3d65fd6ea1e;hpb=031638c08a4ce9d7ea156ead71cb8ef02e23fa81;p=email-validator.git diff --git a/src/Main.hs b/src/Main.hs index fc1b1b1..ac72ad5 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -33,10 +33,10 @@ import EmailAddress import ExitCodes (exit_input_file_doesnt_exist) --- | Resolver parameters. We increase the default timeout from 3 to 5 +-- | Resolver parameters. We increase the default timeout from 3 to 10 -- seconds. resolv_conf :: ResolvConf -resolv_conf = defaultResolvConf { resolvTimeout = 5 * 1000 * 1000 } +resolv_conf = defaultResolvConf { resolvTimeout = 10 * 1000 * 1000 } -- | A list of common domains, there's no need to waste MX lookups -- on these. @@ -74,9 +74,9 @@ validate_a resolver domain -- | Validate an email address by doing some simple syntax checks and -- (if those fail) an MX lookup. We don't count an A record as a mail -- exchanger. -validate :: Resolver -> Bool -> Address -> IO (Address, Bool) -validate resolver accept_a address = do - let valid_syntax = validate_syntax address +validate :: Resolver -> Bool -> Bool -> Address -> IO (Address, Bool) +validate resolver accept_a rfc5322 address = do + let valid_syntax = validate_syntax rfc5322 address if valid_syntax then do let (_,domain) = parts address mx_result <- validate_mx resolver domain @@ -130,7 +130,8 @@ main = do rs <- makeResolvSeed resolv_conf withResolver rs $ \resolver -> do -- Construst a list of [IO (Address, Bool)] - let actions = map (validate resolver accept_a) nonempty_addresses + let validate' = validate resolver accept_a rfc5322 + let actions = map validate' nonempty_addresses -- And compute them in parallel. results <- parallel actions stopGlobalPool