Majic Projects
Go to the previous open issue
Go to the previous issue (open or closed)
Please log in to bookmark issues
Closed Bug report MAR-137 XMPP server LDAP integration not working for Prosody 0.11.x
Go to the next issue (open or closed)
Go to the next open issue
icon_info.png This issue has been closed with status "Postponed" and resolution "Not determined".
Issue basics
  • Type of issue
    Bug report
  • Category
  • Targetted for
    Not determined
  • Status
  • Progress
  • Priority
    Not determined
User pain
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
Affected by this issue (1)
People involved
Times and dates
  • Posted at
  • Last updated
  • Estimated time
    8 hours
  • Time spent
    4 hours
    Click here to see time logged against this issue
Issue details
  • Resolution
    Not determined
  • Reproducability
  • Severity
    Not determined
Attachments (0)
There is nothing attached to this issue
Duplicate issues (0)
This issue does not have any duplicates

The XMPP server Ansible role takes care of deploying the Prosody XMPP server implementation. After the last version of Prosody (0.11.0) has been deployed, the LDAP integration between the XMPP server and LDAP directory stopped working.

The problem stems from Prosody 0.11.x depending on Lua 5.2, while the Lua bindings towards the LDAP directory work only with Lua 5.1, and no bindings are deployed for Lua 5.2.

Unfortunately, the Lua LDAP bindings seem to be pretty much abandoned, and it not clear where one should get the latest sources for building it against Lua 5.2. See Debian bug #814218 for details.

Instead of trying to get the LDAP bindings working, it might be easier to switch over to using the Cyrus SASL authentication combined with the saslauthd daemon.

The following should be done:

  • Update the xmpp_server role.

    • Deploy and configure saslauthd for use with Prosody.
    • Drop deployment of the LDAP authentication module (removing it altogether).
    • Update Prosody configuration to use the Cyrus SASL implementation.
Steps to reproduce this issue

Reproduction steps:

  1. Deploy test site using the latest available version of Majic Ansible Roles.

  2. Try to connect with the XMPP client, authenticating with one of the users.

Expected results:

  1. Authentication succeeds and the user can now use the XMPP.

Actual results:

  1. Authentication fails.

Additional details:

  1. Looking into the Prosody error logs, one can see the following errors reported:

    Nov 21 23:39:21 modulemanager   error   Error initializing module 'auth_ldap' on '': /usr/lib/prosody/util/startup.lua:141: module 'lualdap' not found:
            no field package.preload['lualdap']
            no file '/usr/lib/prosody/lualdap.lua'
            no file '/usr/local/share/lua/5.2/lualdap.lua'
            no file '/usr/local/share/lua/5.2/lualdap/init.lua'
            no file '/usr/local/lib/lua/5.2/lualdap.lua'
            no file '/usr/local/lib/lua/5.2/lualdap/init.lua'
            no file '/usr/share/lua/5.2/lualdap.lua'
            no file '/usr/share/lua/5.2/lualdap/init.lua'
            no file '/usr/lib/prosody/'
            no file '/usr/local/lib/lua/5.2/'
            no file '/usr/lib/x86_64-linux-gnu/lua/5.2/'
            no file '/usr/lib/lua/5.2/'
            no file '/usr/local/lib/lua/5.2/'
    stack traceback:
            [C]: in function '_real_require'
            /usr/lib/prosody/util/startup.lua:141: in function 'require'
            /usr/local/lib/prosody/modules/mod_auth_ldap.lua:5: in main chunk
            [C]: in function 'xpcall'
            /usr/lib/prosody/core/modulemanager.lua:178: in function 'do_load_module'
            /usr/lib/prosody/core/modulemanager.lua:256: in function 'load'
            /usr/lib/prosody/core/usermanager.lua:67: in function '?'
            /usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75>
            (...tail calls...)
            /usr/lib/prosody/core/hostmanager.lua:108: in function 'activate'
            /usr/lib/prosody/core/hostmanager.lua:58: in function '?'
            /usr/lib/prosody/util/events.lua:79: in function </usr/lib/prosody/util/events.lua:75>
            (...tail calls...)
            /usr/lib/prosody/util/startup.lua:327: in function 'prepare_to_start'
            /usr/lib/prosody/util/startup.lua:548: in function 'f'
            /usr/lib/prosody/util/async.lua:139: in function 'func'
            /usr/lib/prosody/util/async.lua:127: in function </usr/lib/prosody/util/async.lua:125>
Comments ()