diff options
Diffstat (limited to 'src/ejabberd_c2s.erl')
-rw-r--r-- | src/ejabberd_c2s.erl | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index b9a940d98..1b2639b86 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -127,6 +127,11 @@ init([{SockMod, Socket}, Opts]) -> {value, {_, S}} -> S; _ -> none end, + MaxStanzaSize = + case lists:keysearch(max_stanza_size, 1, Opts) of + {value, {_, Size}} -> Size; + _ -> infinity + end, Zlib = lists:member(zlib, Opts), StartTLS = lists:member(starttls, Opts), StartTLSRequired = lists:member(starttls_required, Opts), @@ -139,10 +144,12 @@ init([{SockMod, Socket}, Opts]) -> if TLSEnabled -> {ok, TLSSocket} = tls:tcp_to_tls(Socket, TLSOpts), - RecPid = ejabberd_receiver:start(TLSSocket, tls, none), + RecPid = ejabberd_receiver:start( + TLSSocket, tls, none, MaxStanzaSize), {tls, TLSSocket, RecPid}; true -> - RecPid = ejabberd_receiver:start(Socket, SockMod, none), + RecPid = ejabberd_receiver:start( + Socket, SockMod, none, MaxStanzaSize), {SockMod, Socket, RecPid} end, {ok, wait_for_stream, #state{socket = Socket1, |