diff options
Diffstat (limited to 'libsylph/imap.c')
| -rw-r--r-- | libsylph/imap.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libsylph/imap.c b/libsylph/imap.c index aa0d737..a61dc2b 100644 --- a/libsylph/imap.c +++ b/libsylph/imap.c | |||
| @@ -707,7 +707,17 @@ static gint imap_session_connect(IMAPSession *session) | |||
| 707 | log_message(_("creating IMAP4 connection to %s:%d ...\n"), | 707 | log_message(_("creating IMAP4 connection to %s:%d ...\n"), |
| 708 | SESSION(session)->server, SESSION(session)->port); | 708 | SESSION(session)->server, SESSION(session)->port); |
| 709 | 709 | ||
| 710 | pass = account->passwd; | 710 | if (account->master_password != NULL) { |
| 711 | if (decrypt_data(&pass, | ||
| 712 | account->passwd, | ||
| 713 | account->master_password, | ||
| 714 | strlen(account->passwd)) != RC_OK) { | ||
| 715 | session_destroy(session); | ||
| 716 | return -1; | ||
| 717 | } | ||
| 718 | } else { | ||
| 719 | pass = account->passwd; | ||
| 720 | } | ||
| 711 | if (!pass) | 721 | if (!pass) |
| 712 | pass = account->tmp_pass; | 722 | pass = account->tmp_pass; |
| 713 | if (!pass) { | 723 | if (!pass) { |
