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 setstore_current_id: true
formod_roster
in/etc/ejabberd/ejabberd.conf
. This does not work with shared rosters. So please change this tostore_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.
Installation
You can download the latest release or use the .deb
package repository at https://dl.jsxc.org/
(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
Added
- 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)
Fixed
- 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 intools/xcejabberdctl.sh
for the case thatejabberdctl
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)
Changed
- Renamed
async
toasync_
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).