summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorRichard Levitte <richard@levitte.org>2018-09-15 14:59:06 +0200
committerRichard Levitte <levitte@openssl.org>2018-09-15 15:44:45 +0200
commitcd92d1fdd39819595e4b200bb82d8a0e9c76cfa5 (patch)
tree56cd3db738f36cda8b340abae661d0fda43e5e05 /crypto
parentf09877c12c830d16f38064dace415679e867fc0f (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.c11
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);
}