Mercurial > prosody-hg
comparison plugins/mod_s2s.lua @ 14141:18d364587db5 13.0
mod_s2s: Fire consistent event data across all 'connected' events
This fixes a traceback in the new mod_limits IP limiting code when matching
s2sin connections.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Fri, 17 Apr 2026 17:46:31 +0100 |
| parents | 1e005ba71f0d |
| children | 5aacae4b2ccf 723c6f5f01b7 |
comparison
equal
deleted
inserted
replaced
| 14140:c9c4a13732e4 | 14141:18d364587db5 |
|---|---|
| 909 end | 909 end |
| 910 | 910 |
| 911 function listener.onconnect(conn) | 911 function listener.onconnect(conn) |
| 912 conn:setoption("keepalive", opt_keepalives); | 912 conn:setoption("keepalive", opt_keepalives); |
| 913 local session = sessions[conn]; | 913 local session = sessions[conn]; |
| 914 local event_data = { session = session, conn = conn }; | |
| 914 if not session then -- New incoming connection | 915 if not session then -- New incoming connection |
| 915 session = s2s_new_incoming(conn); | 916 session = s2s_new_incoming(conn); |
| 916 sessions[conn] = session; | 917 sessions[conn] = session; |
| 917 session.log("debug", "Incoming s2s connection"); | 918 session.log("debug", "Incoming s2s connection"); |
| 918 module:fire_event("s2sin-connected", { session = session }) | 919 module:fire_event("s2sin-connected", event_data) |
| 919 initialize_session(session); | 920 initialize_session(session); |
| 920 m_accepted_tcp_connections:with_labels():add(1) | 921 m_accepted_tcp_connections:with_labels():add(1) |
| 921 else -- Outgoing session connected | 922 else -- Outgoing session connected |
| 922 module:fire_event("s2sout-connected", { session = session }) | 923 module:fire_event("s2sout-connected", event_data) |
| 923 session:open_stream(session.from_host, session.to_host); | 924 session:open_stream(session.from_host, session.to_host); |
| 924 end | 925 end |
| 925 module:fire_event("s2s-connected", { session = session, conn = conn }) | 926 module:fire_event("s2s-connected", event_data) |
| 926 session.ip = conn:ip(); | 927 session.ip = conn:ip(); |
| 927 end | 928 end |
| 928 | 929 |
| 929 function listener.onincoming(conn, data) | 930 function listener.onincoming(conn, data) |
| 930 local session = sessions[conn]; | 931 local session = sessions[conn]; |
