diff --git a/ghc-tls.spec b/ghc-tls.spec index a382561..302a768 100644 --- a/ghc-tls.spec +++ b/ghc-tls.spec @@ -26,6 +26,7 @@ License: BSD-3-Clause Group: Development/Libraries/Haskell URL: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz +Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal BuildRequires: ghc-Cabal-devel BuildRequires: ghc-asn1-encoding-devel BuildRequires: ghc-asn1-types-devel @@ -76,6 +77,7 @@ This package provides the Haskell %{pkg_name} library development files. %prep %setup -q -n %{pkg_name}-%{version} +cp -p %{SOURCE1} %{pkg_name}.cabal %build %ghc_lib_build diff --git a/tls.cabal b/tls.cabal new file mode 100644 index 0000000..4bb024d --- /dev/null +++ b/tls.cabal @@ -0,0 +1,174 @@ +Name: tls +Version: 1.4.1 +x-revision: 1 +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, + 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 + . +License: BSD3 +License-file: LICENSE +Copyright: Vincent Hanquez +Author: Vincent Hanquez +Maintainer: Vincent Hanquez +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 + CHANGELOG.md + +Flag compat + Description: Accept SSLv2 client hello for beginning SSLv3 / TLS handshake + Default: True + Manual: True + +Flag network + Description: Use the base network library + Default: True + Manual: True + +Flag hans + Description: Use the Haskell Network Stack (HaNS) + Default: False + Manual: True + +Library + Build-Depends: base >= 4.7 && < 5 + , mtl >= 2 + , transformers + , cereal >= 0.4 + , bytestring + , data-default-class + -- crypto related + , memory >= 0.14.6 + , cryptonite >= 0.24 + -- certificate related + , asn1-types >= 0.2.0 + , asn1-encoding + , x509 >= 1.7.1 + , x509-store >= 1.6 + , x509-validation >= 1.6.5 + , async >= 2.0 + 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 + 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.Crypto.IES + Network.TLS.Crypto.Types + Network.TLS.ErrT + 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.Imports + 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 + if flag(compat) + cpp-options: -DSSLV2_COMPATIBLE + +Test-Suite test-tls + 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 + , mtl + , cereal >= 0.3 + , data-default-class + , tasty + , tasty-quickcheck + , tls + , QuickCheck + , cryptonite + , bytestring + , asn1-types + , x509 + , x509-validation + , hourglass + ghc-options: -Wall -fno-warn-unused-imports + +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 + , cryptonite + , criterion >= 1.0 + , mtl + , bytestring + , asn1-types + , hourglass + , QuickCheck >= 2 + , tasty-quickcheck + , tls + ghc-options: -Wall -fno-warn-unused-imports + +source-repository head + type: git + location: https://github.com/vincenthz/hs-tls + subdir: core