diff options
author | Eduardo Chappa <chappa@washington.edu> | 2019-06-03 11:14:11 -0600 |
---|---|---|
committer | Eduardo Chappa <chappa@washington.edu> | 2019-06-03 11:14:11 -0600 |
commit | 8a8766c0b2117dbf64655ec62331319077c1b803 (patch) | |
tree | 84db3ef07549409a572c23dd1ec7755b2a46b64a /pith/send.c | |
parent | b5d82108552f45e6ccd38677a00fcfd9b41c1021 (diff) | |
download | alpine-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.c | 9 |
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"); |