# HG changeset patch # User Matthew Wild # Date 1223082774 -3600 # Node ID 80d2ade0fd69fbeb7f0978636876f7df7c65b878 # Parent 03dc9df59368ca5614d87a763e51a7596297fb21 Add "uuid" library and make sessionmanager use this. ...and yes, the uuid generation needs work :P diff -r 03dc9df59368 -r 80d2ade0fd69 core/sessionmanager.lua --- a/core/sessionmanager.lua Sat Oct 04 02:10:14 2008 +0100 +++ b/core/sessionmanager.lua Sat Oct 04 02:12:54 2008 +0100 @@ -12,7 +12,7 @@ local modulemanager = require "core.modulemanager"; local log = require "util.logger".init("sessionmanager"); local error = error; - +local uuid_generate = require "util.uuid".uuid_generate; module "sessionmanager" function new_session(conn) @@ -41,7 +41,7 @@ function bind_resource(session, resource) if not session.username then return false, "auth"; end if session.resource then return false, "constraint"; end -- We don't support binding multiple resources - resource = resource or math.random(100000, 99999999); -- FIXME: Clearly we have issues :) + resource = resource or uuid_generate(); --FIXME: Randomly-generated resources must be unique per-user, and never conflict with existing if not hosts[session.host].sessions[session.username] then diff -r 03dc9df59368 -r 80d2ade0fd69 util/uuid.lua --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/util/uuid.lua Sat Oct 04 02:12:54 2008 +0100 @@ -0,0 +1,9 @@ + +local m_random = math.random; +module "uuid" + +function uuid_generate() + return m_random(0, 99999999); +end + +return _M; \ No newline at end of file