Backout 63f5870f9afe, no longer needed since Windows is currently unsupported
[prosody.git] / plugins / mod_c2s.lua
index b2a815920dd8bb5097024556935bb950c844f5fb..3d6487c91eadd11b942e2063a32437b58990ce9c 100644 (file)
@@ -50,7 +50,7 @@ function stream_callbacks.streamopened(session, attr)
        session.streamid = uuid_generate();
        (session.log or session)("debug", "Client sent opening <stream:stream> to %s", session.host);
 
-       if not hosts[session.host] then
+       if not hosts[session.host] or not hosts[session.host].users then
                -- We don't serve this host...
                session:close{ condition = "host-unknown", text = "This server does not serve "..tostring(session.host)};
                return;
@@ -91,7 +91,7 @@ end
 
 function stream_callbacks.error(session, error, data)
        if error == "no-stream" then
-               session.log("debug", "Invalid opening stream header");
+               session.log("debug", "Invalid opening stream header (%s)", (data:gsub("^([^\1]+)\1", "{%1}")));
                session:close("invalid-namespace");
        elseif error == "parse-error" then
                (session.log or log)("debug", "Client XML parse error: %s", tostring(data));
@@ -266,6 +266,10 @@ function listener.associate_session(conn, session)
        sessions[conn] = session;
 end
 
+function listener.ondetach(conn)
+       sessions[conn] = nil;
+end
+
 module:hook("server-stopping", function(event)
        local reason = event.reason;
        for _, session in pairs(sessions) do