From 6fb6f13896b13e8a5afee30ebec110dd1c8f1b29 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 7 Nov 2018 19:31:39 +0100 Subject: random-util: introduce RANDOM_DONT_DRAIN Originally, the high_quality_required boolean argument controlled two things: whether to extend any random data we successfully read with pseudo-random data, and whether to return -ENODATA if we couldn't read any data at all. The boolean got replaced by RANDOM_EXTEND_WITH_PSEUDO, but this name doesn't really cover the second part nicely. Moreover hiding both changes of behaviour under a single flag is confusing. Hence, let's split this part off under a new flag, and use it from random_bytes(). --- src/basic/random-util.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/basic/random-util.h') diff --git a/src/basic/random-util.h b/src/basic/random-util.h index 0813314a05..487f20e0ab 100644 --- a/src/basic/random-util.h +++ b/src/basic/random-util.h @@ -8,6 +8,7 @@ typedef enum RandomFlags { RANDOM_EXTEND_WITH_PSEUDO = 1 << 0, /* If we can't get enough genuine randomness, but some, fill up the rest with pseudo-randomness */ RANDOM_BLOCK = 1 << 1, /* Rather block than return crap randomness (only if the kernel supports that) */ + RANDOM_DONT_DRAIN = 1 << 2, /* If we can't get any randomness at all, return early with -EAGAIN */ } RandomFlags; int genuine_random_bytes(void *p, size_t n, RandomFlags flags); /* returns "genuine" randomness, optionally filled upwith pseudo random, if not enough is available */ -- cgit v1.2.1