packages feed

crypto-totp 0.1.0.0 → 0.1.0.1

raw patch · 2 files changed

+14/−8 lines, 2 files

Files

Crypto/MAC/TOTP/Verifier.hs view
@@ -16,7 +16,6 @@ import qualified Data.ByteString as BS
 import Data.ByteString (ByteString)
 import qualified Data.List as List
-import Data.Int
 import qualified Data.Set as Set
 import System.Posix.Time
 import System.Posix.Types (EpochTime)
@@ -80,12 +79,12 @@   t <- forkIO (tryRefreshEvery verifier' delay verifierRef)
   return (t, verifierRef)
 
-graceCount :: CTime -> CTime -> Int64
-graceCount (CTime graceSeconds) (CTime validSeconds) =
+graceCount :: CTime -> CTime -> CTime
+graceCount graceSeconds validSeconds =
     let (d, m) = graceSeconds `divMod` validSeconds in
     d + if m > 0 then 1 else 0
 
-graceCountV :: Verifier -> Int64
+graceCountV :: Verifier -> CTime
 graceCountV v =
     graceCount (graceSeconds v) (Factory.validSeconds . factory $ v)
 
@@ -94,7 +93,7 @@     let initGraceAux n accum =
                   let gf = Factory.initGrace factory' n in
                   (GraceVerifier gf Set.empty):accum
-    in foldr initGraceAux [] (map CTime [1..graceCount graceSeconds validSeconds])
+    in foldr initGraceAux [] [1..graceCount graceSeconds validSeconds]
 
 refreshGrace :: Verifier -> Verifier -> Verifier
 refreshGrace verifierOld verifierNew =
@@ -106,7 +105,7 @@                   (GraceVerifier gf Set.empty):accum
               Just f ->
                   f:accum
-    in verifierNew { grace = foldr refreshGraceAux [] (map CTime [1..graceCountV verifierNew]) }
+    in verifierNew { grace = foldr refreshGraceAux [] [1..graceCountV verifierNew] }
 
 shouldRefresh :: EpochTime -> Verifier -> Bool
 shouldRefresh time v =
crypto-totp.cabal view
@@ -2,9 +2,16 @@ -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                crypto-totp
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            Provides generation and verification services for time-based one-time keys.
-description:         Please see http://tools.ietf.org/html/rfc6238
+description:
+    Generate and verify one-time keys.
+    .
+    Please see <http://tools.ietf.org/html/rfc6238>.
+    .
+    Changes:
+    .
+        0.1.0.1: Hopefully works with 32-bit integer CTime.
 license:             BSD3
 license-file:        LICENSE
 author:              Jeff Shaw