Revert "S3, Glacier, WebDAV: Fix bug that prevented accessing the creds when the repository was configured with encryption=shared embedcreds=yes."
This reverts commit fbdeeeed5f
.
I can find no basis for that commit and think that I made it in error.
setRemoteCredPair always encrypts using the cipher from remoteCipher,
even when the cipher is shared.
This commit is contained in:
parent
2d99b6b931
commit
d84eab8a8a
4 changed files with 13 additions and 16 deletions
16
Creds.hs
16
Creds.hs
|
@ -23,7 +23,7 @@ import Annex.Perms
|
|||
import Utility.FileMode
|
||||
import Crypto
|
||||
import Types.Remote (RemoteConfig, RemoteConfigKey)
|
||||
import Remote.Helper.Encryptable (remoteCipher, remoteCipher', embedCreds)
|
||||
import Remote.Helper.Encryptable (remoteCipher, embedCreds)
|
||||
import Utility.Env (getEnv)
|
||||
|
||||
import qualified Data.ByteString.Lazy.Char8 as L
|
||||
|
@ -85,19 +85,15 @@ getRemoteCredPair c storage = maybe fromcache (return . Just) =<< fromenv
|
|||
fromcache = maybe fromconfig (return . Just) =<< readCacheCredPair storage
|
||||
fromconfig = case credPairRemoteKey storage of
|
||||
Just key -> do
|
||||
mcipher <- remoteCipher' c
|
||||
case (mcipher, M.lookup key c) of
|
||||
(_, Nothing) -> return Nothing
|
||||
(Just (_cipher, SharedCipher {}), Just bcreds) ->
|
||||
-- When using a shared cipher, the
|
||||
-- creds are not stored encrypted.
|
||||
fromcreds $ fromB64 bcreds
|
||||
(Just (cipher, _), Just enccreds) -> do
|
||||
mcipher <- remoteCipher c
|
||||
case (M.lookup key c, mcipher) of
|
||||
(Nothing, _) -> return Nothing
|
||||
(Just enccreds, Just cipher) -> do
|
||||
creds <- liftIO $ decrypt cipher
|
||||
(feedBytes $ L.pack $ fromB64 enccreds)
|
||||
(readBytes $ return . L.unpack)
|
||||
fromcreds creds
|
||||
(Nothing, Just bcreds) ->
|
||||
(Just bcreds, Nothing) ->
|
||||
fromcreds $ fromB64 bcreds
|
||||
Nothing -> return Nothing
|
||||
fromcreds creds = case decodeCredPair creds of
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue