Hello community, here is the log from the commit of package ghc-nonce for openSUSE:Factory checked in at 2017-06-22 10:38:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-nonce (Old) and /work/SRC/openSUSE:Factory/.ghc-nonce.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-nonce" Thu Jun 22 10:38:22 2017 rev:3 rq:504089 version:1.0.4 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-nonce/ghc-nonce.changes 2016-07-20 09:28:12.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.ghc-nonce.new/ghc-nonce.changes 2017-06-22 10:38:23.266585114 +0200 @@ -1,0 +2,5 @@ +Wed May 31 14:01:08 UTC 2017 - psim...@suse.com + +- Update to version 1.0.4. + +------------------------------------------------------------------- Old: ---- 1.cabal nonce-1.0.2.tar.gz New: ---- nonce-1.0.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-nonce.spec ++++++ --- /var/tmp/diff_new_pack.al2Spp/_old 2017-06-22 10:38:23.746517452 +0200 +++ /var/tmp/diff_new_pack.al2Spp/_new 2017-06-22 10:38:23.746517452 +0200 @@ -1,7 +1,7 @@ # # spec file for package ghc-nonce # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,25 +18,21 @@ %global pkg_name nonce Name: ghc-%{pkg_name} -Version: 1.0.2 +Version: 1.0.4 Release: 0 Summary: Generate cryptographic nonces License: BSD-3-Clause -Group: System/Libraries +Group: Development/Languages/Other 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 BuildRequires: ghc-Cabal-devel -# Begin cabal-rpm deps: BuildRequires: ghc-base64-bytestring-devel BuildRequires: ghc-bytestring-devel -BuildRequires: ghc-cprng-aes-devel -BuildRequires: ghc-crypto-random-devel +BuildRequires: ghc-entropy-devel BuildRequires: ghc-rpm-macros BuildRequires: ghc-text-devel BuildRequires: ghc-transformers-devel BuildRoot: %{_tmppath}/%{name}-%{version}-build -# End cabal-rpm deps %description According to the Wikipedia, a nonce is an arbitrary number used only once in a @@ -61,17 +57,13 @@ %prep %setup -q -n %{pkg_name}-%{version} -cp -p %{SOURCE1} %{pkg_name}.cabal - %build %ghc_lib_build - %install %ghc_lib_install - %post devel %ghc_pkg_recache ++++++ nonce-1.0.2.tar.gz -> nonce-1.0.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nonce-1.0.2/nonce.cabal new/nonce-1.0.4/nonce.cabal --- old/nonce-1.0.2/nonce.cabal 2015-04-08 22:14:31.000000000 +0200 +++ new/nonce-1.0.4/nonce.cabal 2017-05-28 12:08:12.000000000 +0200 @@ -1,5 +1,5 @@ name: nonce -version: 1.0.2 +version: 1.0.4 synopsis: Generate cryptographic nonces. homepage: https://github.com/prowdsponsor/nonce license: BSD3 @@ -28,13 +28,12 @@ exposed-modules: Crypto.Nonce build-depends: - base >= 4.5 && < 4.9 + base >= 4.5 && < 4.11 , base64-bytestring == 1.0.* , bytestring >= 0.9 - , crypto-random == 0.0.* - , cprng-aes >= 0.5 && < 0.7 , text >= 0.9 , transformers >= 0.2 + , entropy >= 0.3.7 && < 0.4 hs-source-dirs: src/ default-language: Haskell2010 ghc-options: -Wall diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/nonce-1.0.2/src/Crypto/Nonce.hs new/nonce-1.0.4/src/Crypto/Nonce.hs --- old/nonce-1.0.2/src/Crypto/Nonce.hs 2015-04-08 22:14:31.000000000 +0200 +++ new/nonce-1.0.4/src/Crypto/Nonce.hs 2017-05-28 12:08:12.000000000 +0200 @@ -32,21 +32,17 @@ import Control.Monad (liftM) import Control.Monad.IO.Class (MonadIO, liftIO) -import Data.Tuple (swap) +import qualified System.Entropy as Entropy import Data.Typeable (Typeable) -import qualified Crypto.Random as R -import qualified Crypto.Random.AESCtr as AESCtr import qualified Data.ByteString as B import qualified Data.ByteString.Base64.URL as B64URL -import qualified Data.IORef as I import qualified Data.Text as T import qualified Data.Text.Encoding as TE -- | An encapsulated nonce generator. -data Generator = - G (I.IORef AESCtr.AESRNG) +data Generator = G Entropy.CryptHandle deriving (Typeable) instance Show Generator where @@ -55,12 +51,12 @@ -- | Create a new nonce generator using the system entropy. new :: MonadIO m => m Generator -new = liftM G . liftIO $ AESCtr.makeSystem >>= I.newIORef +new = liftM G . liftIO $ Entropy.openHandle --- | (Internal) Generate the given number of bytes from the AES CPRNG. +-- | (Internal) Generate the given number of bytes from the DRG. genBytes :: MonadIO m => Int -> Generator -> m B.ByteString -genBytes n (G v) = liftIO $ I.atomicModifyIORef v $ swap . R.cprgGenerate n +genBytes n (G v) = liftIO $ Entropy.hGetEntropy v n -- | Generate a 128 bit nonce as a 'B.ByteString' of 16 bytes.