mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-24 16:23:40 +01:00
* src/mod_muc/mod_muc_room.erl: Fixed room destroying
* src/ejabberd.cfg.example: Updated * src/ejabberd_sm.erl: Fixed message routing when all resources have negative priority * src/msgs/*.msg: Updated (thanks to Sergei Golovan) * src/web/ejabberd_web_admin.erl: Table titles now bold (thanks to Sergei Golovan) SVN Revision: 275
This commit is contained in:
parent
f327b06ed7
commit
134dec5dbb
14
ChangeLog
14
ChangeLog
@ -1,3 +1,17 @@
|
|||||||
|
2004-10-08 Alexey Shchepin <alexey@sevcom.net>
|
||||||
|
|
||||||
|
* src/mod_muc/mod_muc_room.erl: Fixed room destroying
|
||||||
|
|
||||||
|
* src/ejabberd.cfg.example: Updated
|
||||||
|
|
||||||
|
* src/ejabberd_sm.erl: Fixed message routing when all resources
|
||||||
|
have negative priority
|
||||||
|
|
||||||
|
* src/msgs/*.msg: Updated (thanks to Sergei Golovan)
|
||||||
|
|
||||||
|
* src/web/ejabberd_web_admin.erl: Table titles now bold (thanks to
|
||||||
|
Sergei Golovan)
|
||||||
|
|
||||||
2004-10-06 Alexey Shchepin <alexey@sevcom.net>
|
2004-10-06 Alexey Shchepin <alexey@sevcom.net>
|
||||||
|
|
||||||
* doc/guide.tex: Updated
|
* doc/guide.tex: Updated
|
||||||
|
@ -77,7 +77,7 @@ then prefix \jid{#1.} is added to main \ejabberd{} hostname.}
|
|||||||
\author{Alexey Shchepin \\
|
\author{Alexey Shchepin \\
|
||||||
\ahrefurl{mailto:alexey@sevcom.net} \\
|
\ahrefurl{mailto:alexey@sevcom.net} \\
|
||||||
\ahrefurl{xmpp:aleksey@jabber.ru}}
|
\ahrefurl{xmpp:aleksey@jabber.ru}}
|
||||||
\date{June 24, 2004}
|
\date{October 8, 2004}
|
||||||
|
|
||||||
\begin{document}
|
\begin{document}
|
||||||
\begin{titlepage}
|
\begin{titlepage}
|
||||||
|
@ -75,12 +75,16 @@
|
|||||||
% this line:
|
% this line:
|
||||||
{auth_method, internal}.
|
{auth_method, internal}.
|
||||||
|
|
||||||
% For LDAP uthentification use these lines instead of above one:
|
% For LDAP authentification use these lines instead of above one:
|
||||||
%{auth_method, ldap}.
|
%{auth_method, ldap}.
|
||||||
%{ldap_servers, ["localhost"]}. % List of LDAP servers
|
%{ldap_servers, ["localhost"]}. % List of LDAP servers
|
||||||
%{ldap_uidattr, "uid"}. % LDAP attribute that holds user ID
|
%{ldap_uidattr, "uid"}. % LDAP attribute that holds user ID
|
||||||
%{ldap_base, "dc=example,dc=com"}. % Base of LDAP directory
|
%{ldap_base, "dc=example,dc=com"}. % Base of LDAP directory
|
||||||
|
|
||||||
|
% For authentification via external script use the following:
|
||||||
|
%{auth_method, external}.
|
||||||
|
%{extauth_program, "/path/to/authentification/script"}.
|
||||||
|
|
||||||
|
|
||||||
% Host name:
|
% Host name:
|
||||||
{host, "localhost"}.
|
{host, "localhost"}.
|
||||||
|
@ -260,7 +260,19 @@ do_route(From, To, Packet) ->
|
|||||||
route_message(From, To, Packet) ->
|
route_message(From, To, Packet) ->
|
||||||
LUser = To#jid.luser,
|
LUser = To#jid.luser,
|
||||||
case catch lists:max(get_user_present_resources(LUser)) of
|
case catch lists:max(get_user_present_resources(LUser)) of
|
||||||
{'EXIT', _} ->
|
{Priority, R} when is_integer(Priority),
|
||||||
|
Priority >= 0 ->
|
||||||
|
LResource = jlib:resourceprep(R),
|
||||||
|
LUR = {LUser, LResource},
|
||||||
|
case mnesia:dirty_read({session, LUR}) of
|
||||||
|
[] ->
|
||||||
|
ok; % Race condition
|
||||||
|
[Sess] ->
|
||||||
|
Pid = Sess#session.pid,
|
||||||
|
?DEBUG("sending to process ~p~n", [Pid]),
|
||||||
|
Pid ! {route, From, To, Packet}
|
||||||
|
end;
|
||||||
|
_ ->
|
||||||
case xml:get_tag_attr_s("type", Packet) of
|
case xml:get_tag_attr_s("type", Packet) of
|
||||||
"error" ->
|
"error" ->
|
||||||
ok;
|
ok;
|
||||||
@ -274,17 +286,6 @@ route_message(From, To, Packet) ->
|
|||||||
Packet, ?ERR_SERVICE_UNAVAILABLE),
|
Packet, ?ERR_SERVICE_UNAVAILABLE),
|
||||||
ejabberd_router:route(To, From, Err)
|
ejabberd_router:route(To, From, Err)
|
||||||
end
|
end
|
||||||
end;
|
|
||||||
{_, R} ->
|
|
||||||
LResource = jlib:resourceprep(R),
|
|
||||||
LUR = {LUser, LResource},
|
|
||||||
case mnesia:dirty_read({session, LUR}) of
|
|
||||||
[] ->
|
|
||||||
ok; % Race condition
|
|
||||||
[Sess] ->
|
|
||||||
Pid = Sess#session.pid,
|
|
||||||
?DEBUG("sending to process ~p~n", [Pid]),
|
|
||||||
Pid ! {route, From, To, Packet}
|
|
||||||
end
|
end
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
@ -2126,6 +2126,12 @@ destroy_room(DEls, StateData) ->
|
|||||||
Info#user.jid,
|
Info#user.jid,
|
||||||
Packet)
|
Packet)
|
||||||
end, ?DICT:to_list(StateData#state.users)),
|
end, ?DICT:to_list(StateData#state.users)),
|
||||||
|
case (StateData#state.config)#config.persistent of
|
||||||
|
true ->
|
||||||
|
mod_muc:forget_room(StateData#state.room);
|
||||||
|
false ->
|
||||||
|
ok
|
||||||
|
end,
|
||||||
{result, [], stop}.
|
{result, [], stop}.
|
||||||
|
|
||||||
|
|
||||||
|
@ -220,7 +220,26 @@
|
|||||||
{"Options", "Opciones"}.
|
{"Options", "Opciones"}.
|
||||||
{"Update", "Actualizar"}.
|
{"Update", "Actualizar"}.
|
||||||
{"Delete", "Eliminar"}.
|
{"Delete", "Eliminar"}.
|
||||||
{"", ""}.
|
{"Add User", ""}.
|
||||||
|
{"ejabberd (c) 2002-2004 Alexey Shchepin, 2004 Process One", ""}.
|
||||||
|
{"Offline messages", ""}.
|
||||||
|
{"Last Activity", ""}.
|
||||||
|
{"Never", ""}.
|
||||||
|
{"~s offline messages queue", ""}.
|
||||||
|
{"Time", ""}.
|
||||||
|
{"From", ""}.
|
||||||
|
{"To", ""}.
|
||||||
|
{"Packet", ""}.
|
||||||
|
{"Offline messages:", ""}.
|
||||||
|
{"Roster", ""}.
|
||||||
|
{"Nickname", ""}.
|
||||||
|
{"Subscription", ""}.
|
||||||
|
{"Pending", ""}.
|
||||||
|
{"Groups", ""}.
|
||||||
|
{"Remove", ""}.
|
||||||
|
{"Add JID", ""}.
|
||||||
|
{"User ", ""}.
|
||||||
|
{"Roster of ", ""}.
|
||||||
|
|
||||||
% Local Variables:
|
% Local Variables:
|
||||||
% mode: erlang
|
% mode: erlang
|
||||||
|
@ -226,7 +226,26 @@
|
|||||||
{"Options", ""}.
|
{"Options", ""}.
|
||||||
{"Update", ""}.
|
{"Update", ""}.
|
||||||
{"Delete", ""}.
|
{"Delete", ""}.
|
||||||
{"", ""}.
|
{"Add User", ""}.
|
||||||
|
{"ejabberd (c) 2002-2004 Alexey Shchepin, 2004 Process One", ""}.
|
||||||
|
{"Offline messages", ""}.
|
||||||
|
{"Last Activity", ""}.
|
||||||
|
{"Never", ""}.
|
||||||
|
{"~s offline messages queue", ""}.
|
||||||
|
{"Time", ""}.
|
||||||
|
{"From", ""}.
|
||||||
|
{"To", ""}.
|
||||||
|
{"Packet", ""}.
|
||||||
|
{"Offline messages:", ""}.
|
||||||
|
{"Roster", ""}.
|
||||||
|
{"Nickname", ""}.
|
||||||
|
{"Subscription", ""}.
|
||||||
|
{"Pending", ""}.
|
||||||
|
{"Groups", ""}.
|
||||||
|
{"Remove", ""}.
|
||||||
|
{"Add JID", ""}.
|
||||||
|
{"User ", ""}.
|
||||||
|
{"Roster of ", ""}.
|
||||||
|
|
||||||
% Local Variables:
|
% Local Variables:
|
||||||
% mode: erlang
|
% mode: erlang
|
||||||
|
@ -248,7 +248,26 @@
|
|||||||
{"Options", "Opties"}.
|
{"Options", "Opties"}.
|
||||||
{"Update", "Bijwerken"}.
|
{"Update", "Bijwerken"}.
|
||||||
{"Delete", "Verwijderen"}.
|
{"Delete", "Verwijderen"}.
|
||||||
{"", ""}.
|
{"Add User", ""}.
|
||||||
|
{"ejabberd (c) 2002-2004 Alexey Shchepin, 2004 Process One", ""}.
|
||||||
|
{"Offline messages", ""}.
|
||||||
|
{"Last Activity", ""}.
|
||||||
|
{"Never", ""}.
|
||||||
|
{"~s offline messages queue", ""}.
|
||||||
|
{"Time", ""}.
|
||||||
|
{"From", ""}.
|
||||||
|
{"To", ""}.
|
||||||
|
{"Packet", ""}.
|
||||||
|
{"Offline messages:", ""}.
|
||||||
|
{"Roster", ""}.
|
||||||
|
{"Nickname", ""}.
|
||||||
|
{"Subscription", ""}.
|
||||||
|
{"Pending", ""}.
|
||||||
|
{"Groups", ""}.
|
||||||
|
{"Remove", ""}.
|
||||||
|
{"Add JID", ""}.
|
||||||
|
{"User ", ""}.
|
||||||
|
{"Roster of ", ""}.
|
||||||
|
|
||||||
% Local Variables:
|
% Local Variables:
|
||||||
% mode: erlang
|
% mode: erlang
|
||||||
|
@ -248,7 +248,26 @@
|
|||||||
{"Options", "Параметры"}.
|
{"Options", "Параметры"}.
|
||||||
{"Update", "Обновить"}.
|
{"Update", "Обновить"}.
|
||||||
{"Delete", "Удалить"}.
|
{"Delete", "Удалить"}.
|
||||||
{"", ""}.
|
{"Add User", "Добавить пользователя"}.
|
||||||
|
{"ejabberd (c) 2002-2004 Alexey Shchepin, 2004 Process One", "ejabberd (c) 2002-2004 Алексей Щепин, 2004 Process One"}.
|
||||||
|
{"Offline messages", "Офлайновые сообщения"}.
|
||||||
|
{"Last Activity", "Последнее подключение"}.
|
||||||
|
{"Never", "Никогда"}.
|
||||||
|
{"~s offline messages queue", "Oчередь офлайновых сообщений ~s"}.
|
||||||
|
{"Time", "Время"}.
|
||||||
|
{"From", "От кого"}.
|
||||||
|
{"To", "Кому"}.
|
||||||
|
{"Packet", "Пакет"}.
|
||||||
|
{"Offline messages:", "Офлайновые сообщения:"}.
|
||||||
|
{"Roster", "Ростер"}.
|
||||||
|
{"Nickname", "Псевдоним"}.
|
||||||
|
{"Subscription", "Подписка"}.
|
||||||
|
{"Pending", "Ожидание"}.
|
||||||
|
{"Groups", "Группы"}.
|
||||||
|
{"Remove", "Удалить"}.
|
||||||
|
{"Add JID", "Добавить JID"}.
|
||||||
|
{"User ", "Пользователь "}.
|
||||||
|
{"Roster of ", "Ростер пользователя "}.
|
||||||
|
|
||||||
% Local Variables:
|
% Local Variables:
|
||||||
% mode: erlang
|
% mode: erlang
|
||||||
|
@ -248,7 +248,26 @@
|
|||||||
{"Options", "Параметри"}.
|
{"Options", "Параметри"}.
|
||||||
{"Update", "Обновити"}.
|
{"Update", "Обновити"}.
|
||||||
{"Delete", "Видалити"}.
|
{"Delete", "Видалити"}.
|
||||||
{"", ""}.
|
{"Add User", ""}.
|
||||||
|
{"ejabberd (c) 2002-2004 Alexey Shchepin, 2004 Process One", ""}.
|
||||||
|
{"Offline messages", ""}.
|
||||||
|
{"Last Activity", ""}.
|
||||||
|
{"Never", ""}.
|
||||||
|
{"~s offline messages queue", ""}.
|
||||||
|
{"Time", ""}.
|
||||||
|
{"From", ""}.
|
||||||
|
{"To", ""}.
|
||||||
|
{"Packet", ""}.
|
||||||
|
{"Offline messages:", ""}.
|
||||||
|
{"Roster", ""}.
|
||||||
|
{"Nickname", ""}.
|
||||||
|
{"Subscription", ""}.
|
||||||
|
{"Pending", ""}.
|
||||||
|
{"Groups", ""}.
|
||||||
|
{"Remove", ""}.
|
||||||
|
{"Add JID", ""}.
|
||||||
|
{"User ", ""}.
|
||||||
|
{"Roster of ", ""}.
|
||||||
|
|
||||||
% Local Variables:
|
% Local Variables:
|
||||||
% mode: erlang
|
% mode: erlang
|
||||||
|
@ -324,6 +324,13 @@ select {
|
|||||||
padding: 0.1em;
|
padding: 0.1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
thead {
|
||||||
|
color: #000000;
|
||||||
|
background-color: #ffffff;
|
||||||
|
font-family: Verdana, Arial, Helvetica, sans-serif;
|
||||||
|
font-size: 10pt;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
tr.head {
|
tr.head {
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
@ -1226,7 +1233,7 @@ user_info(User, Query, Lang) ->
|
|||||||
QueueLen = length(mnesia:dirty_read({offline_msg, User})),
|
QueueLen = length(mnesia:dirty_read({offline_msg, User})),
|
||||||
FQueueLen = [?AC("queue/",
|
FQueueLen = [?AC("queue/",
|
||||||
integer_to_list(QueueLen))],
|
integer_to_list(QueueLen))],
|
||||||
[?XC("h1", "User: " ++ User)] ++
|
[?XC("h1", ?T("User ") ++ User)] ++
|
||||||
case Res of
|
case Res of
|
||||||
ok -> [?CT("submitted"), ?P];
|
ok -> [?CT("submitted"), ?P];
|
||||||
error -> [?CT("bad format"), ?P];
|
error -> [?CT("bad format"), ?P];
|
||||||
@ -1291,7 +1298,7 @@ user_queue(User, Query, Lang) ->
|
|||||||
?XAE("td", [{"class", "valign"}], [?XC("pre", FPacket)])]
|
?XAE("td", [{"class", "valign"}], [?XC("pre", FPacket)])]
|
||||||
)
|
)
|
||||||
end, Msgs),
|
end, Msgs),
|
||||||
[?XC("h1", User ++ " offline messages queue")] ++
|
[?XC("h1", io_lib:format(?T("~s offline messages queue"), [User]))] ++
|
||||||
case Res of
|
case Res of
|
||||||
ok -> [?CT("submitted"), ?P];
|
ok -> [?CT("submitted"), ?P];
|
||||||
error -> [?CT("bad format"), ?P];
|
error -> [?CT("bad format"), ?P];
|
||||||
@ -1367,7 +1374,7 @@ user_roster(User, Query, Lang, Admin) ->
|
|||||||
[?XE("thead",
|
[?XE("thead",
|
||||||
[?XE("tr",
|
[?XE("tr",
|
||||||
[?XCT("td", "JID"),
|
[?XCT("td", "JID"),
|
||||||
?XCT("td", "Name"),
|
?XCT("td", "Nickname"),
|
||||||
?XCT("td", "Subscription"),
|
?XCT("td", "Subscription"),
|
||||||
?XCT("td", "Pending"),
|
?XCT("td", "Pending"),
|
||||||
?XCT("td", "Groups")
|
?XCT("td", "Groups")
|
||||||
@ -1408,7 +1415,7 @@ user_roster(User, Query, Lang, Admin) ->
|
|||||||
"Remove")])])
|
"Remove")])])
|
||||||
end, SItems))])]
|
end, SItems))])]
|
||||||
end,
|
end,
|
||||||
[?XC("h1", "Roster of " ++ User)] ++
|
[?XC("h1", ?T("Roster of ") ++ User)] ++
|
||||||
case Res of
|
case Res of
|
||||||
ok -> [?CT("submitted"), ?P];
|
ok -> [?CT("submitted"), ?P];
|
||||||
error -> [?CT("bad format"), ?P];
|
error -> [?CT("bad format"), ?P];
|
||||||
|
Loading…
Reference in New Issue
Block a user