diff options
-rw-r--r-- | src/ejabberd_listener.erl | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/ejabberd_listener.erl b/src/ejabberd_listener.erl index 1226d9d5d..a953dc9f8 100644 --- a/src/ejabberd_listener.erl +++ b/src/ejabberd_listener.erl @@ -176,7 +176,11 @@ listen_tcp(PortIP, Module, SockOpts, Port, IPS) -> catch _:_ -> [] end, - Res = gen_tcp:listen(Port, [binary, + DeliverAs = case Module of + ejabberd_xmlrpc -> list; + _ -> binary + end, + Res = gen_tcp:listen(Port, [DeliverAs, {packet, 0}, {active, false}, {reuseaddr, true}, |