summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEduardo Chappa <chappa@washington.edu>2019-05-23 13:38:53 -0600
committerEduardo Chappa <chappa@washington.edu>2019-05-23 13:38:53 -0600
commit78b20aa314eadeaf6482b7569c43a4b4588697d1 (patch)
treeb36e816ac533daf4a885d8075e7413f2ed6a3595
parent07a44c160f8d08fa05eac046563204f84cd8d0f8 (diff)
downloadalpine-78b20aa314eadeaf6482b7569c43a4b4588697d1.tar.xz
* When Alpine is set to validate a message using the user's store, and
user agrees to save a certificate of another user, use the saved certificate immediately to verify the smime message. Reported by Stefan Mueller.
-rw-r--r--pith/pine.hlp7
-rw-r--r--pith/smime.c5
2 files changed, 10 insertions, 2 deletions
diff --git a/pith/pine.hlp b/pith/pine.hlp
index 9b3311e..8a1fff7 100644
--- a/pith/pine.hlp
+++ b/pith/pine.hlp
@@ -140,7 +140,7 @@ with help text for the config screen and the composer that didn't have any
reasonable place to be called from.
Dummy change to get revision in pine.hlp
============= h_revision =================
-Alpine Commit 342 2019-05-23 12:27:59
+Alpine Commit 343 2019-05-23 13:34:15
============= h_news =================
<HTML>
<HEAD>
@@ -233,6 +233,11 @@ Examples are /auth=plain, or /auth=gssapi, etc.
<LI> Add backward search in the index screen. Based on patch by Astyanax Foo,
submitted in 2009, but resubmitted by Erich Eckner on 2019.
+
+<LI> SMIME: When Alpine is set to validate a message using the user's store, and
+ user agrees to save a certificate of another user, use the saved
+ certificate immediately to verify the smime message. Reported by
+ Stefan Mueller.
</UL>
<P>
diff --git a/pith/smime.c b/pith/smime.c
index de5996d..a19a440 100644
--- a/pith/smime.c
+++ b/pith/smime.c
@@ -2785,8 +2785,11 @@ smime_extract_and_save_cert(PKCS7 *p7)
/* if not saved, try to save it */
if(already_saved == 0
- && (*pith_smime_confirm_save)(email[j]) == 1)
+ && (*pith_smime_confirm_save)(email[j]) == 1){
save_cert_for(email[j], x, Public);
+ if(ps_global->smime->publiccertlist) /* renew store */
+ free_certlist(&ps_global->smime->publiccertlist);
+ }
/* check if it got saved */
cert = get_cert_for(email[j], Public, 1);