mirror of
https://github.com/mikedilger/gossip.git
synced 2024-09-30 00:41:42 +00:00
Require repeating the passphrase when you encrypt a private key, to make sure you typed it right.
This commit is contained in:
parent
1e581a0b5d
commit
f9d6a58be0
@ -119,6 +119,7 @@ struct GossipUi {
|
|||||||
follow_pubkey: String,
|
follow_pubkey: String,
|
||||||
follow_pubkey_at_relay: String,
|
follow_pubkey_at_relay: String,
|
||||||
password: String,
|
password: String,
|
||||||
|
password2: String,
|
||||||
del_password: String,
|
del_password: String,
|
||||||
new_metadata_fieldname: String,
|
new_metadata_fieldname: String,
|
||||||
import_priv: String,
|
import_priv: String,
|
||||||
@ -129,6 +130,8 @@ struct GossipUi {
|
|||||||
impl Drop for GossipUi {
|
impl Drop for GossipUi {
|
||||||
fn drop(&mut self) {
|
fn drop(&mut self) {
|
||||||
self.password.zeroize();
|
self.password.zeroize();
|
||||||
|
self.password2.zeroize();
|
||||||
|
self.del_password.zeroize();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -236,6 +239,7 @@ impl GossipUi {
|
|||||||
follow_pubkey: "".to_owned(),
|
follow_pubkey: "".to_owned(),
|
||||||
follow_pubkey_at_relay: "".to_owned(),
|
follow_pubkey_at_relay: "".to_owned(),
|
||||||
password: "".to_owned(),
|
password: "".to_owned(),
|
||||||
|
password2: "".to_owned(),
|
||||||
del_password: "".to_owned(),
|
del_password: "".to_owned(),
|
||||||
new_metadata_fieldname: String::new(),
|
new_metadata_fieldname: String::new(),
|
||||||
import_priv: "".to_owned(),
|
import_priv: "".to_owned(),
|
||||||
|
@ -266,18 +266,28 @@ fn offer_import_priv_key(app: &mut GossipUi, ui: &mut Ui) {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
ui.horizontal(|ui| {
|
ui.horizontal(|ui| {
|
||||||
ui.label("Enter a passphrase for the private key");
|
ui.label("Enter a passphrase to keep it encrypted under");
|
||||||
ui.add(TextEdit::singleline(&mut app.password).password(true));
|
ui.add(TextEdit::singleline(&mut app.password).password(true));
|
||||||
});
|
});
|
||||||
|
ui.horizontal(|ui| {
|
||||||
|
ui.label("Repeat passphrase to be sure");
|
||||||
|
ui.add(TextEdit::singleline(&mut app.password2).password(true));
|
||||||
|
});
|
||||||
if ui.button("import").clicked() {
|
if ui.button("import").clicked() {
|
||||||
|
if app.password != app.password2 {
|
||||||
|
*GLOBALS.status_message.blocking_write() = "Passwords do not match".to_owned();
|
||||||
|
} else {
|
||||||
let _ = GLOBALS.to_overlord.send(ToOverlordMessage::ImportPriv(
|
let _ = GLOBALS.to_overlord.send(ToOverlordMessage::ImportPriv(
|
||||||
app.import_priv.clone(),
|
app.import_priv.clone(),
|
||||||
app.password.clone(),
|
app.password.clone(),
|
||||||
));
|
));
|
||||||
app.import_priv.zeroize();
|
app.import_priv.zeroize();
|
||||||
app.import_priv = "".to_owned();
|
app.import_priv = "".to_owned();
|
||||||
|
}
|
||||||
app.password.zeroize();
|
app.password.zeroize();
|
||||||
app.password = "".to_owned();
|
app.password = "".to_owned();
|
||||||
|
app.password2.zeroize();
|
||||||
|
app.password2 = "".to_owned();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -351,11 +361,21 @@ fn offer_generate(app: &mut GossipUi, ui: &mut Ui) {
|
|||||||
ui.label("Enter a passphrase to keep it encrypted under");
|
ui.label("Enter a passphrase to keep it encrypted under");
|
||||||
ui.add(TextEdit::singleline(&mut app.password).password(true));
|
ui.add(TextEdit::singleline(&mut app.password).password(true));
|
||||||
});
|
});
|
||||||
|
ui.horizontal(|ui| {
|
||||||
|
ui.label("Repeat passphrase to be sure");
|
||||||
|
ui.add(TextEdit::singleline(&mut app.password2).password(true));
|
||||||
|
});
|
||||||
if ui.button("Generate Now").clicked() {
|
if ui.button("Generate Now").clicked() {
|
||||||
|
if app.password != app.password2 {
|
||||||
|
*GLOBALS.status_message.blocking_write() = "Passwords do not match".to_owned();
|
||||||
|
} else {
|
||||||
let _ = GLOBALS
|
let _ = GLOBALS
|
||||||
.to_overlord
|
.to_overlord
|
||||||
.send(ToOverlordMessage::GeneratePrivateKey(app.password.clone()));
|
.send(ToOverlordMessage::GeneratePrivateKey(app.password.clone()));
|
||||||
|
}
|
||||||
app.password.zeroize();
|
app.password.zeroize();
|
||||||
app.password = "".to_owned();
|
app.password = "".to_owned();
|
||||||
|
app.password2.zeroize();
|
||||||
|
app.password2 = "".to_owned();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user