summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2017-03-21 07:59:37 +0100
committerNikos Mavrogiannopoulos <nmav@redhat.com>2017-03-21 07:59:37 +0100
commit80253f81c86383cc14ff092550bce35eccd40b89 (patch)
tree7397a12153b37d8901b24ea578cf064b31d760e8
parentc0f09df0e2e1f24e251c5104440a2bee42f5bfcf (diff)
downloadgnutls-80253f81c86383cc14ff092550bce35eccd40b89.tar.gz
Revert "nettle/rnd: use gettime() instead of gnutls_time()"
This reverts commit c4842a21f65c7fc9a27932eb1792b1fc9e65f722. The time() syscall is also implemented as syscall() and is in fact performing better than gettime().
-rw-r--r--lib/nettle/rnd.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/nettle/rnd.c b/lib/nettle/rnd.c
index f374253df8..a02c72f519 100644
--- a/lib/nettle/rnd.c
+++ b/lib/nettle/rnd.c
@@ -168,7 +168,7 @@ wrap_nettle_rnd(void *_ctx, int level, void *data, size_t datasize)
struct prng_ctx_st *prng_ctx;
int ret, reseed = 0;
uint8_t new_key[PRNG_KEY_SIZE];
- struct timespec now; /* current time */
+ time_t now;
if (level == GNUTLS_RND_RANDOM || level == GNUTLS_RND_KEY)
prng_ctx = &ctx->normal;
@@ -183,7 +183,7 @@ wrap_nettle_rnd(void *_ctx, int level, void *data, size_t datasize)
*/
memset(data, 0, datasize);
- gettime(&now);
+ now = gnutls_time(0);
/* We re-seed based on time in addition to output data. That is,
* to prevent a temporal state compromise to become permanent for low
@@ -191,7 +191,7 @@ wrap_nettle_rnd(void *_ctx, int level, void *data, size_t datasize)
if (unlikely(_gnutls_detect_fork(prng_ctx->forkid))) {
reseed = 1;
} else {
- if (now.tv_sec > prng_ctx->last_reseed + prng_reseed_time[level])
+ if (now > prng_ctx->last_reseed + prng_reseed_time[level])
reseed = 1;
}
@@ -216,7 +216,7 @@ wrap_nettle_rnd(void *_ctx, int level, void *data, size_t datasize)
goto cleanup;
}
- prng_ctx->last_reseed = now.tv_sec;
+ prng_ctx->last_reseed = now;
prng_ctx->forkid = _gnutls_get_forkid();
}