packages feed

tls-1.1.2: tls.cabal

Name:                tls
Version:             1.1.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
                   , cryptohash >= 0.6
                   , cereal >= 0.3
                   , bytestring
                   , network
                   , crypto-random-api >= 0.2 && < 0.3
                   , crypto-pubkey
                   , certificate >= 1.3.0 && < 1.4.0
  Exposed-modules:   Network.TLS
                     Network.TLS.Cipher
                     Network.TLS.Compression
                     Network.TLS.Internal
  other-modules:     Network.TLS.Cap
                     Network.TLS.Struct
                     Network.TLS.Core
                     Network.TLS.Context
                     Network.TLS.Crypto
                     Network.TLS.Extension
                     Network.TLS.Handshake
                     Network.TLS.Handshake.Common
                     Network.TLS.Handshake.Certificate
                     Network.TLS.Handshake.Client
                     Network.TLS.Handshake.Server
                     Network.TLS.Handshake.Signature
                     Network.TLS.IO
                     Network.TLS.MAC
                     Network.TLS.Measurement
                     Network.TLS.Packet
                     Network.TLS.Record
                     Network.TLS.Record.Types
                     Network.TLS.Record.Engage
                     Network.TLS.Record.Disengage
                     Network.TLS.State
                     Network.TLS.Session
                     Network.TLS.Sending
                     Network.TLS.Receiving
                     Network.TLS.Util
                     Network.TLS.Types
                     Network.TLS.Wire
  ghc-options:       -Wall
  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
                   , QuickCheck >= 2
                   , test-framework
                   , test-framework-quickcheck2
                   , cprng-aes
                   , crypto-pubkey
                   , bytestring
                   , certificate
                   , tls
                   , time
                   , crypto-random-api
  ghc-options:       -Wall -fno-warn-orphans -fno-warn-missing-signatures

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