/// <summary> /// Got the stream:stream. Start the handshake. /// </summary> /// <param name="sender"></param> /// <param name="tag"></param> protected override void OnDocumentStart(object sender, System.Xml.XmlElement tag) { base.OnDocumentStart(sender, tag); if (this.Type == ComponentType.Connect) { lock (StateLock) { State = HandshakingState.Instance; } jabber.protocol.stream.Stream str = new jabber.protocol.stream.Stream(this.Document, NS); str.To = this.ComponentID; this.StreamID = str.ID; if (ServerVersion.StartsWith("1.")) { str.Version = "1.0"; } WriteStartTag(str); if (ServerVersion.StartsWith("1.")) { Features f = new Features(this.Document); if (AutoStartTLS && !SSLon && (this[Options.LOCAL_CERTIFICATE] != null)) { f.StartTLS = new StartTLS(this.Document); } Write(f); } } }