From d46eec0bc8d476cad37cdd0ec0b1a345877566ae Mon Sep 17 00:00:00 2001 From: Goran Jovic Date: Thu, 23 Aug 2018 14:12:03 +0200 Subject: [PATCH] bug #4476 - fixes reoccurrence of recovery phrase in logs Signed-off-by: Goran Jovic --- src/status_im/ui/screens/accounts/recover/models.cljs | 9 +++++---- src/status_im/ui/screens/accounts/recover/views.cljs | 2 +- .../test/ui/screens/accounts/recover/models.cljs | 10 +++++----- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/status_im/ui/screens/accounts/recover/models.cljs b/src/status_im/ui/screens/accounts/recover/models.cljs index eb52f733d9..53c6850d23 100644 --- a/src/status_im/ui/screens/accounts/recover/models.cljs +++ b/src/status_im/ui/screens/accounts/recover/models.cljs @@ -47,10 +47,11 @@ ;;;; Handlers -(defn set-phrase [recovery-phrase {:keys [db]}] - {:db (update db :accounts/recover assoc - :passphrase (string/lower-case recovery-phrase) - :passphrase-valid? (not (check-phrase-errors recovery-phrase)))}) +(defn set-phrase [masked-recovery-phrase {:keys [db]}] + (let [recovery-phrase (security/unmask masked-recovery-phrase)] + {:db (update db :accounts/recover assoc + :passphrase (string/lower-case recovery-phrase) + :passphrase-valid? (not (check-phrase-errors recovery-phrase)))})) (defn validate-phrase [{:keys [db]}] (let [recovery-phrase (get-in db [:accounts/recover :passphrase])] diff --git a/src/status_im/ui/screens/accounts/recover/views.cljs b/src/status_im/ui/screens/accounts/recover/views.cljs index 17498da90b..84f902a978 100644 --- a/src/status_im/ui/screens/accounts/recover/views.cljs +++ b/src/status_im/ui/screens/accounts/recover/views.cljs @@ -28,7 +28,7 @@ :multiline true :default-value passphrase :auto-correct false - :on-change-text #(re-frame/dispatch [:recover/set-phrase %]) + :on-change-text #(re-frame/dispatch [:recover/set-phrase (security/mask-data %)]) :on-blur #(re-frame/dispatch [:recover/validate-phrase]) :error (cond error (i18n/label error) warning (i18n/label warning))}])) diff --git a/test/cljs/status_im/test/ui/screens/accounts/recover/models.cljs b/test/cljs/status_im/test/ui/screens/accounts/recover/models.cljs index 20dcfaa3c6..5ceb868273 100644 --- a/test/cljs/status_im/test/ui/screens/accounts/recover/models.cljs +++ b/test/cljs/status_im/test/ui/screens/accounts/recover/models.cljs @@ -44,19 +44,19 @@ (deftest set-phrase (is (= {:db {:accounts/recover {:passphrase "game buzz method pretty olympic fat quit display velvet unveil marine crater" :passphrase-valid? true}}} - (models/set-phrase "game buzz method pretty olympic fat quit display velvet unveil marine crater" {:db {}}))) + (models/set-phrase (security/mask-data "game buzz method pretty olympic fat quit display velvet unveil marine crater") {:db {}}))) (is (= {:db {:accounts/recover {:passphrase "game buzz method pretty olympic fat quit display velvet unveil marine crater" :passphrase-valid? true}}} - (models/set-phrase "Game buzz method pretty Olympic fat quit DISPLAY velvet unveil marine crater" {:db {}}))) + (models/set-phrase (security/mask-data "Game buzz method pretty Olympic fat quit DISPLAY velvet unveil marine crater") {:db {}}))) (is (= {:db {:accounts/recover {:passphrase "game buzz method pretty zeus fat quit display velvet unveil marine crater" :passphrase-valid? true}}} - (models/set-phrase "game buzz method pretty zeus fat quit display velvet unveil marine crater" {:db {}}))) + (models/set-phrase (security/mask-data "game buzz method pretty zeus fat quit display velvet unveil marine crater") {:db {}}))) (is (= {:db {:accounts/recover {:passphrase " game\t buzz method pretty olympic fat quit\t display velvet unveil marine crater " :passphrase-valid? true}}} - (models/set-phrase " game\t buzz method pretty olympic fat quit\t display velvet unveil marine crater " {:db {}}))) + (models/set-phrase (security/mask-data " game\t buzz method pretty olympic fat quit\t display velvet unveil marine crater ") {:db {}}))) (is (= {:db {:accounts/recover {:passphrase "game buzz method pretty 1234 fat quit display velvet unveil marine crater" :passphrase-valid? false}}} - (models/set-phrase "game buzz method pretty 1234 fat quit display velvet unveil marine crater" {:db {}})))) + (models/set-phrase (security/mask-data "game buzz method pretty 1234 fat quit display velvet unveil marine crater") {:db {}})))) (deftest validate-phrase (is (= {:db {:accounts/recover {:passphrase-error nil