mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Remove configure switch --disable-strong-random
This removes a portion of infrastructure introduced by fe0a0b5
to allow
compilation of Postgres in environments where no strong random source is
available, meaning that there is no linking to OpenSSL and no
/dev/urandom (Windows having its own CryptoAPI). No systems shipped
this century lack /dev/urandom, and the buildfarm is actually not
testing this switch at all, so just remove it. This simplifies
particularly some backend code which included a fallback implementation
using shared memory, and removes a set of alternate regression output
files from pgcrypto.
Author: Michael Paquier
Reviewed-by: Tom Lane
Discussion: https://postgr.es/m/20181230063219.GG608@paquier.xyz
This commit is contained in:
@ -34,7 +34,6 @@
|
||||
#include <ctype.h>
|
||||
|
||||
#include "parser/scansup.h"
|
||||
#include "utils/backend_random.h"
|
||||
#include "utils/builtins.h"
|
||||
#include "utils/uuid.h"
|
||||
|
||||
@ -423,7 +422,6 @@ PG_FUNCTION_INFO_V1(pg_random_bytes);
|
||||
Datum
|
||||
pg_random_bytes(PG_FUNCTION_ARGS)
|
||||
{
|
||||
#ifdef HAVE_STRONG_RANDOM
|
||||
int len = PG_GETARG_INT32(0);
|
||||
bytea *res;
|
||||
|
||||
@ -440,9 +438,6 @@ pg_random_bytes(PG_FUNCTION_ARGS)
|
||||
px_THROW_ERROR(PXE_NO_RANDOM);
|
||||
|
||||
PG_RETURN_BYTEA_P(res);
|
||||
#else
|
||||
px_THROW_ERROR(PXE_NO_RANDOM);
|
||||
#endif
|
||||
}
|
||||
|
||||
/* SQL function: gen_random_uuid() returns uuid */
|
||||
@ -451,11 +446,10 @@ PG_FUNCTION_INFO_V1(pg_random_uuid);
|
||||
Datum
|
||||
pg_random_uuid(PG_FUNCTION_ARGS)
|
||||
{
|
||||
#ifdef HAVE_STRONG_RANDOM
|
||||
uint8 *buf = (uint8 *) palloc(UUID_LEN);
|
||||
|
||||
/* Generate random bits. */
|
||||
if (!pg_backend_random((char *) buf, UUID_LEN))
|
||||
if (!pg_strong_random(buf, UUID_LEN))
|
||||
px_THROW_ERROR(PXE_NO_RANDOM);
|
||||
|
||||
/*
|
||||
@ -466,9 +460,6 @@ pg_random_uuid(PG_FUNCTION_ARGS)
|
||||
buf[8] = (buf[8] & 0x3f) | 0x80; /* "variant" field */
|
||||
|
||||
PG_RETURN_UUID_P((pg_uuid_t *) buf);
|
||||
#else
|
||||
px_THROW_ERROR(PXE_NO_RANDOM);
|
||||
#endif
|
||||
}
|
||||
|
||||
static void *
|
||||
|
Reference in New Issue
Block a user