summaryrefslogtreecommitdiff
path: root/alpine/imap.c
diff options
context:
space:
mode:
authorEduardo Chappa <chappa@washington.edu>2015-09-18 22:17:44 -0600
committerEduardo Chappa <chappa@washington.edu>2015-09-18 22:17:44 -0600
commita5bec83c5704f49844a9232d16aab0b2b9bf633e (patch)
treedab972df7886336e6e9984e77308403c4155c468 /alpine/imap.c
parent6bcba429b8feb23fa3de2ee8d77bfa80785676ed (diff)
downloadalpine-a5bec83c5704f49844a9232d16aab0b2b9bf633e.tar.xz
* SMIME: Crash if public certificates are located in an inaccessible
remote server and the private key is not available. * SMIME: Management of several alternate name (SAN) certificates is improved. When importing a SAN certificate, also import a certificate for the filename, besides for the e-mail addresses in the certificate. * When saving an attachment, the "^T" command leads to a screen where the "A" command can be used to add a file. A directory can be added by pressing "^X" after the "A" command. Added after a suggestion by Stefan Goessling.
Diffstat (limited to 'alpine/imap.c')
-rw-r--r--alpine/imap.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/alpine/imap.c b/alpine/imap.c
index 546a8aee..5e31e67e 100644
--- a/alpine/imap.c
+++ b/alpine/imap.c
@@ -2412,10 +2412,15 @@ read_passfile(pinerc, l)
if(encrypted){
text = text2 = decrypt_file((char *)tmp, &i, (PERSONAL_CERT *)ps_global->pwdcert);
switch(i){
+ case -2: using_passfile = 0;
+ break;
+
case 1 : save_password = 1;
+ using_passfile = 1;
break;
case -1: save_password = 0;
+ using_passfile = 1;
break;
default: break;
@@ -2425,7 +2430,11 @@ read_passfile(pinerc, l)
fp = our_fopen(tmp, "rb"); /* reopen to read data */
#endif /* SMIME */
- using_passfile = 1;
+ if(using_passfile == 0){
+ if(text) fs_give((void **)&text);
+ return using_passfile;
+ }
+
#ifdef SMIME
for(n = 0; encrypted ? line_get(tmp, sizeof(tmp), &text2)
: (fgets(tmp, sizeof(tmp), fp) != NULL); n++){