23 local uuid_generate = require "util.uuid".generate; |
23 local uuid_generate = require "util.uuid".generate; |
24 local rm_load_roster = require "core.rostermanager".load_roster; |
24 local rm_load_roster = require "core.rostermanager".load_roster; |
25 local config_get = require "core.configmanager".get; |
25 local config_get = require "core.configmanager".get; |
26 local nameprep = require "util.encodings".stringprep.nameprep; |
26 local nameprep = require "util.encodings".stringprep.nameprep; |
27 local resourceprep = require "util.encodings".stringprep.resourceprep; |
27 local resourceprep = require "util.encodings".stringprep.resourceprep; |
|
28 local nodeprep = require "util.encodings".stringprep.nodeprep; |
28 |
29 |
29 local fire_event = require "core.eventmanager".fire_event; |
30 local fire_event = require "core.eventmanager".fire_event; |
30 local add_task = require "util.timer".add_task; |
31 local add_task = require "util.timer".add_task; |
31 local gettime = require "socket".gettime; |
32 local gettime = require "socket".gettime; |
32 |
33 |
107 |
108 |
108 retire_session(session); |
109 retire_session(session); |
109 end |
110 end |
110 |
111 |
111 function make_authenticated(session, username) |
112 function make_authenticated(session, username) |
|
113 username = nodeprep(username); |
|
114 if not username and #username > 0 then return nil, "Invalid username"; end |
112 session.username = username; |
115 session.username = username; |
113 if session.type == "c2s_unauthed" then |
116 if session.type == "c2s_unauthed" then |
114 session.type = "c2s"; |
117 session.type = "c2s"; |
115 end |
118 end |
116 session.log("info", "Authenticated as %s@%s", username or "(unknown)", session.host or "(unknown)"); |
119 session.log("info", "Authenticated as %s@%s", username or "(unknown)", session.host or "(unknown)"); |