A photo of Marcel Waldvogel Marcel Waldvogel wrote this on

XMPP Cloud Authentication v2.0.3 released

We are happy to announce the release of version 2.0.3 of our XMPP Cloud Authentication xcauth.

Shared Roster Groups

Quite a few things have been changing related to the roster groups with ejabberd:

  • User names: When a user's name changes in Nextcloud, her name in the roster will also be changed on the next login of herself or one of her buddies. If she wants the name in the roster to be different from the one in Nextcloud, the roster display name needs to be changed back in a client. As both differing names and name changes should be rare, this should not cause problems; but keeping both of the in sync avoids confusion.
  • Hidden groups: If you have large groups (employees, students, …) you may not want to publish them as roster groups due to size, speed, or privacy concerns. Now, you can change a group name to end in the special, invisible character U+200B (Zero Width Space; see below for how to type it). These groups will not show up in the users' roster.
  • Incorrect group memberships: There was an error in handling the group memberships which has been fixed.
  • Disable store_current_id: In earlier versions of the ejabberd setup documentation, we recommended to set store_current_id: true for mod_roster in /etc/ejabberd/ejabberd.conf. This does not work with shared rosters. So please change this to store_current_id: false.
  • Not executing changes: The configuration file /etc/sudoers.d/xcauth was wrong (it required entering a password). So shared roster changes were not executed. We are very sorry for that.
    To reset the group cache, you should issue the following commands as root:
sqlite /var/lib/xcauth/xcauth.sqlite3 'UPDATE rosterinfo SET fullname=NULL, grouplist=NULL, responsehash=NULL;'

How to type Zero Width Space

Here is a quick overview on how to type Zero Width Space (or any other special Unicode character) on various operating systems:

  • Linux: Type Ctrl-Shift-U 2 0 0 B Return.
  • MacOS X (always): Activate the Characters Popover with Ctrl-Cmd-Space, then type "U+200B" (without the quotes) and press Return.
  • MacOS X (when "Unicode Hex Input" is activated): Hold down Option while typing "200B" (without the quotes).
  • Windows does not have a unified way of entering Unicode characters out of the box. See Wikipedia and other resources for a list of options.

Case of the "B" does not matter in any of the systems.


You can download the latest release or use the .deb package repository at (stable or nightly).

When setting up a new server, just follow our Debian and/or Raspberry Pi setup documentation, also available in German.

Full list of changes in v2.0.3


  • Group names ending in U+200B (Zero Width Space) are ignored. This allows the Nextcloud admin to blacklist some of the groups (typically large ones).
  • Handles underlying file rotation for the log file (not the error file)
  • Logrotate: Restart xcauth (the name of the process when installed using the .deb package)


  • Internal state about roster groups was not updated correctly. This could have lead to wrong group memberships.
  • Symlinks to ejabberdctl do not work as expected, so changed documentation in tools/ for the case that ejabberdctl is not installed as /usr/sbin/ejabberdctl.
  • xcejabberdctl now no longer requires a sudo password
  • Files in Debian packages are now installed with the correct build time
  • make tests runs the Perl online tests (again)


  • Renamed async to async_ for Python 3.7 compatibility (#71, #72)
  • Now full names for ejabberd are set whenever the user's name in Nextcloud has changed; as soon as that user or any of his group members logs in again. It used to be that it was (essentially) only set once. See jsxc/jsxc#655. We consider this to be the best compromise between automation (the user does not need to care) and leaving the user in charge of his/her ejabberd vCard, as changing the full name in Nextcloud should be rare (typically, when the user really has a legal name change).

Authentication Hub: System Diagram


Get in touch with us