zdia / gorilla

Password Gorilla manages passwords
420 stars 61 forks source link

Record UUIDs not unique #203

Open jefftharris opened 5 years ago

jefftharris commented 5 years ago

I have been getting reports from users of my PasswdSafe Android port that the app is showing the wrong entry at times. Users with the issues have created their files with Password Gorilla. Looking in a sample file, the UUID fields of records may not always be unique. Password Gorilla seems to not be generating unique values for every record, causing the conflict. The UUID appears to be generated from various fields in a record which may be common between different records.

Discussion on PasswdSafe forum with some investigation - https://sourceforge.net/p/passwdsafe/discussion/1067588/thread/bf9a4a3408/

rich123 commented 5 years ago

(*&@#$&%^@

Ok, clearly the additional change I made when migrating away from Tcllib's UUID module have now become a FAIL.

A fix will be forthcoming soon. Sorry about that.

firebus commented 3 years ago

If I need this fix, what's my best path forward? Should I build from the pre160 branch, or merge this fix into master and then build from there?

rich123 commented 3 years ago

You'll want to build from the pre160 branch, or use the pre-built .kit file at https://gorilla.dp100.com/downloads/archive/1.6.0-beta-2/gorilla-1.6.0-beta-2-pre160-35102bbd657706aa414a2b5f2693d13b9885eaf3.kit and a tclkit executable that is at least Tcl 8.5 (several options are also available at https://gorilla.dp100.com/downloads/tclkit/).

jnorell commented 2 years ago

We have a file with duplicate uuids; once we update to a version with this fixed (not done yet), do we need to take any action to fix the old duplicate uuid's, or will this be done automatically?

Thanks

rich123 commented 2 years ago

Once you upgrade to a version that includes the "fix" for my duplicate UUID goof, opening the file with that version will replace all the duplicates with new unique UUID's. Note, the first record encountered in the pwsafe file of a set of duplicates will keep the existing value, subsequent duplicates get replaced.

Do note, there is a warning dialog that will appear, and part of the warning is that the changes that were made are not yet saved back to disk. If you want to be extra careful, make a backup of your existing pwsafe, then save the "fixed" version to disk. That newly saved version should no longer have duplicate UUID's inside.