packages feed

tls-1.2.2: tls.cabal

Name:                tls
Version:             1.2.2
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 SSL3.0, TLS1.0, TLS1.1 and TLS1.2 protocol,
   with only RSA supported for Key Exchange.
   .
   Only core protocol available here, have a look at the
   <http://hackage.haskell.org/package/tls-extra/> package for default
   ciphers, compressions and certificates functions.
License:             BSD3
License-file:        LICENSE
Copyright:           Vincent Hanquez <vincent@snarc.org>
Author:              Vincent Hanquez <vincent@snarc.org>
Maintainer:          Vincent Hanquez <vincent@snarc.org>
Synopsis:            TLS/SSL protocol native implementation (Server and Client)
Build-Type:          Simple
Category:            Network
stability:           experimental
Cabal-Version:       >=1.8
Homepage:            http://github.com/vincenthz/hs-tls
extra-source-files:  Tests/*.hs

Flag compat
  Description:       Accept SSLv2 compatible handshake
  Default:           True

Library
  Build-Depends:     base >= 3 && < 5
                   , mtl
                   , cereal >= 0.3
                   , bytestring
                   , network
                   , data-default-class
                   -- crypto related
                   , cryptohash >= 0.6
                   , crypto-random >= 0.0 && < 0.1
                   , crypto-numbers
                   , crypto-pubkey-types >= 0.4
                   , crypto-pubkey >= 0.2.4
                   , cipher-rc4
                   , cipher-aes >= 0.2 && < 0.3
                   -- certificate related
                   , asn1-types >= 0.2.0
                   , asn1-encoding
                   , x509 >= 1.4.3 && < 1.5.0
                   , x509-store >= 1.4.4
                   , x509-validation >= 1.5.0 && < 1.6.0
  Exposed-modules:   Network.TLS
                     Network.TLS.Cipher
                     Network.TLS.Compression
                     Network.TLS.Internal
                     Network.TLS.Extra
                     Network.TLS.Extra.Cipher
  other-modules:     Network.TLS.Cap
                     Network.TLS.Struct
                     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.Extension
                     Network.TLS.Handshake
                     Network.TLS.Handshake.Common
                     Network.TLS.Handshake.Certificate
                     Network.TLS.Handshake.Key
                     Network.TLS.Handshake.Client
                     Network.TLS.Handshake.Server
                     Network.TLS.Handshake.Process
                     Network.TLS.Handshake.Signature
                     Network.TLS.Handshake.State
                     Network.TLS.Hooks
                     Network.TLS.IO
                     Network.TLS.MAC
                     Network.TLS.Measurement
                     Network.TLS.Packet
                     Network.TLS.Parameters
                     Network.TLS.Record
                     Network.TLS.Record.Types
                     Network.TLS.Record.Engage
                     Network.TLS.Record.Disengage
                     Network.TLS.Record.State
                     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 -fwarn-tabs
  if impl(ghc == 7.6.1)
    ghc-options:     -O0
  if flag(compat)
    cpp-options:     -DSSLV2_COMPATIBLE

Test-Suite test-tls
  type:              exitcode-stdio-1.0
  hs-source-dirs:    Tests
  Main-is:           Tests.hs
  Build-Depends:     base >= 3 && < 5
                   , mtl
                   , cereal >= 0.3
                   , data-default-class
                   , QuickCheck >= 2
                   , test-framework
                   , test-framework-quickcheck2
                   , cprng-aes >= 0.5
                   , crypto-pubkey >= 0.2
                   , bytestring
                   , x509
                   , x509-validation
                   , tls
                   , time
                   , crypto-random
                   , crypto-pubkey
  ghc-options:       -Wall -fno-warn-orphans -fno-warn-missing-signatures -fwarn-tabs

Benchmark bench-tls
  hs-source-dirs:    Benchmarks Tests
  Main-Is:           Benchmarks.hs
  type:              exitcode-stdio-1.0
  Build-depends:     base >= 4 && < 5
                   , tls
                   , x509
                   , x509-validation
                   , data-default-class
                   , crypto-random
                   , criterion
                   , cprng-aes
                   , mtl
                   , bytestring
                   , crypto-pubkey >= 0.2
                   , time
                   , QuickCheck >= 2

source-repository head
  type: git
  location: git://github.com/vincenthz/hs-tls
  subdir: core