Mercurial > prosody-hg
comparison plugins/mod_s2s/mod_s2s.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 |
| parents | 09b54ad0fdc4 |
| children | dd4eb84d92a8 |
comparison
equal
deleted
inserted
replaced
| 10424:e7d3fa49495f | 10425:42cf93ff4618 |
|---|---|
| 485 end | 485 end |
| 486 end | 486 end |
| 487 | 487 |
| 488 --- Session methods | 488 --- Session methods |
| 489 local stream_xmlns_attr = {xmlns='urn:ietf:params:xml:ns:xmpp-streams'}; | 489 local stream_xmlns_attr = {xmlns='urn:ietf:params:xml:ns:xmpp-streams'}; |
| 490 local function session_close(session, reason, remote_reason) | 490 local function session_close(session, reason, remote_reason, bounce_reason) |
| 491 local log = session.log or log; | 491 local log = session.log or log; |
| 492 if session.conn then | 492 if session.conn then |
| 493 if session.notopen then | 493 if session.notopen then |
| 494 if session.direction == "incoming" then | 494 if session.direction == "incoming" then |
| 495 session:open_stream(session.to_host, session.from_host); | 495 session:open_stream(session.to_host, session.from_host); |
| 535 local conn = session.conn; | 535 local conn = session.conn; |
| 536 if reason == nil and not session.notopen and session.incoming then | 536 if reason == nil and not session.notopen and session.incoming then |
| 537 add_task(stream_close_timeout, function () | 537 add_task(stream_close_timeout, function () |
| 538 if not session.destroyed then | 538 if not session.destroyed then |
| 539 session.log("warn", "Failed to receive a stream close response, closing connection anyway..."); | 539 session.log("warn", "Failed to receive a stream close response, closing connection anyway..."); |
| 540 s2s_destroy_session(session, reason); | 540 s2s_destroy_session(session, reason, bounce_reason); |
| 541 conn:close(); | 541 conn:close(); |
| 542 end | 542 end |
| 543 end); | 543 end); |
| 544 else | 544 else |
| 545 s2s_destroy_session(session, reason); | 545 s2s_destroy_session(session, reason, bounce_reason); |
| 546 conn:close(); -- Close immediately, as this is an outgoing connection or is not authed | 546 conn:close(); -- Close immediately, as this is an outgoing connection or is not authed |
| 547 end | 547 end |
| 548 end | 548 end |
| 549 end | 549 end |
| 550 | 550 |
