Software /
code /
prosody
Comparison
plugins/mod_s2s.lua @ 12679:7d4a95ba9b6c 0.12
mod_s2s: Fix firing buffer drain events
Fixes the same kind of issue as in 65563530375b but once and for all,
while improving similarity between incoming and outgoing connections.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 26 Aug 2022 18:53:00 +0200 |
parent | 12474:8fac32810144 |
child | 12680:ca4abc6ab208 |
child | 13110:d5f322dd424b |
comparison
equal
deleted
inserted
replaced
12637:2200f0c6b3f1 | 12679:7d4a95ba9b6c |
---|---|
462 session:close({ condition = "improper-addressing", text = "New stream 'from' attribute does not match original" }); | 462 session:close({ condition = "improper-addressing", text = "New stream 'from' attribute does not match original" }); |
463 return; | 463 return; |
464 end | 464 end |
465 if session.type == "s2sin_unauthed" and to and not session.to_host then | 465 if session.type == "s2sin_unauthed" and to and not session.to_host then |
466 session.to_host = to; | 466 session.to_host = to; |
467 session.host = to; | |
467 elseif to ~= session.to_host then | 468 elseif to ~= session.to_host then |
468 session:close({ condition = "improper-addressing", text = "New stream 'to' attribute does not match original" }); | 469 session:close({ condition = "improper-addressing", text = "New stream 'to' attribute does not match original" }); |
469 return; | 470 return; |
470 end | 471 end |
471 | 472 |
886 end | 887 end |
887 | 888 |
888 function listener.onreadtimeout(conn) | 889 function listener.onreadtimeout(conn) |
889 local session = sessions[conn]; | 890 local session = sessions[conn]; |
890 if session then | 891 if session then |
891 local host = session.host or session.to_host; | 892 return (hosts[session.host] or prosody).events.fire_event("s2s-read-timeout", { session = session }); |
892 return (hosts[host] or prosody).events.fire_event("s2s-read-timeout", { session = session }); | |
893 end | 893 end |
894 end | 894 end |
895 | 895 |
896 function listener.ondrain(conn) | 896 function listener.ondrain(conn) |
897 local session = sessions[conn]; | 897 local session = sessions[conn]; |