Comparison

plugins/mod_component.lua @ 5954:6dc73be95213

Merge 0.9->0.10
author Kim Alvefur <zash@zash.se>
date Wed, 18 Dec 2013 18:36:54 +0100
parent 5776:bd0ff8ae98a8
parent 5953:1c08d6cca552
child 6063:e626ee2fe106
comparison
equal deleted inserted replaced
5950:bd1d1c29a7e7 5954:6dc73be95213
23 local core_process_stanza = prosody.core_process_stanza; 23 local core_process_stanza = prosody.core_process_stanza;
24 local hosts = prosody.hosts; 24 local hosts = prosody.hosts;
25 25
26 local log = module._log; 26 local log = module._log;
27 27
28 local opt_keepalives = module:get_option_boolean("component_tcp_keepalives", module:get_option_boolean("tcp_keepalives", true));
29
28 local sessions = module:shared("sessions"); 30 local sessions = module:shared("sessions");
29 31
30 function module.add_host(module) 32 function module.add_host(module)
31 if module:get_host_type() ~= "component" then 33 if module:get_host_type() ~= "component" then
32 error("Don't load mod_component manually, it should be for a component, please see http://prosody.im/doc/components", 0); 34 error("Don't load mod_component manually, it should be for a component, please see http://prosody.im/doc/components", 0);
84 module:log("info", "External component successfully authenticated"); 86 module:log("info", "External component successfully authenticated");
85 session.send(st.stanza("handshake")); 87 session.send(st.stanza("handshake"));
86 88
87 return true; 89 return true;
88 end 90 end
89 module:hook("stanza/jabber:component:accept:handshake", handle_component_auth); 91 module:hook("stanza/jabber:component:accept:handshake", handle_component_auth, -1);
90 92
91 -- Handle stanzas addressed to this component 93 -- Handle stanzas addressed to this component
92 local function handle_stanza(event) 94 local function handle_stanza(event)
93 local stanza = event.stanza; 95 local stanza = event.stanza;
94 if send then 96 if send then
268 -- Logging functions -- 270 -- Logging functions --
269 local conn_name = "jcp"..tostring(session):match("[a-f0-9]+$"); 271 local conn_name = "jcp"..tostring(session):match("[a-f0-9]+$");
270 session.log = logger.init(conn_name); 272 session.log = logger.init(conn_name);
271 session.close = session_close; 273 session.close = session_close;
272 274
275 if opt_keepalives then
276 conn:setoption("keepalive", opt_keepalives);
277 end
278
273 session.log("info", "Incoming Jabber component connection"); 279 session.log("info", "Incoming Jabber component connection");
274 280
275 local stream = new_xmpp_stream(session, stream_callbacks); 281 local stream = new_xmpp_stream(session, stream_callbacks);
276 session.stream = stream; 282 session.stream = stream;
277 283