Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBadlop <badlop@process-one.net>2008-08-10 00:09:37 +0400
committerBadlop <badlop@process-one.net>2008-08-10 00:09:37 +0400
commit1d6570cdec3c9b5614b1a5769a51925450d63cd5 (patch)
tree741aa7d49c57a823619253950b18194d96105a56 /src/ejabberd_service.erl
parent62f22e89769f600784a4dacb3af63367dc8630dd (diff)
Retract from previous commit the code that checked the connection is attempted to a known served component (EJAB-717)
SVN Revision: 1517
Diffstat (limited to 'src/ejabberd_service.erl')
-rw-r--r--src/ejabberd_service.erl27
1 files changed, 8 insertions, 19 deletions
diff --git a/src/ejabberd_service.erl b/src/ejabberd_service.erl
index d7216fc6e..66025fce7 100644
--- a/src/ejabberd_service.erl
+++ b/src/ejabberd_service.erl
@@ -79,13 +79,6 @@
"</stream:stream>"
).
--define(HOST_UNKNOWN_ERR,
- "<stream:stream "
- "xmlns:stream='http://etherx.jabber.org/streams'>"
- "<stream:error>Host Unknown</stream:error>"
- "</stream:stream>"
- ).
-
-define(INVALID_HANDSHAKE_ERR,
"<stream:error>Invalid Handshake</stream:error>"
"</stream:stream>"
@@ -178,19 +171,15 @@ init([{SockMod, Socket}, Opts]) ->
wait_for_stream({xmlstreamstart, _Name, Attrs}, StateData) ->
case xml:get_attr_s("xmlns", Attrs) of
"jabber:component:accept" ->
- %% Check that destination is a served component
+ %% Note: XEP-0114 requires to check that destination is a Jabber
+ %% component served by this Jabber server.
+ %% However several transports don't respect that,
+ %% so ejabberd doesn't check 'to' attribute (EJAB-717)
To = xml:get_attr_s("to", Attrs),
- case lists:member(To, StateData#state.hosts) of
- true ->
- Header = io_lib:format(?STREAM_HEADER,
- [StateData#state.streamid,
- xml:crypt(To)]),
- send_text(StateData, Header),
- {next_state, wait_for_handshake, StateData};
- _ ->
- send_text(StateData, ?HOST_UNKNOWN_ERR),
- {stop, normal, StateData}
- end;
+ Header = io_lib:format(?STREAM_HEADER,
+ [StateData#state.streamid, xml:crypt(To)]),
+ send_text(StateData, Header),
+ {next_state, wait_for_handshake, StateData};
_ ->
send_text(StateData, ?INVALID_HEADER_ERR),
{stop, normal, StateData}