Resolve "cli: keys modify: ask salt and password on password prompt for security"
Closes #201 (closed)
Merge request reports
Activity
added 5 commits
-
5c61c2e0...80660875 - 4 commits from branch
dev
- 37a48718 - wip: [feat] conf: Replace keys modify salt/password opt by interactive input
-
5c61c2e0...80660875 - 4 commits from branch
@librelois j'ai une version fonctionnelle avec une grosse régression qui est que les salt et password sont affichés dans le terminal quand on les tape. Ça affecte les commandes modify et wizard.
rpassword::prompt_password_stdout
qui était utilisé avant fait la configuration/restauration du terminal avec desunsafe
mais pasread_password_with_reader
qui est utilisé maintenant. Il faut se faire la configuration du terminal avant les appels.Ça ne me plaît pas trop de dupliquer/ré-écrire cette partie du code de
rpassword
. Peut-être qu'il y a les fonctions nécessaires du coté de tui ou termion. Je regarderai.Tu as une idée de comment résoudre ce pb ?
@dvermd oui c'est très simple il suffit d'appeler de nouveau
prompt_password_stdout()
dans la méthodeget_user_input()
.added 1 commit
- 34d26d33 - [feat] core+conf: Replace keys modify salt/password opt by interactive input
added 1 commit
- 8b3b499f - [feat] core+conf: Replace keys modify salt/password opt by interactive input
added 3 commits
-
8b3b499f...fa3bd674 - 2 commits from branch
dev
- b2d6de32 - [feat] core+conf: Replace keys modify salt/password opt by interactive input
-
8b3b499f...fa3bd674 - 2 commits from branch
added S-request review label
@librelois c'est modifié
- Resolved by Éloïs
- Resolved by Éloïs
- Resolved by Éloïs
- Resolved by Éloïs
- Resolved by Éloïs
261 stdin_mock.expect_get_password().returning(|prompt| { 262 if prompt.starts_with("Salt:") { 263 Ok(Secret { 264 secret: SALT_TEST.to_owned(), 265 }) 266 } else if prompt.starts_with("Password:") { 267 Ok(Secret { 268 secret: PASSWORD_TEST.to_owned(), 269 }) 270 } else { 271 Err(std::io::Error::new( 272 std::io::ErrorKind::InvalidInput, 273 format!("should not be called with {}", prompt), 274 )) 275 } 276 }); Aussi, si chaque test appelle le mock le même nombre N de fois, rajoute la fonction times(N) de mockall pour vérifier que l'appel est bien fait N fois.
Edited by Éloïschanged this line in version 6 of the diff
@dvermd, Pense aux #[inline] sur les fonctions qui n'ont qu'une seule instruction :)
added 2 commits
added 1 commit
- fc2d94ef - [ref] conf: refactor tests and improve readability
@librelois la CI ne démarre pas, elle est marquée en skip. Par rapport à la dernière CI sur le commit e174c4d5 j'ai juste squashé 2 commits de refactor