Annotate

util/random.lua @ 7068:0c494bca43cb

mod_admin_telnet: c2s:show() etc, list all sessions including unauthenticated or not with no stream opened
author Kim Alvefur <zash@zash.se>
date Sat, 09 Jan 2016 23:58:43 +0100
parent 7050:ae044691de0f
child 7083:ac920b0f9eae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6376
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 -- Prosody IM
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2 -- Copyright (C) 2008-2014 Matthew Wild
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3 -- Copyright (C) 2008-2014 Waqas Hussain
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 --
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 -- This project is MIT/X11 licensed. Please see the
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 -- COPYING file in the source package for more information.
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 --
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8
7050
ae044691de0f util.random: Use /dev/urandom
Kim Alvefur <zash@zash.se>
parents: 6421
diff changeset
9 local urandom = assert(io.open("/dev/urandom", "r+"));
6376
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 local function seed(x)
7050
ae044691de0f util.random: Use /dev/urandom
Kim Alvefur <zash@zash.se>
parents: 6421
diff changeset
12 urandom:write(x);
ae044691de0f util.random: Use /dev/urandom
Kim Alvefur <zash@zash.se>
parents: 6421
diff changeset
13 urandom:flush();
6376
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
14 end
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16 local function bytes(n)
7050
ae044691de0f util.random: Use /dev/urandom
Kim Alvefur <zash@zash.se>
parents: 6421
diff changeset
17 return urandom:read(n);
6376
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
18 end
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
19
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20 return {
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
21 seed = seed;
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
22 bytes = bytes;
bd812a7713ad util.random: Generic util lib for generating strings of random bytes
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
23 };