From: Holger Weiss <holger@zedat.fu-berlin.de> Date: Wed, 4 Jun 2014 17:51:45 +0000 (+0200) Subject: Don't "forget" listener options X-Git-Tag: 14.07~79^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e0e74a9d5e5e4e1a8a6eff8605bdd0d261d4be6f;p=ejabberd Don't "forget" listener options If a listener is started or stopped via ejabberd_listener:add_listener/3 or ejabberd_listener:delete_listener/3, the configuration for all listener modules is updated using the Module:transform_listen_option/2 function for each listener module that exports such a function. However, for listener modules that don't provide that function (such as ejabberd_stun), all but one option was dropped. This is now fixed. The issue could be triggered e.g. by enabling mod_proxy65 in the modules section. --- diff --git a/src/ejabberd_listener.erl b/src/ejabberd_listener.erl index 02a2f3fbd..d2dc0fb73 100644 --- a/src/ejabberd_listener.erl +++ b/src/ejabberd_listener.erl @@ -595,7 +595,7 @@ transform_option({{Port, IP, Transport}, Mod, Opts}) -> try Mod:transform_listen_option(Opt, Acc) catch error:undef -> - Acc + [Opt|Acc] end end, [], Opts1), TransportOpt = if Transport == tcp -> [];