Software /
code /
prosody
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 |
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 | 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 | 12 urandom:write(x); |
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 | 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 }; |