コード例 #1
0
        /// <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);
                }
            }
        }
コード例 #2
0
ファイル: StreamTest.cs プロジェクト: sq5gvm/JabberNet-2010
 public void Test_StartTag()
 {
     Stream s = new Stream(doc, "jabber:client");
     Assert.IsTrue(
         Regex.IsMatch(s.StartTag(),
         "<stream:stream xmlns:stream=\"http://etherx\\.jabber\\.org/streams\" id=\"[a-z0-9]+\" xmlns=\"jabber:client\">",
         RegexOptions.IgnoreCase), s.StartTag());
 }
コード例 #3
0
        private bool FakeReceivedStream()
        {
            Jabber.Protocol.Stream.Stream stream =
                new Jabber.Protocol.Stream.Stream(m_doc, NS);
            stream.Version = "1.0";
            stream.ID      = m_authID;

            byte[] sbuf = ENC.GetBytes(stream.StartTag());
            if (!m_listener.OnRead(this, sbuf, 0, sbuf.Length))
            {
                Close();
                return(false);
            }
            return(true);
        }
コード例 #4
0
ファイル: XmppStream.cs プロジェクト: sq5gvm/JabberNet-2010
 /// <summary>
 /// Sends a new XMPP stream header.
 /// </summary>
 protected void SendNewStreamHeader()
 {
     Jabber.Protocol.Stream.Stream str = new Jabber.Protocol.Stream.Stream(m_doc, NS);
     str.To = new JID((string)this[Options.TO]);
     str.Version = "1.0";
     m_stanzas.WriteStartTag(str);
     InitializeStream();
 }
コード例 #5
0
ファイル: XEP124Socket.cs プロジェクト: sq5gvm/JabberNet-2010
        private bool FakeReceivedStream()
        {
            Jabber.Protocol.Stream.Stream stream =
                new Jabber.Protocol.Stream.Stream(m_doc, NS);
            stream.Version = "1.0";
            stream.ID = m_authID;

            byte[] sbuf = ENC.GetBytes(stream.StartTag());
            if (!m_listener.OnRead(this, sbuf, 0, sbuf.Length))
            {
                Close();
                return false;
            }
            return true;
        }
コード例 #6
0
        /// <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);
                }
            }
        }