buttercup / buttercup-desktop

:key: Cross-Platform Passwords & Secrets Vault
https://buttercup.pw
GNU General Public License v3.0
4.33k stars 331 forks source link

Change master password #1046

Open devang-metron opened 3 years ago

devang-metron commented 3 years ago

In the current version 2.6.0, I am not able to change the master password. I was able to change the password in previous version by option in right click menu on the archive icon. But no menu appears on right click in version 2.6.0. Is the way to modify password is changed?

perry-mitchell commented 3 years ago

Hi @devang-metron - Yes seems this feature was overlooked, sorry.. Should be added back to V2.

devang-metron commented 3 years ago

Thanks @perry-mitchell.

perry-mitchell commented 2 years ago

This is a seriously overlooked issue, and it should not have taken this long to address it. I'll try my best to get to it soon but would appreciate it as well if someone else picked up the task.

All that's needed:

ldexterldesign commented 2 years ago

FYI

I used this feature in the browser extension to update my master password today:

Screenshot 2022-08-05 at 00 57 25 Screenshot 2022-08-05 at 00 57 33

Hope it helps!

Regards

neunenak commented 2 years ago

I've started working on a pull request that implements this: https://github.com/buttercup/buttercup-desktop/pull/1164

neunenak commented 2 years ago

I'm still figuring out how the buttercup codebase works; to wit, I haven't looked at all into how the test framework works yet, so I'm not sure what a reasonable test for this functionality would look like.

neunenak commented 2 years ago

I'm also not quite sure how to hook up an event emitter such that it causes a vault master change password event to happen; also curious to know if the verbiage I've picked for this pull request is right?

neunenak commented 2 years ago

I've done a bit more work on this, but I'm still having some trouble figuring out the right way to architect the code to implement this. It seems like there's a type VaultSource provided by buttercup-core that has a changeMasterPassword method on it, that already does some common-sense error handling (such as making sure the provided current password actually unlocks the vault). This is what the browser extension is using to change the password. In my commit I have a callback that can get a reference to the ID of the current vault. But I'm not quite sure how to bridge the gap between this callback, and being able to call changeMasterPassword on the current vault and correctly handle errors/confirm to the user that the vault password has actually been changed. I'd appreciate any guidance about how to approach this @perry-mitchell

ldexterldesign commented 1 year ago

👋

I suppose this issue should be prioritised higher if the browser extension is being phased out 🤷

I presume exporting from old vault and importing to new vault is only current way to change master password going forward..?

Regards

ldexterldesign commented 1 year ago

Hmm, sorry to be the bearer of bad news but when I import an exported vault (for which only one export option/type exists) I get less than ideal results for the following use cases...

Import CSV

Import successful but lose all groups

Screenshot 2023-11-11 at 06 20 22

Import BC CSV

Import successful but now every entry has every CSV field (header) from every other entry

Screenshot 2023-11-11 at 06 19 59

I have dozens of total fields so deleting the superfluous ones for each entry, as an when I deal with them, seems an option but regrouping entries is definitely not an option

So based on this it seems currently have no comprehensive way of updating master password once extension is retired

Aside, didn't an archive export/import feature used to exist..? 🤔

Hope this helps 🤞

Regards

ldexterldesign commented 1 year ago

👋 https://github.com/buttercup/buttercup-desktop/issues/121

perry-mitchell commented 1 year ago

I'll try to get to this next.

ninox14 commented 3 weeks ago

any updates ? is there a way to update vault password ?