> ## Content Index
> Fetch the complete content index at: https://www.process-one.net/llms.txt
> Use this file to discover other available public pages before exploring further.

# ejabberd 17.09
- URL: https://www.process-one.net/blog/ejabberd-17-09/
- Published: 2017-09-29T08:41:00.000Z
- Updated: 2024-09-19T08:43:03.000Z
- Description: ejabberd 17.09 is out! This release mostly contains bugfix and adds few improvements.
- Author: Jérôme Sautret

## New feature

### New mod\_avatar module

The purpose of the module is to cope with legacy and modern XMPP clients posting avatars. It automatically converts vCard based avatars (XEP-0153) to PEP based avatars (XEP-0084) and vice versa.  
Also, the module supports conversion between avatar image formats on the fly: this is controlled by `convert` option. For example, to convert all avatars into PNG format, configure the module as:

```
mod_avatar:
  convert:
    default: png

```

In order to convert only `webp` format to `jpeg`, set the following:

```
mod_avatar:
  convert:
    webp: jpeg

```

Note: the module depends on mod\_vcard, mod\_vcard\_xupdate and mod\_pubsub. It’s not working on Linux-armhf and Windows yet. If you compile from sources, ejabberd should be configured with –enable-graphics option.

### Updated OpenSSL libraries

Our installers now include OpenSSL 1.0.2l. These libraries are used as a fallback only if you don’t have them on your system, else the system wide version is used.  
On Very old Linux systems (Debian wheezy with older glibc for example), ejabberd will fail to load them. In this situation, you have to remove libcrypto and libssl installed in lib/linux-x86\_64 of your installer, and ejabberd will use older OpenSSL 1.0.1 from your system. We highly recommend to plan a system upgrade in this case anyway.

## Changes

### Admin

- Harden ejabberdctl
- Fix ejabberdctl quoting when using iex
- Call earlier deps configure scripts during compilation
- Fix iexdebug and iexlive commands
- Quote $PEER in ping command to avoid hostnames containing “-” being interpreted as arithmetic
- Docker: Sync containers from rroemhild and add instructions in README
- Use eimp instead of ImageMagick calls for thumbnails creation
- Add forgotten caching options to the validator
- Fix ‘make install’ to work with new output from rebar list-deps
- Rewrite muc\_register\_nick and muc\_unregister\_nick to be DB independent
- WebAdmin: Fix deletion of multiple offline messages

### Encryption

- Add support for XEP-0368 in outgoing s2s: SRV records for XMPP over TLS
- Deprecate `s2s_use_starttls: required_trusted`
- Don’t attempt to access(2) a certificate file
- Let ‘domain\_certfile’ take higher precedence instead of s2s\_certfile or c2s\_certfile

### Databases

- mysql.sql: Use multi-column index on username/ID
- Use forked repo of Riak Erlang client to support OTP20

### Modules

- mod\_avatar: New module with support for legacy and modern clients
- mod\_block\_strangers: Introduce option ‘allow\_transports’
- mod\_block\_strangers: Block messages from strangers before mod\_mam/mod\_offline processing
- mod\_http\_upload: Don’t ignore ‘custom\_headers’
- mod\_muc: Improve presence-error and unavailable of multi-session occupants
- mod\_multicast: Fix start and reading of configured limits
- mod\_mam: Simplify check for anon MUC JID filtering
- mod\_mam: Refuse filtering anon MUC queries by JID
- mod\_privacy: Explicitly match against
- mod\_register: Introduce ‘redirect\_url’ option
- mod\_stream\_mgmt: Delete ‘c2s\_init’ hook
- mod\_vcard\_xupdate: Also replace vcard-x-update in direct presences

### PubSub

- Fix get\_items/get\_item calls
- Add correct order when requesting all items
- Implement ‘6.5.7 Requesting the Most Recent Items’
- Fix RSM support on SQL
- Add RSM support on mnesia
- Fix node\_options: default options only apply on first plugin
- Broadcast updated node configuration
- Enforce controls on publish and delete items

### Miscelanea

- Preserve correct order of deserialized XML elements
- Suppress push notifications for online clients
- Extract strings and prepare translation files works again

## Feedback

As usual, the release is tagged in the Git source code repository on [Github](https://github.com/processone/ejabberd.git?ref=process-one.net).

The source package and binary installers are available at [ejabberd XMPP & MQTT server download page](https://www.process-one.net/en/ejabberd/downloads/).

If you suspect that you’ve found a bug, please search or fill a bug report on [Github](https://github.com/processone/ejabberd/issues?ref=process-one.net).