JabberForum wrote: > ProtoXEP: > > 1. Discover Support > 2. Send XTLS negotiation request, i.e. <xtls/> > 3. Receive XTLS negotation response > 4. Open IBB > 5. Send stanza > > With stream:features step: > > 1. Discover Support > 2. Open IBB > 3. Send TLS negotiation request, i.e. <starttls/> > 3. Receive TLS negotiation response, i.e. <proceed/> > 4. Send stanza > > Both take the same amount of roundtrips between the two entities.
No, with stream:features you have two additional roundtrips. At the beginning you send <stream> and wait for an answer and an extra stanza with the <features>. After <starttls> you restart the stream and also have a <stream> roundtrip. And well, using the stream idea would not make it XTLS, because you could open a stream without using starttls (ok, that makes no sense, but you could do it). On the other hand (and that is why I used exactly that idea in my first draft) you could re-use code from link-local messaging. An IBB stream can be handled like a TCP connection link-local. Dirk -- Boat: A hole in the water surrounded by wood.