mirror of
https://github.com/processone/ejabberd.git
synced 2024-06-14 22:00:16 +02:00
Update incoming stanzas counter on invalid XML
This commit is contained in:
parent
e5ba7c3f3c
commit
52ded14b7f
|
@ -176,7 +176,8 @@ c2s_authenticated_packet(#{mgmt_state := MgmtState} = State, Pkt)
|
||||||
c2s_authenticated_packet(State, Pkt) ->
|
c2s_authenticated_packet(State, Pkt) ->
|
||||||
update_num_stanzas_in(State, Pkt).
|
update_num_stanzas_in(State, Pkt).
|
||||||
|
|
||||||
c2s_handle_recv(#{lang := Lang} = State, El, {error, Why}) ->
|
c2s_handle_recv(#{mgmt_state := MgmtState,
|
||||||
|
lang := Lang} = State, El, {error, Why}) ->
|
||||||
Xmlns = xmpp:get_ns(El),
|
Xmlns = xmpp:get_ns(El),
|
||||||
IsStanza = xmpp:is_stanza(El),
|
IsStanza = xmpp:is_stanza(El),
|
||||||
if Xmlns == ?NS_STREAM_MGMT_2; Xmlns == ?NS_STREAM_MGMT_3 ->
|
if Xmlns == ?NS_STREAM_MGMT_2; Xmlns == ?NS_STREAM_MGMT_3 ->
|
||||||
|
@ -185,12 +186,13 @@ c2s_handle_recv(#{lang := Lang} = State, El, {error, Why}) ->
|
||||||
text = xmpp:mk_text(Txt, Lang),
|
text = xmpp:mk_text(Txt, Lang),
|
||||||
xmlns = Xmlns},
|
xmlns = Xmlns},
|
||||||
send(State, Err);
|
send(State, Err);
|
||||||
IsStanza ->
|
IsStanza andalso (MgmtState == pending orelse MgmtState == active) ->
|
||||||
|
State1 = update_num_stanzas_in(State, El),
|
||||||
case xmpp:get_type(El) of
|
case xmpp:get_type(El) of
|
||||||
<<"result">> -> State;
|
<<"result">> -> State1;
|
||||||
<<"error">> -> State;
|
<<"error">> -> State1;
|
||||||
_ ->
|
_ ->
|
||||||
State#{mgmt_is_resent => false}
|
State1#{mgmt_is_resent => false}
|
||||||
end;
|
end;
|
||||||
true ->
|
true ->
|
||||||
State
|
State
|
||||||
|
|
Loading…
Reference in New Issue
Block a user