diff options
author | Christophe Romain <christophe.romain@process-one.net> | 2015-09-18 09:06:51 +0200 |
---|---|---|
committer | Christophe Romain <christophe.romain@process-one.net> | 2015-09-18 09:06:51 +0200 |
commit | 497cbb3ec29585551a191e786397ae902fb95928 (patch) | |
tree | f148d3ff273566e5e3237b1ec9d71db4b7f9a790 /src | |
parent | Remove unused functions from old get_items api (diff) | |
parent | Guard 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.erl | 1 | ||||
-rw-r--r-- | src/ejabberd_http_ws.erl | 1 | ||||
-rw-r--r-- | src/ejabberd_receiver.erl | 16 |
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 -> |