From 41e8df4f47bb1f27ea6d3d7843fcec31362a9b98 Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Sun, 11 Jun 2017 16:50:59 -0400 Subject: avoid unneeded provision checks --- acme-certify.hs | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/acme-certify.hs b/acme-certify.hs index 677a291..a9bf3fa 100644 --- a/acme-certify.hs +++ b/acme-certify.hs @@ -134,9 +134,10 @@ updateOpts = fmap Update $ [ "Do not fetch any certificates; only tests" , "configuration file and http provisioning" ])) - <*> switch (long "provision-check" <> help - (unwords ["Locally check HTTP provisioning", - "before requesting certificates"])) + <*> fmap not (switch + (long "no-provision-check" <> help + (unwords ["Locally check HTTP provisioning", + "before requesting certificates"]))) <*> many (strOption (long "try" <> @@ -286,13 +287,6 @@ runUpdate UpdateOpts { .. } = do let wantedCertSpecs = filter (wantUpdate . view _1) validCertSpecs - when updateDoPrivisionCheck $ - forM_ (view _3 <$> wantedCertSpecs) $ \spec -> - forM_ (filter (wantProvisionCheck . fst) $ csDomains spec) $ \csd -> do - putStrLn $ "Provision check: " ++ (domainToString . fst $ csd) - can <- uncurry canProvision csd - unless can $ error "Error: cannot provision files to web server" - when (null updateTryVHosts) $ forM_ wantedCertSpecs $ \(_, domain, spec) -> do let terms = defaultTerms @@ -301,6 +295,11 @@ runUpdate UpdateOpts { .. } = do (needToFetch spec >>=) $ leftMapM_ $ \reason -> do putStrLn $ concat ["New certificate needed (for domain ", domainToString domain, "): ", show reason] + when updateDoPrivisionCheck $ + forM_ (filter (wantProvisionCheck . fst) $ csDomains spec) $ \csd -> do + putStrLn $ "Provision check: " ++ (domainToString . fst $ csd) + can <- uncurry canProvision csd + unless can $ error "Error: cannot provision files to web server" if updateDryRun then putStrLn "Dry run: nothing fetched, nothing saved." else print =<< fetchCertificate directoryUrl terms email issuerCert spec -- cgit v1.2.3