From 67a17fa02ee1970ab951234b84374f2fa86e9af1 Mon Sep 17 00:00:00 2001 From: Doug MacEachern Date: Thu, 10 Jan 2002 00:09:04 +0000 Subject: [PATCH] get SSLRandomSeed exec: working by passing the proper arguments to apr_proc_create() git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@92789 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 3 ++- modules/ssl/ssl_engine_rand.c | 9 +++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index 74e892942c..7dc7a7613c 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,7 @@ Changes with Apache 2.0.31-dev - *) Fix SSLPassPhraseDialog exec: [Doug MacEachern] + *) Fix SSLPassPhraseDialog exec: and SSLRandomSeed exec: + [Doug MacEachern] Changes with Apache 2.0.30 diff --git a/modules/ssl/ssl_engine_rand.c b/modules/ssl/ssl_engine_rand.c index 0aa74dbe3b..0655ce1f07 100644 --- a/modules/ssl/ssl_engine_rand.c +++ b/modules/ssl/ssl_engine_rand.c @@ -102,11 +102,16 @@ int ssl_rand_seed(server_rec *s, apr_pool_t *p, ssl_rsctx_t nCtx, char *prefix) apr_file_close(fp); } else if (pRandSeed->nSrc == SSL_RSSRC_EXEC) { + const char *cmd = pRandSeed->cpPath; + const char **argv = apr_palloc(p, sizeof(char *) * 3); /* * seed in contents generated by an external program */ - if ((fp = ssl_util_ppopen(s, p, apr_psprintf(p, "%s %d", - pRandSeed->cpPath, pRandSeed->nBytes))) == NULL) + argv[0] = cmd; + argv[1] = apr_itoa(p, pRandSeed->nBytes); + argv[2] = NULL; + + if ((fp = ssl_util_ppopen(s, p, cmd, argv)) == NULL) continue; nDone += ssl_rand_feedfp(p, fp, pRandSeed->nBytes); ssl_util_ppclose(s, p, fp); -- 2.50.1