Authentication problems after upgrading to 16.03

I've upgraded from 15.09 to 16.03 and used the old ejabberd.yml config file. Clients like Pidgin or Gajim could log users in without problems. But clients relying on the Perl XMPP library (like sendxmpp) started to fail with:

Error 'AuthSend': error: not-authorized[?]

What has been changed in ejabberd to explain this behaviour? I read the change history of all versions from 15.09 to 16.03 but could not find any hint.

Any hints or solutions will by highly appreciated!

Regards,
Ronzo

This is the output when

This is the output when sendxmpp fails (with ejabberd 16.04):


XMPP::Conn: AuthSASL: haven't authed yet... let's wait.
XMPP::Conn: Process: timeout(1)
XML::Stream: Read: buff(<failure xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><not-authorized/></failure>)
XML::Stream: Node: _handle_element: sid(11726132938165640411) sax(XML::Stream::Parser=HASH(0x17a2930)) tag(failure) att( xmlns urn:ietf:params:xml:ns:xmpp-sasl )
XML::Stream: Node: _handle_element: check( -1 )
XML::Stream: Node: _handle_element: sid(11726132938165640411) sax(XML::Stream::Parser=HASH(0x17a2930)) tag(not-authorized) att( )
XML::Stream: Node: _handle_element: check( 0 )
XML::Stream: Node: _handle_close: sid(11726132938165640411) sax(XML::Stream::Parser=HASH(0x17a2930)) tag(not-authorized)
XML::Stream: Node: _handle_close: check( 1 )
XML::Stream: Node: _handle_close: check2( 0 )
XML::Stream: Node: _handle_close: sid(11726132938165640411) sax(XML::Stream::Parser=HASH(0x17a2930)) tag(failure)
XML::Stream: Node: _handle_close: check( 0 )
XML::Stream: Node: _handle_close: check2( -1 )
XML::Stream: Process: block(0)
XMPP::Conn: AuthSASL: Authentication failed.
Error 'AuthSend': error: not-authorized[?]
XML::Stream: Send: (</stream:stream>)
XML::Stream: SetCallBacks: tag(node) func(CODE(0x8101f0))
XMPP::Conn: Disconnect: bye bye
sendxmpp: Disconnect

The ejabberd release notes

The ejabberd release notes mention most changes, the most relevant ones, but sometimes they miss some minor change that could be relevant to you.

Looking at the git repository, changes in several auth modules, I see changes that may be relevant to you. For instance:

$ git log --oneline 15.09..16.03 src/cyrsasl_digest.erl
46568fb Merge commit 'refs/pull/524/head' of github.com:processone/ejabberd into sasl-api-change
dfc29ea Switch to Fast XML module
f448ff6 Update copyright to 2016 (#901)
917d48f Use SASL PLAIN authzid as client identity if auth module permits it
d981470 Remove commented code
Syndicate content