- if name == "stream" then
- session.host = attr.to or error("Client failed to specify destination hostname");
- session.version = attr.version or 0;
- session.streamid = m_random(1000000, 99999999);
- print(session, session.host, "Client opened stream");
- send("<?xml version='1.0'?>");
- send(format("<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='%s' from='%s'>", session.streamid, session.host));
- --send("<stream:features>");
- --send("<mechanism>PLAIN</mechanism>");
- --send [[<register xmlns="http://jabber.org/features/iq-register"/> ]]
- --send("</stream:features>");
- log("info", "core", "Stream opened successfully");
- session.notopen = nil;
- return;
+ if tagname == stream_tag then
+ if cb_streamopened then
+ cb_streamopened(session, attr);
+ end
+ else
+ -- Garbage before stream?
+ cb_error(session, "no-stream");