summaryrefslogtreecommitdiff
path: root/pith/send.c
diff options
context:
space:
mode:
authorEduardo Chappa <chappa@washington.edu>2019-06-03 11:14:11 -0600
committerEduardo Chappa <chappa@washington.edu>2019-06-03 11:14:11 -0600
commit8a8766c0b2117dbf64655ec62331319077c1b803 (patch)
tree84db3ef07549409a572c23dd1ec7755b2a46b64a /pith/send.c
parentb5d82108552f45e6ccd38677a00fcfd9b41c1021 (diff)
downloadalpine-8a8766c0b2117dbf64655ec62331319077c1b803.tar.xz
* Return some code used to sign messages. Apparently openssl is not
consistent in what it signs. Problem reported by Björn Krellner.
Diffstat (limited to 'pith/send.c')
-rw-r--r--pith/send.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/pith/send.c b/pith/send.c
index 32722a38..d4c01aba 100644
--- a/pith/send.c
+++ b/pith/send.c
@@ -4315,6 +4315,9 @@ pine_rfc822_output_body(struct mail_bodystruct *body, soutr_t f, void *s)
* they should expect weirdness. We do not add this when signing a
* message, though...
*/
+#ifdef SMIME
+ if(!ps_global->smime || !ps_global->smime->do_sign)
+#endif /* SMIME */
if(f && !(*f)(s, " This message is in MIME format. The first part should be readable text,\015\012 while the remaining parts are likely unreadable without MIME-aware tools.\015\012\015\012"))
return(0);
@@ -4340,7 +4343,11 @@ pine_rfc822_output_body(struct mail_bodystruct *body, soutr_t f, void *s)
/* output trailing cookie */
snprintf (t = tmp, sizeof(tmp), "--%s--",cookie);
tmp[sizeof(tmp)-1] = '\0';
-
+#ifdef SMIME
+ if(ps_global->smime && ps_global->smime->do_sign
+ && strlen(tmp) < sizeof(tmp)-2)
+ strncat(tmp, "\015\012", 2);
+#endif
if(lmc.so && !lmc.all_written){
so_puts(lmc.so, t);
so_puts(lmc.so, "\015\012");