Justin Karneges wrote:
On Thursday 21 June 2007 8:42 am, Peter Saint-Andre wrote:
Matthias Wimmer wrote:
Philipp Hancke schrieb:
Most of the complexity of piggybacking must be implemented on the
originating server. There are (lots of) pitfalls when deciding whether
to use piggybacking on 1.0 streams which are encrypted by TLS or
authenticated by SASL, etc.
Yet, as the spec does not mandate that you MUST reuse a connection, you
don't have to implement 'active' piggybacking.

What about discouraging active usage ("you don't want to implement
that") while keeping 'passive' support (on the receiving  server) for
backward compability?
I would not like to see active piggybacking discouraged. But maybe it
would really be a good idea to make passive support a MUST (should not
be hard to implement) while active support could get downgreaded from
SHOULD to MAY.
It's worth considering.

Of all the places in Jabber to value backwards compatibility, dialback is arguably the most important. IMO, the real trouble is not the implementation difficulty, but the fact that dialback is underspecified in the RFCs. Let's get this thing fully specified in the bis drafts, and then I agree with Matthias: MUST for receiving and MAY for sending is the most compatible path to take.

-Justin

MUST is a bit too strong. Unless the MUST is going to result in 'always return error saying piggybacking is not supported'.
Which would, imo, be against the spirit of introducing it anyway.

It is because dialback is important for bacjward compatibility (though something we should actively consider deprecating in favor of sasl external/etc) that I am not in favor of complicating it further.

Implementation fragility due to complexity is not a good thing to have in a spec - and dialback already allows various weird combinations possible in a cluster.

Mridul

Reply via email to