util/random.lua

Wed, 13 Jan 2016 00:45:54 +0100

author
Kim Alvefur <zash@zash.se>
date
Wed, 13 Jan 2016 00:45:54 +0100
changeset 401
7be4ebefd1f4
parent 388
d963c8a5d89c
permissions
-rw-r--r--

util.random: Use /dev/urandom or LuaCrypto

-- Prosody IM
-- Copyright (C) 2008-2014 Matthew Wild
-- Copyright (C) 2008-2014 Waqas Hussain
--
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
--

local urandom = io.open("/dev/urandom", "r");

if urandom then
	return {
		seed = function () end;
		bytes = function (n) return urandom:read(n); end
	};
end

local crypto = require "crypto"
return crypto.rand;

mercurial