From 00f6fa46b34b78e926a907ee24faec78a65eafc1 Mon Sep 17 00:00:00 2001 From: chiefbiiko Date: Fri, 17 May 2019 20:03:01 +0200 Subject: Add crypto.getRandomValues() (#2327) --- cli/ops.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'cli/ops.rs') diff --git a/cli/ops.rs b/cli/ops.rs index 023662c20..9b5bc0079 100644 --- a/cli/ops.rs +++ b/cli/ops.rs @@ -13,6 +13,7 @@ use crate::js_errors::apply_source_map; use crate::js_errors::JSErrorColor; use crate::msg; use crate::msg_util; +use crate::rand; use crate::repl; use crate::resolve_addr::resolve_addr; use crate::resources; @@ -39,6 +40,7 @@ use futures::Sink; use futures::Stream; use hyper; use hyper::rt::Future; +use rand::{thread_rng, Rng}; use remove_dir_all::remove_dir_all; use std; use std::convert::From; @@ -195,6 +197,7 @@ pub fn op_selector_std(inner_type: msg::Any) -> Option { msg::Any::Exit => Some(op_exit), msg::Any::Fetch => Some(op_fetch), msg::Any::FormatError => Some(op_format_error), + msg::Any::GetRandomValues => Some(op_get_random_values), msg::Any::GlobalTimer => Some(op_global_timer), msg::Any::GlobalTimerStop => Some(op_global_timer_stop), msg::Any::IsTTY => Some(op_is_tty), @@ -2168,3 +2171,12 @@ fn op_host_post_message( }); Box::new(op) } + +fn op_get_random_values( + _state: &ThreadSafeState, + _base: &msg::Base<'_>, + data: Option, +) -> Box { + thread_rng().fill(&mut data.unwrap()[..]); + Box::new(ok_future(empty_buf())) +} -- cgit v1.2.3