diff options
Diffstat (limited to 'ymir/mlmmj-expose.nix')
-rw-r--r-- | ymir/mlmmj-expose.nix | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/ymir/mlmmj-expose.nix b/ymir/mlmmj-expose.nix index 2158cd35..6dc808e3 100644 --- a/ymir/mlmmj-expose.nix +++ b/ymir/mlmmj-expose.nix | |||
@@ -26,6 +26,7 @@ let | |||
26 | import qualified Data.ByteString.Lazy as LBS | 26 | import qualified Data.ByteString.Lazy as LBS |
27 | import qualified Data.ByteString.Lazy.Char8 as CLBS | 27 | import qualified Data.ByteString.Lazy.Char8 as CLBS |
28 | import qualified Data.ByteString as BS | 28 | import qualified Data.ByteString as BS |
29 | import qualified Data.ByteString.Char8 as CBS | ||
29 | 30 | ||
30 | import qualified Data.ByteString.Base64 as Base64 | 31 | import qualified Data.ByteString.Base64 as Base64 |
31 | 32 | ||
@@ -36,7 +37,7 @@ let | |||
36 | "mlmmj-exposed" -> do | 37 | "mlmmj-exposed" -> do |
37 | args <- getArgs | 38 | args <- getArgs |
38 | case args of | 39 | case args of |
39 | [listDir, (Base64.decodeLenient -> extension)] -> do | 40 | [listDir, (LBS.fromStrict . Base64.decodeLenient . CBS.pack -> extension)] -> do |
40 | setCurrentDirectory listDir | 41 | setCurrentDirectory listDir |
41 | key <- (BS.readFile "exposed.key") `catchIOError` (\e -> if isDoesNotExistError e then randomKey >>= (\k -> BS.writeFile "exposed.key" k >> return k) else ioError e) | 42 | key <- (BS.readFile "exposed.key") `catchIOError` (\e -> if isDoesNotExistError e then randomKey >>= (\k -> BS.writeFile "exposed.key" k >> return k) else ioError e) |
42 | let ((map toLower -> ident), (map toLower -> recipient)) = read . CLBS.unpack $ decryptMsg CBC key extension | 43 | let ((map toLower -> ident), (map toLower -> recipient)) = read . CLBS.unpack $ decryptMsg CBC key extension |
@@ -74,7 +75,7 @@ let | |||
74 | getSubscribers :: IO [String] | 75 | getSubscribers :: IO [String] |
75 | getSubscribers = map (map toLower) . concat <$> mapM (flip catchIOError (\e -> if isDoesNotExistError e then return [] else ioError e) . readDir) ["subscribers.d", "digesters.d"] | 76 | getSubscribers = map (map toLower) . concat <$> mapM (flip catchIOError (\e -> if isDoesNotExistError e then return [] else ioError e) . readDir) ["subscribers.d", "digesters.d"] |
76 | where | 77 | where |
77 | readDir dir = concat <$> mapM (fmap lines . readFile) =<< (getDirectoryContents dir) | 78 | readDir dir = concat <$> (mapM (fmap lines . readFile) =<< (getDirectoryContents dir)) |
78 | ''; | 79 | ''; |
79 | buildCommand = '' | 80 | buildCommand = '' |
80 | mkdir -p $out/bin | 81 | mkdir -p $out/bin |