packages feed

tls 1.6.0 → 1.7.0

raw patch · 4 files changed

+218/−194 lines, 4 filesdep +cryptondep +crypton-x509dep +crypton-x509-storedep −cryptonitedep −x509dep −x509-storedep ~data-default-class

Dependencies added: crypton, crypton-x509, crypton-x509-store, crypton-x509-validation, unix-time

Dependencies removed: cryptonite, x509, x509-store, x509-validation

Dependency ranges changed: data-default-class

Files

CHANGELOG.md view
@@ -1,3 +1,7 @@+## Version 1.7.0++* Major version up because "crypton" is used instead of "cryptonite"+ ## Version 1.6.0  - Major version up because of disabling SSL3
Network/TLS/Handshake/Common13.hs view
@@ -47,31 +47,31 @@  import qualified Data.ByteArray as BA import qualified Data.ByteString as B-import Data.Hourglass+import Data.UnixTime+import Foreign.C.Types (CTime(..))+import Network.TLS.Cipher import Network.TLS.Compression import Network.TLS.Context.Internal-import Network.TLS.Cipher import Network.TLS.Crypto import qualified Network.TLS.Crypto.IES as IES import Network.TLS.Extension import Network.TLS.Handshake.Certificate (extractCAname)-import Network.TLS.Handshake.Process (processHandshake13) import Network.TLS.Handshake.Common (unexpected) import Network.TLS.Handshake.Key+import Network.TLS.Handshake.Process (processHandshake13)+import Network.TLS.Handshake.Signature import Network.TLS.Handshake.State import Network.TLS.Handshake.State13-import Network.TLS.Handshake.Signature+import Network.TLS.IO import Network.TLS.Imports import Network.TLS.KeySchedule import Network.TLS.MAC import Network.TLS.Parameters-import Network.TLS.IO import Network.TLS.State import Network.TLS.Struct import Network.TLS.Struct13 import Network.TLS.Types import Network.TLS.Wire-import Time.System  import Control.Concurrent.MVar import Control.Monad.State.Strict@@ -302,14 +302,14 @@     isAlive = isAgeValid age tinfo  getCurrentTimeFromBase :: IO Millisecond-getCurrentTimeFromBase = millisecondsFromBase <$> timeCurrentP+getCurrentTimeFromBase = millisecondsFromBase <$> getUnixTime -millisecondsFromBase :: ElapsedP -> Millisecond-millisecondsFromBase d = fromIntegral ms+millisecondsFromBase :: UnixTime -> Millisecond+millisecondsFromBase (UnixTime (CTime s) us) =+    fromIntegral ((s - base) * 1000) + fromIntegral (us `div` 1000)   where-    ElapsedP (Elapsed (Seconds s)) (NanoSeconds ns) = d - timeConvert base-    ms = s * 1000 + ns `div` 1000000-    base = Date 2017 January 1+    base = 1483228800+    -- UnixTime (CTime base) _= parseUnixTimeGMT webDateFormat "Sun, 01 Jan 2017 00:00:00 GMT"  ---------------------------------------------------------------- 
Network/TLS/Types.hs view
@@ -1,3 +1,4 @@+{-# LANGUAGE CPP #-} {-# LANGUAGE EmptyDataDecls #-} -- | -- Module      : Network.TLS.Types@@ -35,10 +36,16 @@     , MasterSecret(..)     ) where +#ifdef INCLUDE_NETWORK+import Network.Socket (HostName)+#endif+ import Network.TLS.Imports import Network.TLS.Crypto.Types (Group) +#ifndef INCLUDE_NETWORK type HostName    = String+#endif type Second      = Word32 type Millisecond = Word64 
tls.cabal view
@@ -1,189 +1,202 @@-Name:                tls-Version:             1.6.0-Description:-   Native Haskell TLS and SSL protocol implementation for server and client.-   .-   This provides a high-level implementation of a sensitive security protocol,-   eliminating a common set of security issues through the use of the advanced-   type system, high level constructions and common Haskell features.-   .-   Currently implement the TLS1.0, TLS1.1, TLS1.2 and TLS 1.3 protocol,-   and support RSA and Ephemeral (Elliptic curve and regular) Diffie Hellman key exchanges,-   and many extensions.-   .-   Some debug tools linked with tls, are available through the-   <http://hackage.haskell.org/package/tls-debug/>.-License:             BSD3-License-file:        LICENSE-Copyright:           Vincent Hanquez <vincent@snarc.org>-Author:              Vincent Hanquez <vincent@snarc.org>-Maintainer:          Kazu Yamamoto <kazu@iij.ad.jp>-Synopsis:            TLS/SSL protocol native implementation (Server and Client)-Build-Type:          Simple-Category:            Network-stability:           experimental-Cabal-Version:       >=1.10-Homepage:            http://github.com/vincenthz/hs-tls-extra-source-files:  Tests/*.hs-                     CHANGELOG.md+cabal-version:      >=1.10+name:               tls+version:            1.7.0+license:            BSD3+license-file:       LICENSE+copyright:          Vincent Hanquez <vincent@snarc.org>+maintainer:         Kazu Yamamoto <kazu@iij.ad.jp>+author:             Vincent Hanquez <vincent@snarc.org>+stability:          experimental+homepage:           http://github.com/vincenthz/hs-tls+synopsis:           TLS/SSL protocol native implementation (Server and Client)+description:+    Native Haskell TLS and SSL protocol implementation for server and client.+    .+    This provides a high-level implementation of a sensitive security protocol,+    eliminating a common set of security issues through the use of the advanced+    type system, high level constructions and common Haskell features.+    .+    Currently implement the TLS1.0, TLS1.1, TLS1.2 and TLS 1.3 protocol,+    and support RSA and Ephemeral (Elliptic curve and regular) Diffie Hellman key exchanges,+    and many extensions.+    .+    Some debug tools linked with tls, are available through the+    <http://hackage.haskell.org/package/tls-debug/>. -Flag compat-  Description:       Accept SSLv2 client hello for beginning SSLv3 / TLS handshake-  Default:           True+category:           Network+build-type:         Simple+extra-source-files:+    Tests/*.hs+    CHANGELOG.md -Flag network-  Description:       Use the base network library-  Default:           True+source-repository head+    type:     git+    location: https://github.com/vincenthz/hs-tls+    subdir:   core -Flag hans-  Description:       Use the Haskell Network Stack (HaNS)-  Default:           False+flag compat+    description:+        Accept SSLv2 client hello for beginning SSLv3 / TLS handshake -Library-  Default-Language:  Haskell2010-  Build-Depends:     base >= 4.9 && < 5-                   , mtl >= 2.2.1-                   , transformers-                   , cereal >= 0.5.3-                   , bytestring-                   , data-default-class-                   -- crypto related-                   , memory >= 0.14.6-                   , cryptonite >= 0.27-                   -- certificate related-                   , asn1-types >= 0.2.0-                   , asn1-encoding-                   , x509 >= 1.7.5-                   , x509-store >= 1.6-                   , x509-validation >= 1.6.5-                   , async >= 2.0-                   , hourglass-  if flag(network)-    Build-Depends:   network >= 2.4.0.0-    cpp-options:     -DINCLUDE_NETWORK-  if flag(hans)-    Build-Depends:   hans-    cpp-options:     -DINCLUDE_HANS-  Exposed-modules:   Network.TLS-                     Network.TLS.Cipher-                     Network.TLS.Compression-                     Network.TLS.Internal-                     Network.TLS.Extra-                     Network.TLS.Extra.Cipher-                     Network.TLS.Extra.FFDHE-                     Network.TLS.QUIC-  other-modules:     Network.TLS.Cap-                     Network.TLS.Struct-                     Network.TLS.Struct13-                     Network.TLS.Core-                     Network.TLS.Context-                     Network.TLS.Context.Internal-                     Network.TLS.Credentials-                     Network.TLS.Backend-                     Network.TLS.Crypto-                     Network.TLS.Crypto.DH-                     Network.TLS.Crypto.IES-                     Network.TLS.Crypto.Types-                     Network.TLS.ErrT-                     Network.TLS.Extension-                     Network.TLS.Handshake-                     Network.TLS.Handshake.Certificate-                     Network.TLS.Handshake.Client-                     Network.TLS.Handshake.Common-                     Network.TLS.Handshake.Common13-                     Network.TLS.Handshake.Control-                     Network.TLS.Handshake.Key-                     Network.TLS.Handshake.Process-                     Network.TLS.Handshake.Random-                     Network.TLS.Handshake.Server-                     Network.TLS.Handshake.Signature-                     Network.TLS.Handshake.State-                     Network.TLS.Handshake.State13-                     Network.TLS.Hooks-                     Network.TLS.IO-                     Network.TLS.Imports-                     Network.TLS.KeySchedule-                     Network.TLS.MAC-                     Network.TLS.Measurement-                     Network.TLS.Packet-                     Network.TLS.Packet13-                     Network.TLS.Parameters-                     Network.TLS.PostHandshake-                     Network.TLS.Record-                     Network.TLS.Record.Disengage-                     Network.TLS.Record.Engage-                     Network.TLS.Record.Layer-                     Network.TLS.Record.Reading-                     Network.TLS.Record.Writing-                     Network.TLS.Record.State-                     Network.TLS.Record.Types-                     Network.TLS.RNG-                     Network.TLS.State-                     Network.TLS.Session-                     Network.TLS.Sending-                     Network.TLS.Receiving-                     Network.TLS.Util-                     Network.TLS.Util.ASN1-                     Network.TLS.Util.Serialization-                     Network.TLS.Types-                     Network.TLS.Wire-                     Network.TLS.X509-  ghc-options:       -Wall-  if flag(compat)-    cpp-options:     -DSSLV2_COMPATIBLE+flag network+    description: Use the base network library -Test-Suite test-tls-  Default-Language:  Haskell2010-  type:              exitcode-stdio-1.0-  hs-source-dirs:    Tests-  Main-is:           Tests.hs-  other-modules:     Certificate-                     Ciphers-                     Connection-                     Marshalling-                     PipeChan-                     PubKey-  Build-Depends:     base >= 3 && < 5-                   , async >= 2.0-                   , data-default-class-                   , tasty-                   , tasty-quickcheck-                   , tls-                   , QuickCheck-                   , cryptonite-                   , bytestring-                   , asn1-types-                   , x509-                   , x509-validation-                   , hourglass-  ghc-options:       -Wall -fno-warn-unused-imports+flag hans+    description: Use the Haskell Network Stack (HaNS)+    default:     False -Benchmark bench-tls-  Default-Language:  Haskell2010-  hs-source-dirs:    Benchmarks Tests-  Main-Is:           Benchmarks.hs-  type:              exitcode-stdio-1.0-  other-modules:     Certificate-                     Connection-                     PipeChan-                     PubKey-  Build-depends:     base >= 4 && < 5-                   , tls-                   , x509-                   , x509-validation-                   , data-default-class-                   , cryptonite-                   , gauge-                   , bytestring-                   , asn1-types-                   , async >= 2.0-                   , hourglass-                   , QuickCheck >= 2-                   , tasty-quickcheck-                   , tls-  ghc-options:       -Wall -fno-warn-unused-imports+library+    exposed-modules:+        Network.TLS+        Network.TLS.Cipher+        Network.TLS.Compression+        Network.TLS.Internal+        Network.TLS.Extra+        Network.TLS.Extra.Cipher+        Network.TLS.Extra.FFDHE+        Network.TLS.QUIC -source-repository head-  type: git-  location: https://github.com/vincenthz/hs-tls-  subdir: core+    other-modules:+        Network.TLS.Cap+        Network.TLS.Struct+        Network.TLS.Struct13+        Network.TLS.Core+        Network.TLS.Context+        Network.TLS.Context.Internal+        Network.TLS.Credentials+        Network.TLS.Backend+        Network.TLS.Crypto+        Network.TLS.Crypto.DH+        Network.TLS.Crypto.IES+        Network.TLS.Crypto.Types+        Network.TLS.ErrT+        Network.TLS.Extension+        Network.TLS.Handshake+        Network.TLS.Handshake.Certificate+        Network.TLS.Handshake.Client+        Network.TLS.Handshake.Common+        Network.TLS.Handshake.Common13+        Network.TLS.Handshake.Control+        Network.TLS.Handshake.Key+        Network.TLS.Handshake.Process+        Network.TLS.Handshake.Random+        Network.TLS.Handshake.Server+        Network.TLS.Handshake.Signature+        Network.TLS.Handshake.State+        Network.TLS.Handshake.State13+        Network.TLS.Hooks+        Network.TLS.IO+        Network.TLS.Imports+        Network.TLS.KeySchedule+        Network.TLS.MAC+        Network.TLS.Measurement+        Network.TLS.Packet+        Network.TLS.Packet13+        Network.TLS.Parameters+        Network.TLS.PostHandshake+        Network.TLS.Record+        Network.TLS.Record.Disengage+        Network.TLS.Record.Engage+        Network.TLS.Record.Layer+        Network.TLS.Record.Reading+        Network.TLS.Record.Writing+        Network.TLS.Record.State+        Network.TLS.Record.Types+        Network.TLS.RNG+        Network.TLS.State+        Network.TLS.Session+        Network.TLS.Sending+        Network.TLS.Receiving+        Network.TLS.Util+        Network.TLS.Util.ASN1+        Network.TLS.Util.Serialization+        Network.TLS.Types+        Network.TLS.Wire+        Network.TLS.X509++    default-language: Haskell2010+    ghc-options:      -Wall+    build-depends:+        base >=4.9 && <5,+        mtl >=2.2.1,+        transformers,+        cereal >=0.5.3,+        bytestring,+        data-default-class,+        memory >=0.14.6,+        crypton,+        asn1-types >=0.2.0,+        asn1-encoding,+        crypton-x509 >=1.7.5,+        crypton-x509-store >=1.6,+        crypton-x509-validation >=1.6.5,+        async >=2.0,+        unix-time++    if flag(network)+        cpp-options:   -DINCLUDE_NETWORK+        build-depends: network >=2.4.0.0++    if flag(hans)+        cpp-options:   -DINCLUDE_HANS+        build-depends: hans++    if flag(compat)+        cpp-options: -DSSLV2_COMPATIBLE++test-suite test-tls+    type:             exitcode-stdio-1.0+    main-is:          Tests.hs+    hs-source-dirs:   Tests+    other-modules:+        Certificate+        Ciphers+        Connection+        Marshalling+        PipeChan+        PubKey++    default-language: Haskell2010+    ghc-options:      -Wall -fno-warn-unused-imports+    build-depends:+        base >=3 && <5,+        async >=2.0,+        data-default-class,+        tasty,+        tasty-quickcheck,+        tls,+        QuickCheck,+        crypton,+        bytestring,+        asn1-types,+        crypton-x509,+        crypton-x509-validation,+        hourglass++benchmark bench-tls+    type:             exitcode-stdio-1.0+    main-is:          Benchmarks.hs+    hs-source-dirs:   Benchmarks Tests+    other-modules:+        Certificate+        Connection+        PipeChan+        PubKey++    default-language: Haskell2010+    ghc-options:      -Wall -fno-warn-unused-imports+    build-depends:+        base >=4 && <5,+        tls,+        crypton-x509,+        crypton-x509-validation,+        data-default-class,+        crypton,+        gauge,+        bytestring,+        asn1-types,+        async >=2.0,+        hourglass,+        QuickCheck >=2,+        tasty-quickcheck,+        tls