Howdy, First of all I wonder what's the reason to allow stream compression only after SASL and before binding. XEP-0170 [1] says it's that way to prevent certain denial of service attacks but doesn't clarify it any further. So I'm asking myself what kind of attacks that are. Because some clients and servers, which implemented stream compression before XEP-0170 was there do compression only before SASL.
Secondly, XEP-138 [2] says, > Because negotiation of stream compression should not be completed after > application of any encryption layers and because SASL negotiation (see RFC > 3920) may involve application of an encryption layer, stream compression > SHOULD be negotiated after SASL negotiation. For detailed recommendations > regarding the order of stream feature negotiation, refer to Recommended > Order of Stream Feature Negotiation [4]. in its Business Rules section. The first sentence contradicts the second one. The first disallows the use of stream compression when an encryption layer is present however the second, forwarding to XEP-170, precisely describes when to allow stream compression even after TLS has be negotiated. [1] http://xmpp.org/extensions/xep-0170.html#c2s-compress [2] http://xmpp.org/extensions/xep-0138.html#bizrules Cheers, Tobias
