Kretschmer, Felix | 4 Sep 09:28 2015

mod_shared_roster_ldap spaces

Hi <at> all,


I just got another issue.

After Windows Active Directories are storing the DN of a user with spaces (e.g.: CN=John Smith,OU=Users,…) the module is not able to parse this entry.

Is there anyone maintaining this module and might already have a solution?





Dipl.-Ing. Felix Kretschmer
Universität Stuttgart
Institut für Steuerungstechnik der Werkzeugmaschinen und Fertigungseinrichtungen (ISW)

Seidenstraße 36
70174 Stuttgart

T: +49 711 685-82534 | F: +49 711 685-82808
E: felix.kretschmer <at>



ejabberd mailing list
ejabberd <at>
Kretschmer, Felix | 1 Sep 14:07 2015

Security issue in debug log

Hi there,


while configuring an ejabberd installation at my server I just developed as in my opinion is considered a security issue.

The debug log contains passwords of users that are connection to the server. I checked if they are at least transmitted encrypted – yes they are.

But especially in large installations and an authentication via LDAP it is a security concern to get plain text passwords just by running a server with a debug log.


Is this by purpose?


Thanks for any responses.



Dipl.-Ing. Felix Kretschmer
Universität Stuttgart
Institut für Steuerungstechnik der Werkzeugmaschinen und Fertigungseinrichtungen (ISW)

Seidenstraße 36
70174 Stuttgart

T: +49 711 685-82534 | F: +49 711 685-82808
E: felix.kretschmer <at>



ejabberd mailing list
ejabberd <at>
Sven Reissmann | 1 Sep 13:28 2015

Problem migrationg the database from 2.1.10 to 14.07


I want to move ejabberd (currently 2.1.10) to a new host running debian
jessie with ejabberd 14.07. I followed this document for the database

However, when I try to restore the database on the new host, I get the
following error message:

ejabberdctl --node ejabberd <at> varda restore /tmp/ejabberd2.backup
Can't restore backup from "/tmp/ejabberd2.backup" at node
ejabberd <at> varda: Table config does not exist.

I would appreciate any hints on how to do the database migration.

Thanks, Sven.


PGP Key:
PGP Key Fingerprint: 2DF2 79CD 48DD 4D38 F0B6  7557 2E68 D557 49AA 1D99

Note: I'll be transitioning away from this key in the near future.
Vikram Lalit | 18 Aug 00:38 2015

Clustering not working...

Hi.. I am rather new to ejabberd so apologize if this is trivial.

I've set up a ejabberd (v 15.04) cluster on AWS using 2 Ubuntu images. Whilst I am able to successfully cluster the two (using the command join_cluster from the 2nd node to the 1st node), I am not sure if the behavior is as expected... any thoughts would be much appreciated...

To detail further, 2 different clients connected to the 2 nodes separately can communicate with each other. However, when I stop the server on the secondary node, I would still expect the two clients to be able to talk to each other. But instead, this 2nd client simply gets disconnected as the server is not running.

Is there something possibly that am overlooking here?

Many thanks!

ejabberd mailing list
ejabberd <at>
Holger Weiß | 17 Aug 10:12 2015

AppArmor profile

Does anyone happen to have an AppArmor profile for ejabberd?

Mickaël Rémond | 12 Aug 12:42 2015

Advanced Erlang ejabberd Workshops talks


We have just released a preliminary schedule with the first talks that 
will take place in ejabberd Advanced Erlang workshop in Paris in 

The schedule can be see here:

We will have a strong focus on various approach to broadcast messages, 
from groupchat to pubsub, as well as operational challenges related to 
upgrading large scale production ejabberd server (a lot will apply to 
typical large scale Erlang apps).

Enjoy !


Mickaël Rémond
ejabberd mailing list
ejabberd <at>
ricky gutierrez | 30 Jul 00:35 2015

Offtopic - apps

Hi list , anyone know any apps that support XEP-0166, for Android and
IOS  , I am disappointed of Bria for ipad!



Jérôme Sautret | 29 Jul 10:57 2015

[ANN] ejabberd 15.07 released: Summer Progress

This month’s ejabberd release contains many fixes and a few
improvements. This is a consolidation release that help us pave the
way to exciting new features coming at end of the summer.

Since we released our Message Archive Management support in ejabberd
15.06, we have been impressed by how quickly our users did adopt this
feature. It helps us make the implementation more robust and more
complete, thanks to your feedback. This release thus improves ejabberd

We have also been very happy by the feedback received on our brand new
installer for Windows, and for the .deb and .rpm packages. They are
still beta, but thanks to your feedback, we could improve them
tremendously. So, keep the feedback coming!

And of course, all this work on installers help us improves our tool
to deploy and build ejabberd contributed modules. Contributed modules
can now include their own configuration snippet, which are dynamically
loaded by ejabberd.

Overall, this version should be easier and even more enjoyable to run
and we all hope you will like the progress.

* Changes

** Message Archive Management (XEP-0313)

*** Add “complete” attribute to MAM final response
*** Fix mod_mam compatibility with RSM
*** Changed mam iq get to set as specified by XEP-0313 v0.3

** Modules management

*** Ensure config snippet is loaded at module installation
*** Allow contribution to include .yml or .yaml config file
*** Allow include of simple dependencies

** Multi User Chat

*** New API hook: muc_filter_packet
*** Send notifications on MUC configuration changes
*** Omit warning message regarding non-anonymous room
*** During halt only shutdown MUC rooms on local node

** Pubsub

*** Allow migration of old pubsub items with old xmlelement structure in body
*** Trigger PEP notifications on CAPS updates
*** Check for node subscription of bare JID
*** Flat is now the default plugin

** Stream Management (XEP-0198)

*** Increase timeout during resumption
*** Increase default “max_ack_queue” value

** ejabberd Client connection

*** API change: user_send_packet is now a run_fold hook and pass the
c2s State as a parameter. It was already the case in ejabberd 15.06,
but it was not mentioned in the changelog, by mistake. So, now, you
know :)

** Admin

*** Do not rely on behavior info when doing config validation
*** When passwords are scrammed, report check_password_hash cannot work
*** Fix problem with merging values from multiple config files
*** If local guide.html file not found, redirect to the online guide
*** Support RTL page direction in WebAdmin for Hebrew
*** add AC_CONFIG_MACRO_DIR and static AC_INIT

** WebAdmin

*** Don’t crash web admin when displaying info about websocket using users

** Installers

*** Both RPM and DEB now are using the improved post-install script
which creates ejabberd user when installing as root. This let ejabberd
running as user without any manual setup.
*** Windows installer now uses %USERPROFILE% to get path of user
writable directory. We made numerous other fixes to that version,
thanks to your feedback.

* Feedback

As usual, the release is tagged in the Git source code repository on Github:

The source package and binary installers are available at ProcessOne:

If you suspect that you’ve found a bug, please search or fill a bug
report on Github:


Jérôme Sautret
ejabberd mailing list
ejabberd <at>
Gauri Padbidri | 22 Jul 13:50 2015

Ejabberd 15.06 and MAM response

Hi Guys,

We have recently upgraded to Ejabberd 15.06 for supporting Message 
Archiving. We are using MySQL for message archiving. MySQL stores archived 
messages (we can see them listed in MySQL Table named "archive")... 
However, we are getting a NOT SUPPORTED response from the server. response 
for the stanza is as follows : 

Please see attached screenshot for the Ejabberd Server response :

Can you give us pointers on what configuration / stanza attributes might 
be missing from our side while fetching message archives ?

Any pointers would be great help. Thanks !
vedant agarwala | 7 Jul 10:32 2015

Handle support Queues


I want to add a feature for my chat operators to handle messages from users, similar to how a support chat would work. Many users would request to chat with the 'operator' but in fact they would be chatting with one of the many operators. On the backend, I will route a new user's message to one of the available operators.

From what I have searched there is nothing like this in ejabberd. If there is, please point me to it so that I can build my work on top of that rather than starting from scratch.

If I start from scratch, I know I will need to a module for it. But I have a couple of questions:
  • Would the XMPP client (for the operator) need some create/handle additional packets to signal availability per resource
  • I'm thinking to have a singe username (say 'operator') with which the clients can chat. Is there a better way?
  • mod MAM is a necessity
  • I want to be able to add routing based on simple text analysis and gradually add automated replies. Won't be adding this now but I want my implementation to have space for this.
  • Some other things I haven't thought about as yet ;-)

There was a similar post: 
Any feedback, guidance are more than welcome.

Vedant Agarwala.
ejabberd mailing list
ejabberd <at>
Jérôme Sautret | 25 Jun 14:46 2015

[ANN] ejabberd 15.06: Message archive, configuration checker and new packages


ejabberd 15.06 includes over 100 changes since the last release two
months ago. Among those changes it includes several major new

* New features

The focus of this release is archiving and easier configuration.

** Message Archive Management support

Message Archive Management (aka MAM, defined in XEP-313, is now the de facto standard
for message archiving in XMPP world.

ejabberd now comes with its own full feature message archiving implementation:
– It support both version 0.2 and the more recent version 0.3 of the protocol.
– It support Mnesia internal storage and relational database backend
(aka odbc, but actually use native drivers).

To enable it, simply add mod_mam in ejabberd modules configuration
section, telling it to use your configured relational database.

    dbtype: odbc

Please, also check the sql directory to find about the table to add to
your relational database:

MAM relational storage is supported for MySQL, Postgres and SQLite.

** Configuration checking on launch

ejabberd is sometime difficult to configure, especially when you want
to define complex setup. After having changed the configuration file
to support YAML format, we now introduce a new feature to help you get
your configuration right.

On ejabberd launch, you will now see report about possible
misconfiguration, with explicit error message.

For example, suppose there is a typo on the registration_timeout
option, you’ll get the following error in the log file:

16:15:20.487 [error] unknown option 'registrtion_timeout' will be likely ignored

This can be of great help when trying to understand why an option is
not taken into account.

** Windows installer

The Microsoft Windows installer is back, as a beta version. Windows is
not a good platform to run a production ejabberd server, for various
reasons. However, many users are developing on Windows or want to try
ejabberd from their Windows Desktop. Building ejabberd on Windows is
very complex, so we decided to finally update our packaging to bring
latest ejabberd to Windows users. The installer is 64 bits only, it
supports Windows 7 and Windows 8.

The installer is still considered experimental. For example, we did
not yet sign the installer with Windows developer account to become a
trusted developer. This may come depending on the feedback we get
regarding our Windows version.

Please, send us your feedback and contributions!

** RPM and DEB packages

We have been providing for years a binary installer that includes
everything you need to run ejabberd. It includes all the dependencies
and a minimal version of Erlang, independently from the one installed
on your system.

We now provide the same binary packaging as RPM and DEB for 64bit
Linux. This is generated from the same source so it includes its own
minimal version of Erlang and doesn’t have any dependencies on other
packages. This is still a work in progress, it means that your
feedback is welcome. The packages can be downloaded from ProcessOne
ejabberd download page:

We hope that this is another step in making ejabberd simpler to deal
with and even more ubiquitous. It should also help you stay up to date
and always be able to run the latest ejabberd version.

** Improvements

We now have an installer for contributed modules since ejabberd 15.04.
In that new release, we’ve improved automatic compilation of external
modules, it’s now more robust and able to handle more complex modules.

Documentation now includes supported protocols with versions by
parsing directly modules source code.

* Changelog overview

Here is a complete changelog. We’ll detail some of these changes in
the coming days with follow up blog posts.

** Message archiving

- Add support for message archiving in Mnesia or relational databases.

** Protocol

- Document protocol support and version inside each module and use
that info in documentation
- Remove deprecated XEP-0090 Entity Time and XEP-0091 Delayed Delivery
- Don’t add body element to MUC subject messages
- Do not bounce normal messages sent to unavailable resource

** Admin command-line tool

- Fixed several ejabberd commands
- Allow password with ‘;’ passed in ejabberdctl
- Improve ejabberdctl external module install code, allows better error checking
- New ping ejabberdctl command to check if the node is up and running
- New commands for Multi-User chat management: get_room_options and

** Configuration

- Add config validation at startup
- Fix include of non yaml config files
- New option hide_sensitive_log_data to hide client IP address in log
- New option net_ticktime, to fine tune Erlang cluster networking
- New option max_users_presence in mod_muc, to avoid broadcasting
presence packet from users after a chat room has reached a given size

** Elixir

- Add correct package version for mix

** Security

- New options to configure your own custom Diffie-Helman parameters:
dhfile and s2s_dhfile

** PubSub

- Enforce definition of pubsub node max_items
- Fix pubsub/odbc crash on remote user unsubscribe
- Fix use of publish_only affiliation with odbc backend

** Multicast

- Pick first local multicast service, otherwise remote

** Databases

- Fix anonymous user login, it wasn’t stored in anonymous mnesia table
- Fixed some string/binary issues in ejabberd_odbc
- PostgreSQL storage: added missing sm (session manager) table

** Packaging

- Microsoft Windows 64 bits installer
- Provide RPM and DEB binary packages for linux 64 bits.

** Clean up

- Remove obsolete doc and win32 files

* Feedback

As usual, the release is tagged in the Git source code repository on Github:

The source package and binary installers are available at ProcessOne:

If you suspect that you’ve found a bug, please search or fill a bug
report on Github:


Jérôme Sautret
ejabberd mailing list
ejabberd <at>