From f1babd48f5259186cd1233288992f942d4b5b0bb Mon Sep 17 00:00:00 2001 From: Simeon Simeonov Date: Fri, 9 Mar 2018 14:02:34 +0100 Subject: Complete rewrite of the master password implementation --- libsylph/pop.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'libsylph/pop.c') diff --git a/libsylph/pop.c b/libsylph/pop.c index 8cb7f5c..a387f5e 100644 --- a/libsylph/pop.c +++ b/libsylph/pop.c @@ -39,6 +39,7 @@ #include "prefs_account.h" #include "utils.h" #include "recv.h" +#include "masterpassword.h" gint pop3_greeting_recv (Pop3Session *session, const gchar *msg); @@ -437,8 +438,14 @@ Session *pop3_session_new(PrefsAccount *account) session->error_msg = NULL; session->user = g_strdup(account->userid); - session->pass = account->passwd ? g_strdup(account->passwd) : - account->tmp_pass ? g_strdup(account->tmp_pass) : NULL; + if (master_password_active()) { + session->pass = account->passwd ? decrypt_with_master_password( + account->passwd) : account->tmp_pass ? g_strdup( + account->tmp_pass) : NULL; + } else { + session->pass = account->passwd ? g_strdup(account->passwd) : + account->tmp_pass ? g_strdup(account->tmp_pass) : NULL; + } SESSION(session)->server = g_strdup(account->recv_server); -- cgit v1.3