Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • S slixmpp
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 38
    • Issues 38
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 10
    • Merge requests 10
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • poeziopoezio
  • slixmpp
  • Merge requests
  • !153

Fixes to allow in-band registration.

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open B T requested to merge haael/slixmpp:registration_and_authentication into master Mar 30, 2021
  • Overview 0
  • Commits 4
  • Pipelines 4
  • Changes 4

With the current implementation of SASL authentication, in-band registration (XEP-0077) will fail if it doesn't finish before the client is rejected.

This patch does the following:

  • A new 'SKIP' SASL mechanism is added, that simply does not send any credential. Registration plugin requests it when enabled.
  • Authentication processing blocks until it is finished, so registration does not race with it.
  • Registration stanza processing is moved after authentication, so the registration handler knows whether the authentication failed.

There are 2 ways of using the registration plugin:

  1. Authentication is performed first, and if it fails, registration is attempted. This is the default.
  2. Authentication is not performed, registration is attempted on the anonymous stream. To use it, add sasl_mech='SKIP' argument to ClientXMPP.__init__.
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: registration_and_authentication