diff options
-rw-r--r-- | pith/pine.hlp | 10 | ||||
-rw-r--r-- | pith/smkeys.c | 14 |
2 files changed, 16 insertions, 8 deletions
diff --git a/pith/pine.hlp b/pith/pine.hlp index a65ee61b..c45b1e97 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 99 2015-09-07 01:55:47 +Alpine Commit 100 2015-09-07 20:04:59 ============= h_news ================= <HTML> <HEAD> @@ -273,9 +273,11 @@ Bugs that have been addressed include: <LI> SMIME: Cancelling entering password to unlock key will not reprompt. - <LI> S/MIME: fix a bug that did not allow users to transfer certificates to - remote containers. Reported by Matthias Rieber. Also, remove any - temporary files created during this transfer. + <LI> SMIME: fix a bug that did not allow users to transfer certificates to + remote containers. Reported by Matthias Rieber. + + <LI> SMIME: certificates included in messages were not being transferred + to a remote container. <LI> Pico: Searching for a string that is too long causes Pico to crash in the next search. diff --git a/pith/smkeys.c b/pith/smkeys.c index 7e992a53..d84aa222 100644 --- a/pith/smkeys.c +++ b/pith/smkeys.c @@ -755,11 +755,17 @@ save_cert_for(char *email, X509 *cert, WhichCerts ctype) err++; if(!err && ret_dir){ - if(strlen(path) + strlen(tempfile) - strlen(ret_dir) + 1 < sizeof(path)) - snprintf(fpath, sizeof(fpath), "%s%c%s", + if(IS_REMOTE(upath)){ + strncpy(fpath, rd->lf, sizeof(fpath)); + fpath[sizeof(fpath)-1] = '\0'; + } + else{ + if(strlen(path) + strlen(tempfile) - strlen(ret_dir) + 1 < sizeof(path)) + snprintf(fpath, sizeof(fpath), "%s%c%s", path, tempfile[strlen(ret_dir)], tempfile + strlen(ret_dir) + 1); - else - err++; + else + err++; + } } else err++; |