summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEduardo Chappa <chappa@washington.edu>2015-09-07 20:05:16 -0600
committerEduardo Chappa <chappa@washington.edu>2015-09-07 20:05:16 -0600
commit92569d7853a2ffde330ecf62f198d61891b72f83 (patch)
treef555f88f3d8e476a5750965d141bef38fc6f384e
parent9b66fc4cfe04b908596a15c92f25779fec727e93 (diff)
downloadalpine-92569d7853a2ffde330ecf62f198d61891b72f83.tar.xz
* SMIME: certificates included in messages were not being transferred
to a remote container.
-rw-r--r--pith/pine.hlp10
-rw-r--r--pith/smkeys.c14
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++;