Break current device ID retrieval out into exported function GetCurrentDeviceID(); fix duplicate device IDs being generated by not deleting the old one before a potentially failed registration

This commit is contained in:
2025-03-19 23:35:50 -04:00
parent 0f90e82514
commit 51bb67f315
2 changed files with 20 additions and 13 deletions
+6 -6
View File
@@ -27,6 +27,12 @@ func DeviceIDGen(oldDeviceID string) (string, string) {
}
_ = fileToClose.Close() // error ignored; if the file could be created, it can probably be closed
// remove old device ID file (locally; may not exist)
err = os.RemoveAll(core.ConfigDir + core.PathSeparator + "devices" + core.PathSeparator + oldDeviceID)
if err != nil {
core.PrintError("Failed to remove old device ID file (locally): "+err.Error(), core.ErrorWrite, true)
}
// register new device ID with server and fetch remote EntryRoot and OS type
// also removes the old device ID file (remotely)
// manualSync is true so the user is alerted if device ID registration fails
@@ -37,11 +43,5 @@ func DeviceIDGen(oldDeviceID string) (string, string) {
core.PrintError("Init failed - Unable to close SSH client: "+err.Error(), core.ErrorServerConnection, true)
}
// remove old device ID file (locally; may not exist)
err = os.RemoveAll(core.ConfigDir + core.PathSeparator + "devices" + core.PathSeparator + oldDeviceID)
if err != nil {
core.PrintError("Failed to remove old device ID file (locally): "+err.Error(), core.ErrorWrite, true)
}
return sshEntryRootSSHIsWindows[0], sshEntryRootSSHIsWindows[1]
}