Comparison

plugins/mod_smacks.lua @ 12519:d935af51c644

mod_smacks: Use session logging for remaining log messages For consistency and easier correlation of session events.
author Kim Alvefur <zash@zash.se>
date Sat, 21 May 2022 13:11:25 +0200
parent 12518:73ee3855f970
child 12523:d2177cb5a766
comparison
equal deleted inserted replaced
12518:73ee3855f970 12519:d935af51c644
300 return true; 300 return true;
301 end 301 end
302 302
303 if session.username then 303 if session.username then
304 local old_sessions, err = all_old_sessions:get(session.username); 304 local old_sessions, err = all_old_sessions:get(session.username);
305 module:log("debug", "Old sessions: %q", old_sessions) 305 session.log("debug", "Old sessions: %q", old_sessions)
306 if old_sessions then 306 if old_sessions then
307 local keep, count = {}, 0; 307 local keep, count = {}, 0;
308 for token, info in it.sorted_pairs(old_sessions, function(a, b) 308 for token, info in it.sorted_pairs(old_sessions, function(a, b)
309 return (old_sessions[a].t or 0) > (old_sessions[b].t or 0); 309 return (old_sessions[a].t or 0) > (old_sessions[b].t or 0);
310 end) do 310 end) do
312 if count > max_old_sessions then break end 312 if count > max_old_sessions then break end
313 keep[token] = info; 313 keep[token] = info;
314 end 314 end
315 all_old_sessions:set(session.username, keep); 315 all_old_sessions:set(session.username, keep);
316 elseif err then 316 elseif err then
317 module:log("error", "Unable to retrieve old resumption counters: %s", err); 317 session.log("error", "Unable to retrieve old resumption counters: %s", err);
318 end 318 end
319 end 319 end
320 320
321 module:log("debug", "Enabling stream management"); 321 session.log("debug", "Enabling stream management");
322 session.smacks = xmlns_sm; 322 session.smacks = xmlns_sm;
323 323
324 wrap_session(session, false); 324 wrap_session(session, false);
325 325
326 local resume_max; 326 local resume_max;
351 wrap_session_out(session, false); 351 wrap_session_out(session, false);
352 session.sends2s(st.stanza("enable", { xmlns = session.smacks })); 352 session.sends2s(st.stanza("enable", { xmlns = session.smacks }));
353 end); 353 end);
354 354
355 function handle_enabled(session, stanza, xmlns_sm) -- luacheck: ignore 212/stanza 355 function handle_enabled(session, stanza, xmlns_sm) -- luacheck: ignore 212/stanza
356 module:log("debug", "Enabling stream management"); 356 session.log("debug", "Enabling stream management");
357 session.smacks = xmlns_sm; 357 session.smacks = xmlns_sm;
358 358
359 wrap_session_in(session, false); 359 wrap_session_in(session, false);
360 360
361 -- FIXME Resume? 361 -- FIXME Resume?
365 module:hook_tag(xmlns_sm2, "enabled", function (session, stanza) return handle_enabled(session, stanza, xmlns_sm2); end, 100); 365 module:hook_tag(xmlns_sm2, "enabled", function (session, stanza) return handle_enabled(session, stanza, xmlns_sm2); end, 100);
366 module:hook_tag(xmlns_sm3, "enabled", function (session, stanza) return handle_enabled(session, stanza, xmlns_sm3); end, 100); 366 module:hook_tag(xmlns_sm3, "enabled", function (session, stanza) return handle_enabled(session, stanza, xmlns_sm3); end, 100);
367 367
368 function handle_r(origin, stanza, xmlns_sm) -- luacheck: ignore 212/stanza 368 function handle_r(origin, stanza, xmlns_sm) -- luacheck: ignore 212/stanza
369 if not origin.smacks then 369 if not origin.smacks then
370 module:log("debug", "Received ack request from non-smack-enabled session"); 370 origin.log("debug", "Received ack request from non-smack-enabled session");
371 return; 371 return;
372 end 372 end
373 module:log("debug", "Received ack request, acking for %d", origin.handled_stanza_count); 373 origin.log("debug", "Received ack request, acking for %d", origin.handled_stanza_count);
374 -- Reply with <a> 374 -- Reply with <a>
375 (origin.sends2s or origin.send)(st.stanza("a", { xmlns = xmlns_sm, h = format_h(origin.handled_stanza_count) })); 375 (origin.sends2s or origin.send)(st.stanza("a", { xmlns = xmlns_sm, h = format_h(origin.handled_stanza_count) }));
376 -- piggyback our own ack request if needed (see request_ack_if_needed() for explanation of last_requested_h) 376 -- piggyback our own ack request if needed (see request_ack_if_needed() for explanation of last_requested_h)
377 request_ack_now_if_needed(origin, false, "piggybacked by handle_r", nil); 377 request_ack_now_if_needed(origin, false, "piggybacked by handle_r", nil);
378 return true; 378 return true;