diff --git a/src/Chainweb/Utils.hs b/src/Chainweb/Utils.hs index ab5effa190..16385b7d0b 100644 --- a/src/Chainweb/Utils.hs +++ b/src/Chainweb/Utils.hs @@ -1,5 +1,6 @@ {-# LANGUAGE AllowAmbiguousTypes #-} {-# LANGUAGE BangPatterns #-} +{-# LANGUAGE CPP #-} {-# LANGUAGE DefaultSignatures #-} {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DeriveGeneric #-} @@ -245,6 +246,10 @@ import qualified Data.ByteString.Builder as BB import qualified Data.ByteString.Lazy as BL import qualified Data.Csv as CSV import Data.Decimal +#if MIN_VERSION_crypton_connection(0,4,0) +import Data.Default (def) +import Network.TLS.Extra.Cipher (ciphersuite_default) +#endif import Data.Functor.Of import Data.Hashable import qualified Data.HashMap.Strict as HM @@ -1334,18 +1339,28 @@ manager micros = HTTP.newManager unsafeManager :: Int -> IO HTTP.Manager unsafeManager micros = HTTP.newTlsManagerWith $ setManagerRequestTimeout micros - $ HTTP.mkManagerSettings (HTTP.TLSSettingsSimple True True True) Nothing + $ HTTP.mkManagerSettings unsafeSimpleTLSSettings Nothing unsafeManagerWithSettings :: (HTTP.ManagerSettings -> HTTP.ManagerSettings) -> IO HTTP.Manager unsafeManagerWithSettings settings = HTTP.newTlsManagerWith $ settings - $ HTTP.mkManagerSettings (HTTP.TLSSettingsSimple True True True) Nothing + $ HTTP.mkManagerSettings unsafeSimpleTLSSettings Nothing setManagerRequestTimeout :: Int -> HTTP.ManagerSettings -> HTTP.ManagerSettings setManagerRequestTimeout micros settings = settings { HTTP.managerResponseTimeout = HTTP.responseTimeoutMicro micros } +unsafeSimpleTLSSettings :: HTTP.TLSSettings +unsafeSimpleTLSSettings = HTTP.TLSSettingsSimple + { HTTP.settingDisableCertificateValidation = True + , HTTP.settingDisableSession = True + , HTTP.settingUseServerName = True +#if MIN_VERSION_crypton_connection(0,4,0) + , HTTP.settingClientSupported = def { HTTP.supportedCiphers = HTTP.ciphersuite_default } +#endif + } + -- -------------------------------------------------------------------------- -- -- SockAddr from network package