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
path: root/src
diff options
context:
space:
mode:
authorPablo Polvorin <pablo.polvorin@process-one.net>2010-11-29 22:56:32 +0300
committerPablo Polvorin <pablo.polvorin@process-one.net>2010-11-29 22:56:32 +0300
commitc9db1f691c50a31f35fd2de079c8ee3e97da5ea7 (patch)
tree31d3543363054f56a607ed97133f20f3ccf486fa /src
parentef572c815f50f9112aca11c9f2b4af918443ab66 (diff)
parentdad3297c9c6f35810906558ef8f59d7866ebc4ae (diff)
Merge branch 'master' of git+ssh://git@gitorious.process-one.net/ejabberd/mainline
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_c2s.erl4
-rw-r--r--src/ejabberd_s2s.erl1
-rw-r--r--src/web/ejabberd_http_bind.erl30
-rw-r--r--src/web/mod_register_web.erl2
4 files changed, 25 insertions, 12 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 5067c8585..801b65ba1 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -1499,6 +1499,10 @@ change_shaper(StateData, JID) ->
StateData#state.shaper, JID),
(StateData#state.sockmod):change_shaper(StateData#state.socket, Shaper).
+send_text(StateData, Text) when StateData#state.xml_socket ->
+ ?DEBUG("Send Text on stream = ~p", [lists:flatten(Text)]),
+ (StateData#state.sockmod):send_xml(StateData#state.socket,
+ {xmlstreamraw, Text});
send_text(StateData, Text) ->
?DEBUG("Send XML on stream = ~s", [Text]),
(StateData#state.sockmod):send(StateData#state.socket, Text).
diff --git a/src/ejabberd_s2s.erl b/src/ejabberd_s2s.erl
index 8dcf2a468..1d4a3af92 100644
--- a/src/ejabberd_s2s.erl
+++ b/src/ejabberd_s2s.erl
@@ -37,6 +37,7 @@
get_connections_pids/1,
try_register/1,
remove_connection/3,
+ find_connection/2,
dirty_get_connections/0,
allow_host/2,
incoming_s2s_number/0,
diff --git a/src/web/ejabberd_http_bind.erl b/src/web/ejabberd_http_bind.erl
index ff4feea8f..b0fca56a8 100644
--- a/src/web/ejabberd_http_bind.erl
+++ b/src/web/ejabberd_http_bind.erl
@@ -992,6 +992,7 @@ prepare_response(Sess, Rid, OutputEls, StreamStart) ->
prepare_outpacket_response(Sess, _Rid, OutPacket, false) ->
case catch send_outpacket(Sess, OutPacket) of
{'EXIT', _Reason} ->
+ ?DEBUG("Error in sending packet ~p ", [_Reason]),
{200, ?HEADER,
"<body type='terminate' xmlns='"++
?NS_HTTP_BIND_s++"'/>"};
@@ -1135,20 +1136,25 @@ send_outpacket(#http_bind{pid = FsmRef}, OutPacket) ->
declared_ns = [{undefined, ?NS_XMPP_pfx}]}}) -> false;
% {xmlelement, "stream:error", _, _}}) -> false;
({xmlstreamelement, _}) -> true;
+ ({xmlstreamraw, _}) -> true;
(_) -> false
end, OutPacket),
case AllElements of
true ->
- TypedEls = [check_default_xmlns(OEl) ||
- {xmlstreamelement, OEl} <- OutPacket],
- Body = exmpp_xml:document_to_list(
- #xmlel{name = 'body',
- ns = ?NS_HTTP_BIND_s,
- children = TypedEls}),
-% {xmlelement,"body",
-% [{"xmlns",
-% ?NS_HTTP_BIND_s}],
-% TypedEls}),
+ TypedEls = lists:foldr(fun({xmlstreamelement, El}, Acc) ->
+ Acc ++
+ [exmpp_xml:document_to_list(
+ check_default_xmlns(El)
+ )];
+ ({xmlstreamraw, R}, Acc) ->
+ Acc ++ [R]
+ end,
+ [],
+ OutPacket),
+
+ Body = "<body xmlns='"++?NS_HTTP_BIND_s++"'>"
+ ++ TypedEls ++
+ "</body>",
?DEBUG(" --- outgoing data --- ~n~s~n --- END --- ~n",
[Body]),
{200, ?HEADER, Body};
@@ -1345,7 +1351,9 @@ check_default_xmlns(#xmlel{name = Name, ns = Xmlns, attrs = Attrs, children = El
"" -> #xmlel{name = Name, ns = ?NS_JABBER_CLIENT_s, attrs = Attrs, children = Els};
% "" -> {xmlelement, Name, [{"xmlns", ?NS_JABBER_CLIENT_s} | Attrs], Els};
_ -> El
- end.
+ end;
+check_default_xmlns(El) ->
+ El.
%% Check that mod_http_bind has been defined in config file.
%% Print a warning in log file if this is not the case.
diff --git a/src/web/mod_register_web.erl b/src/web/mod_register_web.erl
index c86405e78..496fe74aa 100644
--- a/src/web/mod_register_web.erl
+++ b/src/web/mod_register_web.erl
@@ -215,7 +215,7 @@ form_new_get(Host, Lang) ->
?BR,
?XE('ul', [
?XCT('li', "This is case insensitive: macbeth is the same that MacBeth and Macbeth."),
- ?XCT('li', "Characters not allowed: @ : ' \" < > &")
+ ?XC('li', ?T("Characters not allowed:") ++ " \" & ' / : < > @ ")
])
]),
?XE('li', [