From cf8b8ce235468aaf36aaa5bb8993691c53ed5093 Mon Sep 17 00:00:00 2001 From: Tanguy Date: Mon, 21 Nov 2022 19:29:20 +0100 Subject: [PATCH] Remove newRng (#132) --- tests/extensions/testextflow.nim | 2 +- tests/testwebsockets.nim | 4 ++-- websock/utils.nim | 8 +------- websock/websock.nim | 4 ++-- 4 files changed, 6 insertions(+), 12 deletions(-) diff --git a/tests/extensions/testextflow.nim b/tests/extensions/testextflow.nim index fcc00e8..cf736a3 100644 --- a/tests/extensions/testextflow.nim +++ b/tests/extensions/testextflow.nim @@ -121,7 +121,7 @@ suite "Decode frame extensions flow": var address: TransportAddress server: StreamServer - maskKey = genMaskKey(newRng()) + maskKey = genMaskKey(HmacDrbgContext.new()) transport: StreamTransport reader: AsyncStreamReader frame: Frame diff --git a/tests/testwebsockets.nim b/tests/testwebsockets.nim index 8096023..a65cb76 100644 --- a/tests/testwebsockets.nim +++ b/tests/testwebsockets.nim @@ -806,7 +806,7 @@ suite "Test Payload": address = initTAddress("127.0.0.1:8888"), frameSize = maxFrameSize) - let maskKey = genMaskKey(newRng()) + let maskKey = genMaskKey(HmacDrbgContext.new()) await session.stream.writer.write( (await Frame( fin: false, @@ -866,7 +866,7 @@ suite "Test Payload": pong = true ) - let maskKey = genMaskKey(newRng()) + let maskKey = genMaskKey(HmacDrbgContext.new()) await session.stream.writer.write( (await Frame( fin: false, diff --git a/websock/utils.nim b/websock/utils.nim index c350419..f473b58 100644 --- a/websock/utils.nim +++ b/websock/utils.nim @@ -13,13 +13,7 @@ export rand ## Random helpers: similar as in stdlib, but with HmacDrbgContext rng const randMax = 18_446_744_073_709_551_615'u64 -type - Rng* = ref HmacDrbgContext - -proc newRng*(): Rng = - # You should only create one instance of the RNG per application / library - # Ref is used so that it can be shared between components - HmacDrbgContext.new() +type Rng* = ref HmacDrbgContext proc rand*(rng: Rng, max: Natural): int = if max == 0: return 0 diff --git a/websock/websock.nim b/websock/websock.nim index 8a8b4e3..dba0b6c 100644 --- a/websock/websock.nim +++ b/websock/websock.nim @@ -120,7 +120,7 @@ proc connect*( rng: Rng = nil): Future[WSSession] {.async.} = let - rng = if isNil(rng): newRng() else: rng + rng = if isNil(rng): HmacDrbgContext.new() else: rng key = Base64Pad.encode(genWebSecKey(rng)) hostname = if hostName.len > 0: hostName else: $host @@ -364,7 +364,7 @@ proc new*( return WSServer( protocols: @protos, masked: false, - rng: if isNil(rng): newRng() else: rng, + rng: if isNil(rng): HmacDrbgContext.new() else: rng, frameSize: frameSize, factories: @factories, onPing: onPing,