Software /
code /
prosody
Comparison
core/sessionmanager.lua @ 6599:f93e1b2ec327
sessionmanager: Return 'not-allowed' error instead of the non-existent 'already-bound' error when client tries to bind a resource twice on the same stream (thanks Flow) fixes issue #484.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Tue, 24 Mar 2015 15:57:46 +0000 |
parent | 5459:3a821511b9ec |
child | 6602:61b6a4fc65f1 |
child | 7495:caee8a32983a |
comparison
equal
deleted
inserted
replaced
6598:4b4852c4f96a | 6599:f93e1b2ec327 |
---|---|
111 | 111 |
112 -- returns true, nil on success | 112 -- returns true, nil on success |
113 -- returns nil, err_type, err, err_message on failure | 113 -- returns nil, err_type, err, err_message on failure |
114 function bind_resource(session, resource) | 114 function bind_resource(session, resource) |
115 if not session.username then return nil, "auth", "not-authorized", "Cannot bind resource before authentication"; end | 115 if not session.username then return nil, "auth", "not-authorized", "Cannot bind resource before authentication"; end |
116 if session.resource then return nil, "cancel", "already-bound", "Cannot bind multiple resources on a single connection"; end | 116 if session.resource then return nil, "cancel", "not-allowed", "Cannot bind multiple resources on a single connection"; end |
117 -- We don't support binding multiple resources | 117 -- We don't support binding multiple resources |
118 | 118 |
119 resource = resourceprep(resource); | 119 resource = resourceprep(resource); |
120 resource = resource ~= "" and resource or uuid_generate(); | 120 resource = resource ~= "" and resource or uuid_generate(); |
121 --FIXME: Randomly-generated resources must be unique per-user, and never conflict with existing | 121 --FIXME: Randomly-generated resources must be unique per-user, and never conflict with existing |