diff options
author | Richard Levitte <richard@levitte.org> | 2018-09-15 14:59:06 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2018-09-15 15:44:45 +0200 |
commit | cd92d1fdd39819595e4b200bb82d8a0e9c76cfa5 (patch) | |
tree | 56cd3db738f36cda8b340abae661d0fda43e5e05 /crypto | |
parent | f09877c12c830d16f38064dace415679e867fc0f (diff) |
VMS: only use the high precision on VMS v8.4 and up
It simply isn't available on older versions.
Issue submitted by Mark Daniels
Fixes #7229
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/7230)
(cherry picked from commit d6d6aa3521e207c2727bbd1e5c97772502d15739)
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/rand/rand_vms.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/crypto/rand/rand_vms.c b/crypto/rand/rand_vms.c index 43dddf3c93..bfcf6f0a86 100644 --- a/crypto/rand/rand_vms.c +++ b/crypto/rand/rand_vms.c @@ -478,13 +478,18 @@ int rand_pool_add_nonce_data(RAND_POOL *pool) } data = { 0 }; /* - * Add process id, thread id, and a high resolution timestamp to - * ensure that the nonce is unique whith high probability for - * different process instances. + * Add process id, thread id, and a high resolution timestamp + * (where available, which is OpenVMS v8.4 and up) to ensure that + * the nonce is unique whith high probability for different process + * instances. */ data.pid = getpid(); data.tid = CRYPTO_THREAD_get_current_id(); +#if __CRTL_VER >= 80400000 sys$gettim_prec(&data.time); +#else + sys$gettim((void*)&data.time); +#endif return rand_pool_add(pool, (unsigned char *)&data, sizeof(data), 0); } |