Hello,

I've sketched out a proposal to either allow, or improve (depending on how you think of it) the initiating entity's ability to pipeline authentication (as in, send it without having waited for stream features it's seen before).

XEP-0484 (FAST) implies very strongly that this is possible anyway - and of course it is - but in its current form clients have to take it on faith that the stream features are unlikely to change. This has ramifications in how quickly clients are likely to take advantage of new features or new SASL mechanisms.

As an example, a client which already supports channel bindings, and is using FAST with a pre-existing token, will not see the features of a server newly enabling channel binding until after the authentications has succeeded, thus "missing out" on switching to the better security.

https://github.com/xsf/xeps/pull/1483 is, I think, the obvious way of tightening this up. This is a relatively minor problem, but I think this is a relatively lightweight solution.

Comments are, of course, welcome.

Dave.