Skip to content
Snippets Groups Projects
Commit 3d2f4b0f authored by Josh Brooks's avatar Josh Brooks
Browse files

Merge branch 'Josh/BackupBindingsPart3' into 'release'

Josh/backup bindings part3

See merge request !301
parents 16e74721 1b98f362
No related branches found
No related tags found
2 merge requests!510Release,!301Josh/backup bindings part3
......@@ -90,7 +90,7 @@ type UpdateBackupFn func(encryptedBackup []byte)
// new backups.
// Call this to turn on backups for the first time or to replace the user's
// password.
func InitializeBackup(password string, updateBackupCb UpdateBackupFn,
func InitializeBackup(backupPassphrase string, updateBackupCb UpdateBackupFn,
container *xxdk.Container, e2e E2e, session Session, ud UserDiscovery,
kv *versioned.KV, rng *fastRNG.StreamGenerator) (*Backup, error) {
b := &Backup{
......@@ -115,7 +115,7 @@ func InitializeBackup(password string, updateBackupCb UpdateBackupFn,
params.Memory = 64 * 1024 // 64 MiB
params.Threads = 1
params.Time = 5
key := backup.DeriveKey(password, salt, params)
key := backup.DeriveKey(backupPassphrase, salt, params)
// Save key, salt, and parameters to storage
err = saveBackup(key, salt, params, b.kv)
......
......@@ -25,12 +25,12 @@ import (
// a successful client creation, the function will return a
// JSON encoded list of the E2E partners contained in the backup and a
// json-encoded string containing parameters stored in the backup
func NewCmixFromBackup(ndfJSON, storageDir string, sessionPassword,
backupPassphrase []byte, backupFileContents []byte) ([]*id.ID,
func NewCmixFromBackup(ndfJSON, storageDir, backupPassphrase string,
sessionPassword []byte, backupFileContents []byte) ([]*id.ID,
string, error) {
backUp := &cryptoBackup.Backup{}
err := backUp.Decrypt(string(backupPassphrase), backupFileContents)
err := backUp.Decrypt(backupPassphrase, backupFileContents)
if err != nil {
return nil, "", errors.WithMessage(err,
"Failed to unmarshal decrypted client contents.")
......
......@@ -32,7 +32,7 @@ type BackupReport struct {
BackupIdListJson []byte
// The backup parameters found within the backup file
BackupParams []byte
BackupParams string
}
// UpdateBackupFunc contains a function callback that returns new backups.
......@@ -57,13 +57,13 @@ type UpdateBackupFunc interface {
//
// Returns:
// - []byte - the JSON marshalled bytes of the BackupReport object.
func NewCmixFromBackup(ndfJSON, storageDir string, sessionPassword,
backupPassphrase []byte, backupFileContents []byte) ([]byte, error) {
func NewCmixFromBackup(ndfJSON, storageDir, backupPassphrase string,
sessionPassword, backupFileContents []byte) ([]byte, error) {
// Restore from backup
backupIdList, backupParamsStr, err := backup.NewCmixFromBackup(
ndfJSON, storageDir, sessionPassword,
backupPassphrase, backupFileContents)
backupIdList, backupParams, err := backup.NewCmixFromBackup(
ndfJSON, storageDir, backupPassphrase, sessionPassword,
backupFileContents)
if err != nil {
return nil, err
}
......@@ -77,7 +77,7 @@ func NewCmixFromBackup(ndfJSON, storageDir string, sessionPassword,
// Construct report
report := BackupReport{
BackupIdListJson: backupIdListJson,
BackupParams: []byte(backupParamsStr),
BackupParams: backupParams,
}
// Marshal report
......@@ -94,9 +94,9 @@ func NewCmixFromBackup(ndfJSON, storageDir string, sessionPassword,
// Params
// - e2eID - ID of the E2e object in the e2e tracker.
// - udID - ID of the UserDiscovery object in the ud tracker.
// - password - password used in LoadCmix.
// - backupPassPhrase - backup passphrase provided by the user. Used to decrypt backup.
// - cb - the callback to be called when a backup is triggered.
func InitializeBackup(e2eID, udID int, password string,
func InitializeBackup(e2eID, udID int, backupPassPhrase string,
cb UpdateBackupFunc) (*Backup, error) {
// Retrieve the user from the tracker
user, err := e2eTrackerSingleton.get(e2eID)
......@@ -111,7 +111,7 @@ func InitializeBackup(e2eID, udID int, password string,
}
// Initialize backup
b, err := backup.InitializeBackup(password, cb.UpdateBackup,
b, err := backup.InitializeBackup(backupPassPhrase, cb.UpdateBackup,
user.api.GetBackupContainer(), user.api.GetE2E(),
user.api.GetStorage(), ud.api,
user.api.GetStorage().GetKV(), user.api.GetRng())
......
......@@ -51,7 +51,7 @@ func loadOrInitBackup(backupPath string, backupPass string, password []byte, sto
// Construct cMix from backup data
backupIdList, _, err := backup.NewCmixFromBackup(string(ndfJson), storeDir,
password, []byte(backupPass), backupFile)
backupPass, password, backupFile)
if err != nil {
jww.FATAL.Panicf("%+v", err)
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment