diff options
| author | Joey Hess <joeyh@joeyh.name> | 2015-09-14 20:11:25 -0400 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2015-09-14 20:11:25 -0400 |
| commit | 9a0169f0cbdf2470e149a32f5fab8ec2369686f3 (patch) | |
| tree | c8d4dc9f3a970b7ce3622370a8ff8ee8869b413c /src/Propellor/Property/User.hs | |
| parent | 115baccc7761356ec6633202e69dfff65f53a993 (diff) | |
clean up privdata excess/lacking newline issue
* PrivData converted to newtype (API change).
* Stopped stripping trailing newlines when setting PrivData;
this was previously done to avoid mistakes when pasting eg passwords
with an unwanted newline. Instead, PrivData consumers should use either
privDataLines or privDataVal, to extract respectively lines or a
value (without internal newlines) from PrivData.
Diffstat (limited to 'src/Propellor/Property/User.hs')
| -rw-r--r-- | src/Propellor/Property/User.hs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Propellor/Property/User.hs b/src/Propellor/Property/User.hs index add3ae52..c029999f 100644 --- a/src/Propellor/Property/User.hs +++ b/src/Propellor/Property/User.hs @@ -58,8 +58,8 @@ hasPassword' (User u) context = go `requires` shadowConfig True setPassword :: (((PrivDataField, PrivData) -> Propellor Result) -> Propellor Result) -> Propellor Result setPassword getpassword = getpassword $ go where - go (Password user, password) = set user password [] - go (CryptPassword user, hash) = set user hash ["--encrypted"] + go (Password user, password) = set user (privDataVal password) [] + go (CryptPassword user, hash) = set user (privDataVal hash) ["--encrypted"] go (f, _) = error $ "Unexpected type of privdata: " ++ show f set user v ps = makeChange $ withHandle StdinHandle createProcessSuccess |
