aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-03-01 00:17:27 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-03-01 00:17:27 +0300
commitf6e2840947a3965dfad878ef9745ff1dec52ebf5 (patch)
tree957d7edcaf2fe88ef02c3f6e242aecf70e587e9a
parentAdd s2s work-around for gmail.com (diff)
External components must always provide 'to' attribute
-rw-r--r--src/xmpp_stream_in.erl4
1 files 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);