# HG changeset patch # User Paul Aurich # Date 1254824155 -3600 # Node ID b8e6764ffefdc75134596ae0773d12735994451a # Parent d11f07ca0b754e27f9f340001768d30baa982838 sessionmanager: Mark client streams as opened sooner to avoid wrapping errors in unnecessary stream tags diff -r d11f07ca0b75 -r b8e6764ffefd core/sessionmanager.lua --- a/core/sessionmanager.lua Tue Oct 06 11:02:33 2009 +0100 +++ b/core/sessionmanager.lua Tue Oct 06 11:15:55 2009 +0100 @@ -169,29 +169,30 @@ session.version = tonumber(attr.version) or 0; session.streamid = uuid_generate(); (session.log or session)("debug", "Client sent opening to %s", session.host); - - send(""); - send(format("", session.streamid, session.host)); if not hosts[session.host] then -- We don't serve this host... session:close{ condition = "host-unknown", text = "This server does not serve "..tostring(session.host)}; return; end - + + send(""); + send(format("", session.streamid, session.host)); + + (session.log or log)("debug", "Sent reply to client"); + session.notopen = nil; + -- If session.secure is *false* (not nil) then it means we /were/ encrypting -- since we now have a new stream header, session is secured if session.secure == false then session.secure = true; end - + local features = st.stanza("stream:features"); fire_event("stream-features", session, features); - + send(features); - - (session.log or log)("debug", "Sent reply to client"); - session.notopen = nil; + end function streamclosed(session)