equal
deleted
inserted
replaced
81 log("info", "Component for %s authentication failed", session.host); |
81 log("info", "Component for %s authentication failed", session.host); |
82 session:close{ condition = "not-authorized", text = "Given token does not match calculated token" }; |
82 session:close{ condition = "not-authorized", text = "Given token does not match calculated token" }; |
83 return true; |
83 return true; |
84 end |
84 end |
85 |
85 |
86 |
|
87 -- Authenticated now |
86 -- Authenticated now |
88 log("info", "Component authenticated: %s", session.host); |
87 log("info", "Component authenticated: %s", session.host); |
89 |
88 |
90 session.component_validate_from = module:get_option_boolean("validate_from_addresses") ~= false; |
89 session.component_validate_from = module:get_option_boolean("validate_from_addresses") ~= false; |
91 |
90 |
93 if not main_session then |
92 if not main_session then |
94 send = session.send; |
93 send = session.send; |
95 main_session = session; |
94 main_session = session; |
96 session.on_destroy = on_destroy; |
95 session.on_destroy = on_destroy; |
97 log("info", "Component successfully registered"); |
96 log("info", "Component successfully registered"); |
|
97 session.send(st.stanza("handshake")); |
98 else |
98 else |
99 log("error", "Multiple components bound to the same address, first one wins (TODO: Implement stanza distribution)"); |
99 log("error", "Multiple components bound to the same address, first one wins (TODO: Implement stanza distribution)"); |
100 session:close{ condition = "conflict", text = "Component already connected" }; |
100 session:close{ condition = "conflict", text = "Component already connected" }; |
101 return true; |
|
102 end |
101 end |
103 |
102 |
104 -- Signal successful authentication |
|
105 session.send(st.stanza("handshake")); |
|
106 return true; |
103 return true; |
107 end |
104 end |
108 |
105 |
109 module:hook("stanza/jabber:component:accept:handshake", handle_component_auth); |
106 module:hook("stanza/jabber:component:accept:handshake", handle_component_auth); |