Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove Storage::set_password #733

Merged
merged 8 commits into from
Mar 22, 2022
Merged

Remove Storage::set_password #733

merged 8 commits into from
Mar 22, 2022

Conversation

abdulmth
Copy link
Contributor

@abdulmth abdulmth commented Mar 18, 2022

Description of change

Remove the set_password() function from the account Storage interface.

Links to any relevant issues

fixes issue #720

Type of change

Add an x to the boxes that are relevant to your changes.

  • Bug fix (a non-breaking change which fixes an issue)
  • Enhancement (a non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation Fix

@abdulmth abdulmth added Wasm Related to Wasm bindings. Becomes part of the Wasm changelog Rust Related to the core Rust code. Becomes part of the Rust changelog. Removed Feature removal that requires a major release. Part of "Removed" section in changelog labels Mar 18, 2022
@abdulmth abdulmth added this to the v0.5 Features milestone Mar 18, 2022
@abdulmth abdulmth linked an issue Mar 18, 2022 that may be closed by this pull request
7 tasks
@abdulmth abdulmth changed the title Remove set-password from Storage Remove Storage::set_password Mar 18, 2022
@@ -16,10 +16,6 @@ export class Stronghold implements Storage {
return stronghold
}

public async setPassword(encryptionKey: Uint8Array) {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume we still need this to set the stronghold password, although it is not part of the interface anymore.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, thanks Eike.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not required because we set the password once during construction. This does not really suffice in the current stronghold, because the password expires after some time. This is also the case in Rust, though. Once we have migrated to the refactored stronghold, it will be fixed. I still think we can remove set_password in the NAPI bindings already.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right, because we set it in the constructor initially, which is enough for the new stronghold version. How do we coordinate this?

Copy link
Contributor

@PhilippGackstatter PhilippGackstatter Mar 18, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coordinate the upgrade? Personally, I'd like to do it as soon as possible once the stronghold team gives the green light.

Edit: Should await the KeyLocation refactor, though.

Copy link
Collaborator

@eike-hass eike-hass Mar 18, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or maybe worded differently: what is the effect if we merge it like this and do we need to wait for a new stronghold version for a potential (dev) release?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is the effect if we merge it like this

Sorry for the delay, had to re-understand how password expiration works. Actually, the default is that the password does not expire at all. Merging it like this is therefore fine, as we set the password during construction, and then we don't need to set it again.

do we need for a new stronghold version for a potential (dev) release?

I don't think we need it. However, I can't guarantee that there is not going to be a breaking change during the migration to the new version. That said, from doing the KeyLocation refactor and from what I know about the new version, at least I cannot say that there will definitely be anything broken after the migration.

Copy link
Collaborator

@eike-hass eike-hass Mar 18, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for clarifying. I was worried it would expire. So we can totally merge and do a dev release.
Let's discuss potential future breaking changes before 0.5.0 proper release.

Copy link
Contributor

@PhilippGackstatter PhilippGackstatter left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, but can't we remove Stronghold::set_password as well?

Comment on lines 80 to 84
pub async fn set_password(&self, password: EncryptionKey) -> Result<()> {
self.snapshot.set_password(password).await?;
Ok(())
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we keeping this? Looks unused in Rust and all bindings.

@abdulmth abdulmth merged commit 243c1c3 into dev Mar 22, 2022
@abdulmth abdulmth deleted the chore/remove-set-password branch March 22, 2022 08:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Removed Feature removal that requires a major release. Part of "Removed" section in changelog Rust Related to the core Rust code. Becomes part of the Rust changelog. Wasm Related to Wasm bindings. Becomes part of the Wasm changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Task] Remove Storage::set_password
3 participants