From a00d15573935f292acbd79085b7da3eb87c3921d Mon Sep 17 00:00:00 2001
From: Philipp Balzarek
Date: Fri, 6 Sep 2013 17:23:06 +0200
Subject: [PATCH] update to tls >= 1.1.3
---
pontarius-xmpp.cabal | 6 +++---
source/Network/Xmpp/Tls.hs | 36 +++++++++++++++++++-----------------
2 files changed, 22 insertions(+), 20 deletions(-)
diff --git a/pontarius-xmpp.cabal b/pontarius-xmpp.cabal
index 4d8ab3a..0baee85 100644
--- a/pontarius-xmpp.cabal
+++ b/pontarius-xmpp.cabal
@@ -47,7 +47,7 @@ Library
, conduit >=1.0.1
, containers >=0.4.0.0
, crypto-api >=0.9
- , crypto-random-api >=0.2
+ , crypto-random >=0.0.5
, cryptohash >=0.6.1
, cryptohash-cryptoapi >=0.1
, data-default >=0.2
@@ -64,8 +64,8 @@ Library
, stm >=2.1.2.1
, stringprep >=0.1.3
, text >=0.11.1.5
- , tls >=1.1.0
- , tls-extra >=0.5.0
+ , tls >=1.1.3
+ , tls-extra >=0.6.0
, transformers >=0.2.2.0
, void >=0.5.5
, xml-types >=0.3.1
diff --git a/source/Network/Xmpp/Tls.hs b/source/Network/Xmpp/Tls.hs
index e2a08e4..8e8e4b3 100644
--- a/source/Network/Xmpp/Tls.hs
+++ b/source/Network/Xmpp/Tls.hs
@@ -1,25 +1,27 @@
{-# OPTIONS_HADDOCK hide #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PackageImports #-}
module Network.Xmpp.Tls where
-import qualified Control.Exception.Lifted as Ex
-import Control.Monad
-import Control.Monad.Error
-import Control.Monad.State.Strict
-import Crypto.Random.API
-import qualified Data.ByteString as BS
-import qualified Data.ByteString.Char8 as BSC8
-import qualified Data.ByteString.Lazy as BL
-import Data.Conduit
-import Data.IORef
-import Data.XML.Types
-import Network.DNS.Resolver (ResolvConf)
-import Network.TLS
-import Network.Xmpp.Stream
-import Network.Xmpp.Types
-import System.Log.Logger (debugM, errorM, infoM)
+import Control.Applicative ((<$>))
+import qualified Control.Exception.Lifted as Ex
+import Control.Monad
+import Control.Monad.Error
+import Control.Monad.State.Strict
+import "crypto-random" Crypto.Random
+import qualified Data.ByteString as BS
+import qualified Data.ByteString.Char8 as BSC8
+import qualified Data.ByteString.Lazy as BL
+import Data.Conduit
+import Data.IORef
+import Data.XML.Types
+import Network.DNS.Resolver (ResolvConf)
+import Network.TLS
+import Network.Xmpp.Stream
+import Network.Xmpp.Types
+import System.Log.Logger (debugM, errorM, infoM)
mkBackend :: StreamHandle -> Backend
mkBackend con = Backend { backendSend = \bs -> void (streamSend con bs)
@@ -121,7 +123,7 @@ tlsinit :: (MonadIO m, MonadIO m1) =>
)
tlsinit params backend = do
liftIO $ debugM "Pontarius.Xmpp.Tls" "TLS with debug mode enabled."
- gen <- liftIO $ getSystemRandomGen -- TODO: Find better random source?
+ gen <- liftIO (cprgCreate <$> createEntropyPool :: IO SystemRNG)
con <- client params gen backend
handshake con
let src = forever $ do