diff options
| author | Joey Hess <joeyh@joeyh.name> | 2015-04-22 13:04:39 -0400 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2015-04-22 13:04:39 -0400 |
| commit | f35ef9d6975710f2d77c2ea708c66500861d92d1 (patch) | |
| tree | ce00d88d1f67109b62dcdec56262e63471fba412 /src/Propellor/Property/Gpg.hs | |
| parent | d3dbdb1f4d47142c20a498dc9279e480900b86c5 (diff) | |
API change: Added User and Group newtypes, and Properties that used to use the type UserName = String were changed to use them.
Note that UserName is kept and PrivData still uses it in its sum type.
This is to avoid breaking PrivData serialization.
Diffstat (limited to 'src/Propellor/Property/Gpg.hs')
| -rw-r--r-- | src/Propellor/Property/Gpg.hs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/Propellor/Property/Gpg.hs b/src/Propellor/Property/Gpg.hs index dfb9d429..0f68f8fe 100644 --- a/src/Propellor/Property/Gpg.hs +++ b/src/Propellor/Property/Gpg.hs @@ -20,24 +20,24 @@ newtype GpgKeyId = GpgKeyId { getGpgKeyId :: String } -- -- Recommend only using this for low-value dedicated role keys. -- No attempt has been made to scrub the key out of memory once it's used. -keyImported :: GpgKeyId -> UserName -> Property HasInfo -keyImported (GpgKeyId keyid) user = flagFile' prop genflag +keyImported :: GpgKeyId -> User -> Property HasInfo +keyImported (GpgKeyId keyid) user@(User u) = flagFile' prop genflag `requires` installed where - desc = user ++ " has gpg key " ++ show keyid + desc = u ++ " has gpg key " ++ show keyid genflag = do d <- dotDir user return $ d </> ".propellor-imported-keyid-" ++ keyid prop = withPrivData src (Context keyid) $ \getkey -> property desc $ getkey $ \key -> makeChange $ withHandle StdinHandle createProcessSuccess - (proc "su" ["-c", "gpg --import", user]) $ \h -> do + (proc "su" ["-c", "gpg --import", u]) $ \h -> do fileEncoding h hPutStr h key hClose h src = PrivDataSource GpgKey "Either a gpg public key, exported with gpg --export -a, or a gpg private key, exported with gpg --export-secret-key -a" -dotDir :: UserName -> IO FilePath -dotDir user = do - home <- homeDirectory <$> getUserEntryForName user +dotDir :: User -> IO FilePath +dotDir (User u) = do + home <- homeDirectory <$> getUserEntryForName u return $ home </> ".gnupg" |
