packages feed

HaskellNet-SSL 0.3.4.1 → 0.3.4.4

raw patch · 4 files changed

+38/−28 lines, 4 filesdep +network-bsddep −tlsdep ~HaskellNetdep ~basedep ~bytestringnew-uploaderPVP ok

version bump matches the API change (PVP)

Dependencies added: network-bsd

Dependencies removed: tls

Dependency ranges changed: HaskellNet, base, bytestring, connection, data-default, network

API changes (from Hackage documentation)

Files

HaskellNet-SSL.cabal view
@@ -1,6 +1,6 @@ name:                HaskellNet-SSL synopsis:            Helpers to connect to SSL/TLS mail servers with HaskellNet-version:             0.3.4.1+version:             0.3.4.4 description:         This package ties together the HaskellNet and connection                      packages to make it easy to open IMAP and SMTP connections                      over SSL.@@ -12,12 +12,12 @@ copyright:           (c) 2013 Daniel P. Wright category:            Network build-type:          Simple-cabal-version:       >=1.8+cabal-version:       >=1.10 data-files:          README.md -Flag NoUpperBounds-  Description: Removes upper bounds from all packages-  Default: False+flag network-bsd+   description: Get Network.BSD from the network-bsd package+   default: True  source-repository head   type:     git@@ -26,24 +26,19 @@ library   hs-source-dirs:      src   ghc-options:         -Wall+  default-language:    Haskell2010   exposed-modules:     Network.HaskellNet.IMAP.SSL                        Network.HaskellNet.POP3.SSL                        Network.HaskellNet.SMTP.SSL                        Network.HaskellNet.SSL   other-modules:       Network.HaskellNet.SSL.Internal-  if flag(NoUpperBounds)-    build-depends:     base >= 4,-                       HaskellNet >= 0.3,-                       tls >= 1.2,-                       connection >= 0.2.7,-                       network >= 2.4,-                       bytestring,-                       data-default+  build-depends:       base >= 4 && < 5,+                       HaskellNet >= 0.3 && < 0.7,+                       connection >= 0.2.7 && < 0.4,+                       bytestring >= 0.9 && < 0.12,+                       data-default >= 0.2 && < 0.8+  if flag(network-bsd)+    build-depends:     network >= 3.0 && < 3.2,+                       network-bsd >= 2.7 && < 2.9   else-    build-depends:     base >= 4 && < 5,-                       HaskellNet >= 0.3 && < 0.6,-                       tls >= 1.2 && < 1.5,-                       connection >= 0.2.7 && < 0.3,-                       network >= 2.4 && < 2.9,-                       bytestring,-                       data-default+    build-depends:     network >= 2.4 && < 3.0
src/Network/HaskellNet/IMAP/SSL.hs view
@@ -1,3 +1,4 @@+-- | IMAP SSL Connections module Network.HaskellNet.IMAP.SSL     ( -- * Establishing connection       connectIMAPSSL@@ -15,11 +16,14 @@  import Network.HaskellNet.SSL.Internal +-- | Create IMAP connection with default settings connectIMAPSSL :: String -> IO IMAPConnection connectIMAPSSL hostname = connectIMAPSSLWithSettings hostname defaultSettingsIMAPSSL +-- | Create IMAP connection with given settings connectIMAPSSLWithSettings :: String -> Settings -> IO IMAPConnection connectIMAPSSLWithSettings hostname cfg = connectSSL hostname cfg >>= connectStream +-- | Default IMAP SSL settings, port 993 defaultSettingsIMAPSSL :: Settings defaultSettingsIMAPSSL = defaultSettingsWithPort 993
src/Network/HaskellNet/SMTP/SSL.hs view
@@ -48,11 +48,13 @@     (bs, startTLS) <- connectPlain hostname cfg      greeting <- bsGetLine bs-    failIfNot bs 220 $ parseResponse greeting+    failIfNot bs 220 $ parse $ B.unpack greeting      hn <- getHostName     bsPut bs $ B.pack ("HELO " ++ hn ++ "\r\n")     getResponse bs >>= failIfNot bs 250+    bsPut bs $ B.pack ("EHLO " ++ hn ++ "\r\n")+    getResponse bs >>= failIfNot bs 250     bsPut bs $ B.pack "STARTTLS\r\n"     getResponse bs >>= failIfNot bs 220 @@ -60,10 +62,12 @@      prefixRef <- newIORef [greeting]     return $ bs {bsGetLine = prefixedGetLine prefixRef (bsGetLine bs)}-  where parseResponse = parse . B.unpack-        parse s = (getCode  s, s)+  where getFinalResponse bs = do+            line <- fmap B.unpack $ bsGetLine bs+            if (line !! 3) == '-' then getFinalResponse bs else return line+        parse s = (getCode s, s)         getCode = read . head . words-        getResponse bs = liftM parseResponse $ bsGetLine bs+        getResponse bs = liftM parse $ getFinalResponse bs  failIfNot :: BSStream -> Integer -> (Integer, String) -> IO () failIfNot bs code (rc, rs) = when (code /= rc) closeAndFail
src/Network/HaskellNet/SSL.hs view
@@ -1,17 +1,24 @@+{-# LANGUAGE CPP #-} module Network.HaskellNet.SSL   ( Settings (..)   , defaultSettingsWithPort   ) where +#if MIN_VERSION_network(3,0,0)+import Network.Socket (PortNumber)+#else import Network.Socket.Internal (PortNumber)+#endif +-- | Settings for configuring HaskellNet connections data Settings = Settings-              { sslPort                        :: PortNumber-              , sslMaxLineLength               :: Int-              , sslLogToConsole                :: Bool-              , sslDisableCertificateValidation :: Bool+              { sslPort                        :: PortNumber -- ^ Port number to connect to+              , sslMaxLineLength               :: Int -- ^ Max line lengths+              , sslLogToConsole                :: Bool -- ^ Log info to console+              , sslDisableCertificateValidation :: Bool -- ^ Disable certificate validation               } deriving(Eq, Ord, Show) +-- | Construct default settings for a port defaultSettingsWithPort :: PortNumber -> Settings defaultSettingsWithPort p = Settings   { sslPort = p