From f6e2840947a3965dfad878ef9745ff1dec52ebf5 Mon Sep 17 00:00:00 2001 From: Evgeniy Khramtsov Date: Wed, 1 Mar 2017 00:17:27 +0300 Subject: [PATCH] External components must always provide 'to' attribute --- src/xmpp_stream_in.erl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/xmpp_stream_in.erl b/src/xmpp_stream_in.erl index 7264b6d5a..c80fafe0e 100644 --- a/src/xmpp_stream_in.erl +++ b/src/xmpp_stream_in.erl @@ -458,8 +458,8 @@ process_stream(#stream_start{lang = Lang}, Txt = <<"Too long value of 'xml:lang' attribute">>, send_pkt(State, xmpp:serr_policy_violation(Txt, DefaultLang)); process_stream(#stream_start{to = undefined, version = Version} = StreamStart, - #{lang := Lang, server := Server} = State) -> - if Version < {1,0} -> + #{lang := Lang, server := Server, xmlns := NS} = State) -> + if Version < {1,0} andalso NS /= ?NS_COMPONENT -> %% Work-around for gmail servers To = jid:make(Server), process_stream(StreamStart#stream_start{to = To}, State);