From e797af007ccac26651f003bcead095f79994d5a0 Mon Sep 17 00:00:00 2001 From: Eduardo Chappa Date: Fri, 25 Apr 2014 17:31:25 -0600 Subject: * When downloading a signed message, and processing it, we use body->nested.part instead of b->nested.part in the do_detached_signature_verify function, and save its body and mime headers in create_local_cache. Now all signed messages should verify correctly. * Protect against potential crash bug in write_passfile function by checking if text != NULL. text can only be null if there are no passwords to save. We assume we could get write_passfile called with null arguments, so this is just to protect that. * Add handling of corner cases to several functions by initializing some variables. Reported and patched by James Jerkins. * When selecting the certificate/key pair to encrypt/decrypt the password file choose it in this order: - if -pwdcertdir is given look for certificates there, if nothing there, we bail out; - otherwise we look in the default directory, if anything there and it matches to be a key/cert pair, we use it; - otherwise we check if smime_init() has been called. If not we call it; - we check if a key/cert pair has been found with smime initialized, if so, use it and copy it to the default directory; - if not, check if there is anything in the default smime directories (.alpine-smime/private and .alpine-smime/public), and in this case copy it to the default. - otherwise we bail. We will eventually create a certificate/key pair for the user; - finally, if we called smime_init(), we call smime_deinit(). Throughout this process, if smime_init() was not called before we tried to get the cert/key pair we exit this process without ps_global->smime->inited set, so that other process that need to call smime_init() get the right structure initialized. This is done because we might pick a cert/key pair to decrypt the password file. --- web/src/alpined.d/alpined.c | 2 ++ web/src/alpined.d/imap.c | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'web') diff --git a/web/src/alpined.d/alpined.c b/web/src/alpined.d/alpined.c index db9e86c0..d13783aa 100644 --- a/web/src/alpined.d/alpined.c +++ b/web/src/alpined.d/alpined.c @@ -14994,6 +14994,8 @@ peAddSuggestedContactInfo(Tcl_Interp *interp, Tcl_Obj *lobjp, ADDRESS *addr) if(comment) fs_give((void **) &comment); + + return 0; } diff --git a/web/src/alpined.d/imap.c b/web/src/alpined.d/imap.c index 6872d085..d9512e86 100644 --- a/web/src/alpined.d/imap.c +++ b/web/src/alpined.d/imap.c @@ -388,7 +388,6 @@ alpine_tcptimeout(long elapsed, long sincelast) long alpine_sslcertquery(char *reason, char *host, char *cert) { - static char buf[256]; STRLIST_S *p; for(p = peCertHosts; p; p = p->next) -- cgit v1.2.3-70-g09d2