]> gitweb @ CieloNegro.org - Rakka.git/blobdiff - Rakka/Authorization.hs
Resurrection from slight bitrot.
[Rakka.git] / Rakka / Authorization.hs
index be7f490e935b0f4e491069cbd1736e8c42298ed6..97927c5e1252b855784df2c6528da73043d142cd 100644 (file)
@@ -10,6 +10,7 @@ module Rakka.Authorization
 
 import qualified Codec.Binary.UTF8.String as UTF8
 import           Control.Concurrent.STM
+import           Control.Monad
 import           Control.Monad.Trans
 import qualified Data.ByteString as B
 import           Data.Map (Map)
@@ -20,14 +21,12 @@ import           OpenSSL.EVP.Digest
 import           Rakka.SystemConfig
 import           System.Directory
 import           System.FilePath
-import           System.IO
 
 
 data AuthDB
     = AuthDB {
         adbFilePath    :: !FilePath
       , adbUserMap     :: !(TVar UserMap)
-      , adbSyncRequest :: !(TVar Bool)
       }
 
 
@@ -37,12 +36,10 @@ type UserMap = Map String String
 mkAuthDB :: FilePath -> IO AuthDB
 mkAuthDB lsdir
     = do let path = lsdir </> "authDB"
-         m   <- newTVarIO =<< loadUserMap path
-         req <- newTVarIO False
+         m <- newTVarIO =<< loadUserMap path
          return AuthDB {
-                      adbFilePath    = path
-                    , adbUserMap     = m
-                    , adbSyncRequest = req
+                      adbFilePath = path
+                    , adbUserMap  = m
                     }
 
 
@@ -88,9 +85,8 @@ loadUserMap :: FilePath -> IO UserMap
 loadUserMap path
     = do exist <- doesFileExist path
          m     <- if exist then
-                      readFile path
-                      >>=
-                      return . M.fromList . map decodePair . fromJust . deserializeStringPairs
+                      liftM (M.fromList . map decodePair . fromJust . deserializeStringPairs)
+                            (readFile path)
                   else
                       return M.empty
          sha1  <- return . fromJust =<< getDigestByName "SHA1"