Mercurial > prosody-hg
comparison plugins/mod_s2s/mod_s2s.lua @ 6684:53635a91c95c
mod_s2s: Mark stream as opened directly after opening stream, prevents session.close opening it again
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Wed, 13 May 2015 21:56:22 +0200 |
| parents | 873ad1023eb0 |
| children | 3f05b255937f 301d58705667 |
comparison
equal
deleted
inserted
replaced
| 6683:873ad1023eb0 | 6684:53635a91c95c |
|---|---|
| 347 return; | 347 return; |
| 348 end | 348 end |
| 349 end | 349 end |
| 350 | 350 |
| 351 session:open_stream(session.to_host, session.from_host) | 351 session:open_stream(session.to_host, session.from_host) |
| 352 session.notopen = nil; | |
| 352 if session.version >= 1.0 then | 353 if session.version >= 1.0 then |
| 353 local features = st.stanza("stream:features"); | 354 local features = st.stanza("stream:features"); |
| 354 | 355 |
| 355 if to then | 356 if to then |
| 356 hosts[to].events.fire_event("s2s-stream-features", { origin = session, features = features }); | 357 hosts[to].events.fire_event("s2s-stream-features", { origin = session, features = features }); |
| 359 end | 360 end |
| 360 | 361 |
| 361 log("debug", "Sending stream features: %s", tostring(features)); | 362 log("debug", "Sending stream features: %s", tostring(features)); |
| 362 session.sends2s(features); | 363 session.sends2s(features); |
| 363 end | 364 end |
| 364 session.notopen = nil; | |
| 365 elseif session.direction == "outgoing" then | 365 elseif session.direction == "outgoing" then |
| 366 session.notopen = nil; | 366 session.notopen = nil; |
| 367 if not attr.id then | 367 if not attr.id then |
| 368 log("error", "Stream response did not give us a stream id!"); | 368 log("error", "Stream response did not give us a stream id!"); |
| 369 session:close({ condition = "undefined-condition", text = "Missing stream ID" }); | 369 session:close({ condition = "undefined-condition", text = "Missing stream ID" }); |
