summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristophe Romain <christophe.romain@process-one.net>2015-09-18 09:06:51 +0200
committerChristophe Romain <christophe.romain@process-one.net>2015-09-18 09:06:51 +0200
commit497cbb3ec29585551a191e786397ae902fb95928 (patch)
treef148d3ff273566e5e3237b1ec9d71db4b7f9a790 /src
parentRemove unused functions from old get_items api (diff)
parentGuard against passing undefined C2SPid to xml parser before become_controller... (diff)
Merge branch 'master' of github.com:processone/ejabberd
Diffstat (limited to '')
-rw-r--r--src/ejabberd_http_bind.erl1
-rw-r--r--src/ejabberd_http_ws.erl1
-rw-r--r--src/ejabberd_receiver.erl16
3 files changed, 15 insertions, 3 deletions
diff --git a/src/ejabberd_http_bind.erl b/src/ejabberd_http_bind.erl
index 21c6887f..4277f4c5 100644
--- a/src/ejabberd_http_bind.erl
+++ b/src/ejabberd_http_bind.erl
@@ -335,6 +335,7 @@ init([Sid, Key, IP, HOpts]) ->
SOpts = lists:filtermap(fun({stream_managment, _}) -> true;
({max_ack_queue, _}) -> true;
({resume_timeout, _}) -> true;
+ ({max_resume_timeout, _}) -> true;
({resend_on_timeout, _}) -> true;
(_) -> false
end, HOpts),
diff --git a/src/ejabberd_http_ws.erl b/src/ejabberd_http_ws.erl
index dd6854f8..65a80b00 100644
--- a/src/ejabberd_http_ws.erl
+++ b/src/ejabberd_http_ws.erl
@@ -115,6 +115,7 @@ init([{#ws{ip = IP, http_opts = HOpts}, _} = WS]) ->
SOpts = lists:filtermap(fun({stream_managment, _}) -> true;
({max_ack_queue, _}) -> true;
({resume_timeout, _}) -> true;
+ ({max_resume_timeout, _}) -> true;
({resend_on_timeout, _}) -> true;
(_) -> false
end, HOpts),
diff --git a/src/ejabberd_receiver.erl b/src/ejabberd_receiver.erl
index f63ae1cc..3f8f979d 100644
--- a/src/ejabberd_receiver.erl
+++ b/src/ejabberd_receiver.erl
@@ -159,8 +159,13 @@ handle_call({starttls, TLSSocket}, _From,
c2s_pid = C2SPid,
max_stanza_size = MaxStanzaSize} = State) ->
close_stream(XMLStreamState),
- NewXMLStreamState = xml_stream:new(C2SPid,
- MaxStanzaSize),
+ NewXMLStreamState = case C2SPid of
+ undefined ->
+ XMLStreamState;
+ _ ->
+ xml_stream:new(C2SPid,
+ MaxStanzaSize)
+ end,
NewState = State#state{socket = TLSSocket,
sock_mod = p1_tls,
xml_stream_state = NewXMLStreamState},
@@ -347,7 +352,12 @@ process_data(Data,
shaper_state = ShaperState, c2s_pid = C2SPid} =
State) ->
?DEBUG("Received XML on stream = ~p", [(Data)]),
- XMLStreamState1 = xml_stream:parse(XMLStreamState, Data),
+ XMLStreamState1 = case XMLStreamState of
+ undefined ->
+ XMLStreamState;
+ _ ->
+ xml_stream:parse(XMLStreamState, Data)
+ end,
{NewShaperState, Pause} = shaper:update(ShaperState, byte_size(Data)),
if
C2SPid == undefined ->