Software /
code /
prosody
Comparison
core/s2smanager.lua @ 10425:42cf93ff4618
s2s: Allow passing a custom error for bouncing queued stanzas (#770)
Since stream errors and stanza errors are different
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 23 Nov 2019 01:29:03 +0100 |
parent | 10304:56522bb3bca5 |
child | 11418:f4b76e500768 |
comparison
equal
deleted
inserted
replaced
10424:e7d3fa49495f | 10425:42cf93ff4618 |
---|---|
82 session.thread = { run = function (_, data) return session.data(data) end }; | 82 session.thread = { run = function (_, data) return session.data(data) end }; |
83 session.sends2s = session.send; | 83 session.sends2s = session.send; |
84 return setmetatable(session, resting_session); | 84 return setmetatable(session, resting_session); |
85 end | 85 end |
86 | 86 |
87 local function destroy_session(session, reason) | 87 local function destroy_session(session, reason, bounce_reason) |
88 if session.destroyed then return; end | 88 if session.destroyed then return; end |
89 local log = session.log or log; | 89 local log = session.log or log; |
90 log("debug", "Destroying %s session %s->%s%s%s", session.direction, session.from_host, session.to_host, reason and ": " or "", reason or ""); | 90 log("debug", "Destroying %s session %s->%s%s%s", session.direction, session.from_host, session.to_host, reason and ": " or "", reason or ""); |
91 | 91 |
92 if session.direction == "outgoing" then | 92 if session.direction == "outgoing" then |
93 hosts[session.from_host].s2sout[session.to_host] = nil; | 93 hosts[session.from_host].s2sout[session.to_host] = nil; |
94 session:bounce_sendq(reason); | 94 session:bounce_sendq(bounce_reason or reason); |
95 elseif session.direction == "incoming" then | 95 elseif session.direction == "incoming" then |
96 if session.outgoing then | 96 if session.outgoing then |
97 hosts[session.to_host].s2sout[session.from_host] = nil; | 97 hosts[session.to_host].s2sout[session.from_host] = nil; |
98 end | 98 end |
99 incoming_s2s[session] = nil; | 99 incoming_s2s[session] = nil; |