mirror of
https://github.com/processone/ejabberd.git
synced 2024-09-27 14:30:55 +02:00
Don't crash on unexpected XML events
In fact, seems like this is a problem in the receiver code (or fast_xml?) and should be fixed there
This commit is contained in:
parent
cf8e70abc8
commit
242b3d3968
@ -314,6 +314,16 @@ handle_info({'$gen_event', {xmlstreamstart, Name, Attrs}},
|
|||||||
send_pkt(State1, Err)
|
send_pkt(State1, Err)
|
||||||
end
|
end
|
||||||
end);
|
end);
|
||||||
|
handle_info({'$gen_event', El}, #{stream_state := wait_for_stream} = State) ->
|
||||||
|
%% TODO: find and fix this in fast_xml
|
||||||
|
error_logger:error_msg("unexpected event from receiver: ~p; "
|
||||||
|
"xmlstreamstart was expected", [El]),
|
||||||
|
State1 = send_header(State),
|
||||||
|
noreply(
|
||||||
|
case is_disconnected(State1) of
|
||||||
|
true -> State1;
|
||||||
|
false -> send_pkt(State1, xmpp:serr_invalid_xml())
|
||||||
|
end);
|
||||||
handle_info({'$gen_event', {xmlstreamerror, Reason}}, #{lang := Lang}= State) ->
|
handle_info({'$gen_event', {xmlstreamerror, Reason}}, #{lang := Lang}= State) ->
|
||||||
State1 = send_header(State),
|
State1 = send_header(State),
|
||||||
noreply(
|
noreply(
|
||||||
|
Loading…
Reference in New Issue
Block a user