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

Fix argument inconsistency in bindings

parent de963b36
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.")
......
......@@ -21,6 +21,14 @@ import (
"gitlab.com/xx_network/primitives/utils"
)
type BackupReport struct {
// The JSON encoded list of E2E partner IDs
BackupIdListJson []byte
// The backup parameters found within the backup file
BackupParams []byte
}
// loadOrInitBackup will build a new xxdk.E2e from existing storage
// or from a new storage that it will create if none already exists
func loadOrInitBackup(backupPath string, backupPass string, password []byte, storeDir string,
......@@ -50,12 +58,35 @@ 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)
backupIdList, backupParams, err := backup.NewCmixFromBackup(string(ndfJson), storeDir,
backupPass, password, backupFile)
if err != nil {
jww.FATAL.Panicf("%+v", err)
}
backupIdListJson, err := json.Marshal(backupIdList)
if err != nil {
jww.FATAL.Panicf("Failed to marshal backup ID: %v", err)
}
buReport := BackupReport{
BackupIdListJson: backupIdListJson,
BackupParams: []byte(backupParams),
}
jww.INFO.Printf("")
jww.INFO.Printf("backup Report obj: %v", buReport)
reportJson, err := json.Marshal(buReport)
if err != nil {
jww.FATAL.Panicf("Failed to marshal backup report: %v", err)
}
jww.INFO.Printf("backupIdList: %v\n"+
"backupParams: %s\n"+
"backup Report obj: %v\n"+
"backup report: \n%s", backupIdList, backupParams, buReport, string(reportJson))
backupIdListPath := viper.GetString(backupIdListFlag)
if backupIdListPath != "" {
// Marshal backed up ID list to JSON
......
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