mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-28 16:34:13 +01:00
* src/mod_roster.erl: Added workaround for legacy gateways
(passing of "subscribed" presence) * src/ejabberd_sm.erl: Minor fix in subscription processing SVN Revision: 187
This commit is contained in:
parent
b3b09bcfd8
commit
6706bdc696
@ -1,3 +1,10 @@
|
|||||||
|
2003-12-21 Alexey Shchepin <alexey@sevcom.net>
|
||||||
|
|
||||||
|
* src/mod_roster.erl: Added workaround for legacy gateways
|
||||||
|
(passing of "subscribed" presence)
|
||||||
|
|
||||||
|
* src/ejabberd_sm.erl: Minor fix in subscription processing
|
||||||
|
|
||||||
2003-12-17 Alexey Shchepin <alexey@sevcom.net>
|
2003-12-17 Alexey Shchepin <alexey@sevcom.net>
|
||||||
|
|
||||||
* src/jlib.hrl: Added declaration of "iq" record
|
* src/jlib.hrl: Added declaration of "iq" record
|
||||||
|
@ -150,27 +150,26 @@ do_route(From, To, Packet) ->
|
|||||||
"" ->
|
"" ->
|
||||||
case Name of
|
case Name of
|
||||||
"presence" ->
|
"presence" ->
|
||||||
FromU = jlib:jid_replace_resource(From, ""),
|
|
||||||
{Pass, Subsc} =
|
{Pass, Subsc} =
|
||||||
case xml:get_attr_s("type", Attrs) of
|
case xml:get_attr_s("type", Attrs) of
|
||||||
"subscribe" ->
|
"subscribe" ->
|
||||||
{mod_roster:in_subscription(User,
|
{mod_roster:in_subscription(User,
|
||||||
FromU,
|
From,
|
||||||
subscribe),
|
subscribe),
|
||||||
true};
|
true};
|
||||||
"subscribed" ->
|
"subscribed" ->
|
||||||
{mod_roster:in_subscription(User,
|
{mod_roster:in_subscription(User,
|
||||||
FromU,
|
From,
|
||||||
subscribed),
|
subscribed),
|
||||||
true};
|
true};
|
||||||
"unsubscribe" ->
|
"unsubscribe" ->
|
||||||
{mod_roster:in_subscription(User,
|
{mod_roster:in_subscription(User,
|
||||||
FromU,
|
From,
|
||||||
unsubscribe),
|
unsubscribe),
|
||||||
true};
|
true};
|
||||||
"unsubscribed" ->
|
"unsubscribed" ->
|
||||||
{mod_roster:in_subscription(User,
|
{mod_roster:in_subscription(User,
|
||||||
FromU,
|
From,
|
||||||
unsubscribed),
|
unsubscribed),
|
||||||
true};
|
true};
|
||||||
_ ->
|
_ ->
|
||||||
|
@ -397,7 +397,8 @@ process_subscription(Direction, User, JID1, Type) ->
|
|||||||
%% NewState = none | {NewSubscription, NewPending}
|
%% NewState = none | {NewSubscription, NewPending}
|
||||||
|
|
||||||
in_state_change(none, none, subscribe) -> {none, in};
|
in_state_change(none, none, subscribe) -> {none, in};
|
||||||
in_state_change(none, none, subscribed) -> none;
|
in_state_change(none, none, subscribed) -> {to, none}; % Workaround for gateways
|
||||||
|
%in_state_change(none, none, subscribed) -> none;
|
||||||
in_state_change(none, none, unsubscribe) -> none;
|
in_state_change(none, none, unsubscribe) -> none;
|
||||||
in_state_change(none, none, unsubscribed) -> none;
|
in_state_change(none, none, unsubscribed) -> none;
|
||||||
in_state_change(none, out, subscribe) -> {none, both};
|
in_state_change(none, out, subscribe) -> {none, both};
|
||||||
@ -405,7 +406,8 @@ in_state_change(none, out, subscribed) -> {to, none};
|
|||||||
in_state_change(none, out, unsubscribe) -> none;
|
in_state_change(none, out, unsubscribe) -> none;
|
||||||
in_state_change(none, out, unsubscribed) -> {none, none};
|
in_state_change(none, out, unsubscribed) -> {none, none};
|
||||||
in_state_change(none, in, subscribe) -> none;
|
in_state_change(none, in, subscribe) -> none;
|
||||||
in_state_change(none, in, subscribed) -> none;
|
in_state_change(none, in, subscribed) -> {to, in}; % Workaround for gateways
|
||||||
|
%in_state_change(none, in, subscribed) -> none;
|
||||||
in_state_change(none, in, unsubscribe) -> {none, none};
|
in_state_change(none, in, unsubscribe) -> {none, none};
|
||||||
in_state_change(none, in, unsubscribed) -> none;
|
in_state_change(none, in, unsubscribed) -> none;
|
||||||
in_state_change(none, both, subscribe) -> none;
|
in_state_change(none, both, subscribe) -> none;
|
||||||
|
Loading…
Reference in New Issue
Block a user