Skip to content
Snippets Groups Projects
Commit 5e6a3d2f authored by Jake Taylor's avatar Jake Taylor
Browse files

fix cmd idgen to properly handle existing session files

parent 2cfdb8bf
Branches
Tags
2 merge requests!510Release,!271fix cmd idgen to properly handle existing session files
...@@ -30,7 +30,8 @@ func loadOrInitBackup(backupPath string, backupPass string, password []byte, sto ...@@ -30,7 +30,8 @@ func loadOrInitBackup(backupPath string, backupPass string, password []byte, sto
// create a new client if none exist // create a new client if none exist
var net *xxdk.Cmix var net *xxdk.Cmix
var identity xxdk.ReceptionIdentity var identity xxdk.ReceptionIdentity
if _, err := os.Stat(storeDir); errors.Is(err, fs.ErrNotExist) { _, err := os.Stat(storeDir)
if errors.Is(err, fs.ErrNotExist) {
// Initialize from scratch // Initialize from scratch
ndfJson, err := ioutil.ReadFile(viper.GetString("ndf")) ndfJson, err := ioutil.ReadFile(viper.GetString("ndf"))
if err != nil { if err != nil {
...@@ -73,12 +74,16 @@ func loadOrInitBackup(backupPath string, backupPass string, password []byte, sto ...@@ -73,12 +74,16 @@ func loadOrInitBackup(backupPath string, backupPass string, password []byte, sto
backupIdListPath, err) backupIdListPath, err)
} }
} }
}
// Initialize from storage
net, err = xxdk.LoadCmix(storeDir, password, cmixParams) net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
if err != nil { if err != nil {
jww.FATAL.Panicf("%+v", err) jww.FATAL.Panicf("%+v", err)
} }
// Load or initialize xxdk.ReceptionIdentity storage
identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
if err != nil {
identity, err = xxdk.MakeLegacyReceptionIdentity(net) identity, err = xxdk.MakeLegacyReceptionIdentity(net)
if err != nil { if err != nil {
jww.FATAL.Panicf("%+v", err) jww.FATAL.Panicf("%+v", err)
...@@ -88,16 +93,6 @@ func loadOrInitBackup(backupPath string, backupPass string, password []byte, sto ...@@ -88,16 +93,6 @@ func loadOrInitBackup(backupPath string, backupPass string, password []byte, sto
if err != nil { if err != nil {
jww.FATAL.Panicf("%+v", err) jww.FATAL.Panicf("%+v", err)
} }
} else {
// Initialize from storage
net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
if err != nil {
jww.FATAL.Panicf("%+v", err)
}
identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
if err != nil {
jww.FATAL.Panicf("%+v", err)
}
} }
messenger, err := xxdk.Login(net, authCbs, identity, e2eParams) messenger, err := xxdk.Login(net, authCbs, identity, e2eParams)
......
...@@ -80,7 +80,8 @@ func loadOrInitMessenger(forceLegacy bool, password []byte, storeDir, regCode st ...@@ -80,7 +80,8 @@ func loadOrInitMessenger(forceLegacy bool, password []byte, storeDir, regCode st
// create a new client if none exist // create a new client if none exist
var net *xxdk.Cmix var net *xxdk.Cmix
var identity xxdk.ReceptionIdentity var identity xxdk.ReceptionIdentity
if _, err := os.Stat(storeDir); errors.Is(err, fs.ErrNotExist) { _, err := os.Stat(storeDir)
if errors.Is(err, fs.ErrNotExist) {
// Initialize from scratch // Initialize from scratch
ndfJson, err := ioutil.ReadFile(viper.GetString("ndf")) ndfJson, err := ioutil.ReadFile(viper.GetString("ndf"))
if err != nil { if err != nil {
...@@ -88,11 +89,20 @@ func loadOrInitMessenger(forceLegacy bool, password []byte, storeDir, regCode st ...@@ -88,11 +89,20 @@ func loadOrInitMessenger(forceLegacy bool, password []byte, storeDir, regCode st
} }
err = xxdk.NewCmix(string(ndfJson), storeDir, password, regCode) err = xxdk.NewCmix(string(ndfJson), storeDir, password, regCode)
if err != nil {
jww.FATAL.Panicf("%+v", err)
}
}
// Initialize from storage
net, err = xxdk.LoadCmix(storeDir, password, cmixParams) net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
if err != nil { if err != nil {
jww.FATAL.Panicf("%+v", err) jww.FATAL.Panicf("%+v", err)
} }
// Load or initialize xxdk.ReceptionIdentity storage
identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
if err != nil {
if forceLegacy { if forceLegacy {
jww.INFO.Printf("Forcing legacy sender") jww.INFO.Printf("Forcing legacy sender")
identity, err = xxdk.MakeLegacyReceptionIdentity(net) identity, err = xxdk.MakeLegacyReceptionIdentity(net)
...@@ -107,16 +117,6 @@ func loadOrInitMessenger(forceLegacy bool, password []byte, storeDir, regCode st ...@@ -107,16 +117,6 @@ func loadOrInitMessenger(forceLegacy bool, password []byte, storeDir, regCode st
if err != nil { if err != nil {
jww.FATAL.Panicf("%+v", err) jww.FATAL.Panicf("%+v", err)
} }
} else {
// Initialize from storage
net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
if err != nil {
jww.FATAL.Panicf("%+v", err)
}
identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
if err != nil {
jww.FATAL.Panicf("%+v", err)
}
} }
messenger, err := xxdk.Login(net, authCbs, identity, e2eParams) messenger, err := xxdk.Login(net, authCbs, identity, e2eParams)
...@@ -135,7 +135,8 @@ func loadOrInitVanity(password []byte, storeDir, regCode, userIdPrefix string, ...@@ -135,7 +135,8 @@ func loadOrInitVanity(password []byte, storeDir, regCode, userIdPrefix string,
// create a new client if none exist // create a new client if none exist
var net *xxdk.Cmix var net *xxdk.Cmix
var identity xxdk.ReceptionIdentity var identity xxdk.ReceptionIdentity
if _, err := os.Stat(storeDir); errors.Is(err, fs.ErrNotExist) { _, err := os.Stat(storeDir)
if errors.Is(err, fs.ErrNotExist) {
// Initialize from scratch // Initialize from scratch
ndfJson, err := ioutil.ReadFile(viper.GetString("ndf")) ndfJson, err := ioutil.ReadFile(viper.GetString("ndf"))
if err != nil { if err != nil {
...@@ -144,27 +145,25 @@ func loadOrInitVanity(password []byte, storeDir, regCode, userIdPrefix string, ...@@ -144,27 +145,25 @@ func loadOrInitVanity(password []byte, storeDir, regCode, userIdPrefix string,
err = xxdk.NewVanityClient(string(ndfJson), storeDir, err = xxdk.NewVanityClient(string(ndfJson), storeDir,
password, regCode, userIdPrefix) password, regCode, userIdPrefix)
net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
if err != nil { if err != nil {
jww.FATAL.Panicf("%+v", err) jww.FATAL.Panicf("%+v", err)
} }
}
identity, err = xxdk.MakeLegacyReceptionIdentity(net) // Initialize from storage
net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
if err != nil { if err != nil {
jww.FATAL.Panicf("%+v", err) jww.FATAL.Panicf("%+v", err)
} }
err = xxdk.StoreReceptionIdentity(identityStorageKey, identity, net) // Load or initialize xxdk.ReceptionIdentity storage
identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
if err != nil { if err != nil {
jww.FATAL.Panicf("%+v", err) identity, err = xxdk.MakeLegacyReceptionIdentity(net)
}
} else {
// Initialize from storage
net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
if err != nil { if err != nil {
jww.FATAL.Panicf("%+v", err) jww.FATAL.Panicf("%+v", err)
} }
identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
err = xxdk.StoreReceptionIdentity(identityStorageKey, identity, net)
if err != nil { if err != nil {
jww.FATAL.Panicf("%+v", err) jww.FATAL.Panicf("%+v", err)
} }
......
...@@ -30,7 +30,8 @@ func loadOrInitPrecan(precanId uint, password []byte, storeDir string, ...@@ -30,7 +30,8 @@ func loadOrInitPrecan(precanId uint, password []byte, storeDir string,
// create a new client if none exist // create a new client if none exist
var net *xxdk.Cmix var net *xxdk.Cmix
var identity xxdk.ReceptionIdentity var identity xxdk.ReceptionIdentity
if _, err := os.Stat(storeDir); errors.Is(err, fs.ErrNotExist) { _, err := os.Stat(storeDir)
if errors.Is(err, fs.ErrNotExist) {
// Initialize from scratch // Initialize from scratch
ndfJson, err := ioutil.ReadFile(viper.GetString("ndf")) ndfJson, err := ioutil.ReadFile(viper.GetString("ndf"))
if err != nil { if err != nil {
...@@ -38,27 +39,25 @@ func loadOrInitPrecan(precanId uint, password []byte, storeDir string, ...@@ -38,27 +39,25 @@ func loadOrInitPrecan(precanId uint, password []byte, storeDir string,
} }
err = xxdk.NewPrecannedClient(precanId, string(ndfJson), storeDir, password) err = xxdk.NewPrecannedClient(precanId, string(ndfJson), storeDir, password)
net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
if err != nil { if err != nil {
jww.FATAL.Panicf("%+v", err) jww.FATAL.Panicf("%+v", err)
} }
identity, err = xxdk.MakeLegacyReceptionIdentity(net)
if err != nil {
return nil
}
err = xxdk.StoreReceptionIdentity(identityStorageKey, identity, net)
if err != nil {
jww.FATAL.Panicf("%+v", err)
} }
} else {
// Initialize from storage // Initialize from storage
net, err = xxdk.LoadCmix(storeDir, password, cmixParams) net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
if err != nil { if err != nil {
jww.FATAL.Panicf("%+v", err) jww.FATAL.Panicf("%+v", err)
} }
// Load or initialize xxdk.ReceptionIdentity storage
identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net) identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
if err != nil {
identity, err = xxdk.MakeLegacyReceptionIdentity(net)
if err != nil {
jww.FATAL.Panicf("%+v", err)
}
err = xxdk.StoreReceptionIdentity(identityStorageKey, identity, net)
if err != nil { if err != nil {
jww.FATAL.Panicf("%+v", err) jww.FATAL.Panicf("%+v", err)
} }
......
...@@ -28,7 +28,8 @@ func loadOrInitProto(protoUserPath string, password []byte, storeDir string, ...@@ -28,7 +28,8 @@ func loadOrInitProto(protoUserPath string, password []byte, storeDir string,
// create a new client if none exist // create a new client if none exist
var net *xxdk.Cmix var net *xxdk.Cmix
var identity xxdk.ReceptionIdentity var identity xxdk.ReceptionIdentity
if _, err := os.Stat(storeDir); errors.Is(err, fs.ErrNotExist) { _, err := os.Stat(storeDir)
if errors.Is(err, fs.ErrNotExist) {
// Initialize from scratch // Initialize from scratch
ndfJson, err := ioutil.ReadFile(viper.GetString("ndf")) ndfJson, err := ioutil.ReadFile(viper.GetString("ndf"))
if err != nil { if err != nil {
...@@ -48,31 +49,30 @@ func loadOrInitProto(protoUserPath string, password []byte, storeDir string, ...@@ -48,31 +49,30 @@ func loadOrInitProto(protoUserPath string, password []byte, storeDir string,
err = xxdk.NewProtoClient_Unsafe(string(ndfJson), storeDir, err = xxdk.NewProtoClient_Unsafe(string(ndfJson), storeDir,
password, protoUser) password, protoUser)
net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
if err != nil { if err != nil {
jww.FATAL.Panicf("%+v", err) jww.FATAL.Panicf("%+v", err)
} }
identity, err = xxdk.MakeLegacyReceptionIdentity(net)
if err != nil {
return nil
}
err = xxdk.StoreReceptionIdentity(identityStorageKey, identity, net)
if err != nil {
jww.FATAL.Panicf("%+v", err)
} }
} else {
// Initialize from storage // Initialize from storage
net, err = xxdk.LoadCmix(storeDir, password, cmixParams) net, err = xxdk.LoadCmix(storeDir, password, cmixParams)
if err != nil { if err != nil {
jww.FATAL.Panicf("%+v", err) jww.FATAL.Panicf("%+v", err)
} }
// Load or initialize xxdk.ReceptionIdentity storage
identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net) identity, err = xxdk.LoadReceptionIdentity(identityStorageKey, net)
if err != nil {
identity, err = xxdk.MakeLegacyReceptionIdentity(net)
if err != nil { if err != nil {
jww.FATAL.Panicf("%+v", err) jww.FATAL.Panicf("%+v", err)
} }
err = xxdk.StoreReceptionIdentity(identityStorageKey, identity, net)
if err != nil {
jww.FATAL.Panicf("%+v", err)
} }
}
messenger, err := xxdk.Login(net, authCbs, identity, e2eParams) messenger, err := xxdk.Login(net, authCbs, identity, e2eParams)
if err != nil { if err != nil {
jww.FATAL.Panicf("%+v", err) jww.FATAL.Panicf("%+v", err)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment