diff --git a/repository/index.go b/repository/index.go index 7bb4a273e..093667336 100644 --- a/repository/index.go +++ b/repository/index.go @@ -1,6 +1,7 @@ package repository import ( + "bytes" "encoding/json" "errors" "fmt" @@ -564,13 +565,12 @@ func LoadIndexWithDecoder(repo *Repository, id string, fn func(io.Reader) (*Inde return nil, err } - rd, err := repo.GetDecryptReader(backend.Index, idxID.String()) + buf, err := repo.LoadAndDecrypt(backend.Index, idxID) if err != nil { return nil, err } - defer closeOrErr(rd, &err) - idx, err = fn(rd) + idx, err = fn(bytes.NewReader(buf)) if err != nil { debug.Log("LoadIndexWithDecoder", "error while decoding index %v: %v", id, err) return nil, err diff --git a/repository/repository.go b/repository/repository.go index f095898c3..a3ed9c60f 100644 --- a/repository/repository.go +++ b/repository/repository.go @@ -495,17 +495,6 @@ func LoadIndex(repo *Repository, id string) (*Index, error) { return nil, err } -// GetDecryptReader opens the file id stored in the backend and returns a -// reader that yields the decrypted content. The reader must be closed. -func (r *Repository) GetDecryptReader(t backend.Type, id string) (io.ReadCloser, error) { - rd, err := r.be.GetReader(t, id, 0, 0) - if err != nil { - return nil, err - } - - return newDecryptReadCloser(r.key, rd) -} - // SearchKey finds a key with the supplied password, afterwards the config is // read and parsed. func (r *Repository) SearchKey(password string) error {