From 960714478459b778b5fd76931d281990728948f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Sch=C3=A4fer?= Date: Wed, 8 Jan 2020 16:36:56 +0100 Subject: [PATCH] Revert "XEP-0401: update pre-authenticated IBR" This reverts commit 5f43884d3a2f3356a1723f9b3afe8c466d64bf58. It was incorrectly merged. --- xep-0401.xml | 135 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 85 insertions(+), 50 deletions(-) diff --git a/xep-0401.xml b/xep-0401.xml index 050f2903..745a6e6b 100644 --- a/xep-0401.xml +++ b/xep-0401.xml @@ -30,6 +30,12 @@ Marc Schink + + 0.4.0 + 2020-01-08 + jsc + Revert version 0.3.0, which was merged prematurely and incorrectly. + 0.3.0 2020-01-02 @@ -84,8 +90,8 @@ out-of-band link (URI) which allows Juliet to:

  1. Download an XMPP client (if needed).
  2. -
  3. Register an account on Romeo's server (with a user name pre-defined - by Romeo or chosen by Juliet, and a password not known to Romeo).
  4. +
  5. Register an account on Romeo's server with a user name defined by + Romeo and a password not known to Romeo.
  6. Establish a mutual presence subscription between Romeo and Juliet.
@@ -130,21 +136,8 @@ ]]>

When performing the account creation, Juliet's client needs to ensure - that the server supports the extended IBR protocol, as denoted by the - <register xmlns='urn:xmpp:invite'> - stream feature:

- - - EXTERNAL - SCRAM-SHA-1-PLUS - SCRAM-SHA-1 - PLAIN - - - - -]]> + that the server supports the extended IBR protocol with a <preauth> + token: TODO

OPTIONAL.

@@ -343,45 +336,87 @@

In order to allow invited users to register on a server, the registration processs as defined in &xep0077; needs to be extended. The - invited user's client needs to connect to the server and check that the - invitation stream feature - (<register xmlns='urn:xmpp:invite'>) is present. - After that, the client initiates the registration flow by sending the - preauth token to the server:

- - + invited user's client MUST add a <preauth> element in the 'TODO' + namespace to the 'jabber:iq:register' query in order to inform the + server that it wants to perform Pre-Authenticated IBR:

+ + + + ]]> -

Upon receiving the preauth request, the server must validate that the - token is acceptable for account registration. However, single-use tokens - MUST NOT be considered used until the actual registration has succeeded. -

-

In addition, if the token has an expiration time, it MUST only be - checked at this point. Subsequent actions performed by the client during - the current session that require a valid token MUST NOT be rejected due - to token expiry. -

-

If the token is acceptable, the server responds with success, and - indicates the client may now proceed with account registration: -

- +

If the server supports and is ready to perform Pre-Authenticated IBR, + it MUST add a <token> element to the response (TODO: 'token' or + 'preauth'?):

+ + + + + urn:xmpp:invite:1 + + + + + + + + + + + + + ]]> -

If the token provided by the client was unknown, invalid or expired, the - server should return an appropriate error to the client:

- - - - The provided token is invalid or expired + + + + + urn:xmpp:invite:1 + + + juliet + + + m1cro$oft + + + BADTOKEN + + + + + + + + +]]> + + + + + urn:xmpp:invite:1 + + + juliet + + + m1cro$oft + + + OLDTOKEN + + + + + + ]]> -

In the success case, the client proceeds with registration as defined in - &xep0077;. If the token is rejected by the server, the client still MAY - attempt to perform IBR if the server allows that.

-

After the invitee has successfully registered on the inviter's server and roster subscription is enabled for account creation, the server MUST use roster pushes as defined in &rfc6121; ยง2.1.6 in order to inform the