diff --git a/ChangeLog b/ChangeLog index fa93a66eb..3b457c58f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2006-05-29 Mickael Remond + + * src/mod_roster.erl: According to RFC3921 section 9.2, outbound + subscribe presence packets must be sent, even if the user has already + asked for subcription previously (subscription: none and pending: out). + The mod_roster now conforms to this behaviour. + * src/mod_roster_odbc.erl: Likewise. + 2006-05-27 Mickael Remond * src/configure.ac: Added an optional check for krb5.h in diff --git a/src/mod_roster.erl b/src/mod_roster.erl index ce5cb4e87..896b0e9f9 100644 --- a/src/mod_roster.erl +++ b/src/mod_roster.erl @@ -507,7 +507,7 @@ out_state_change(none, none, subscribe) -> {none, out}; out_state_change(none, none, subscribed) -> none; out_state_change(none, none, unsubscribe) -> none; out_state_change(none, none, unsubscribed) -> none; -out_state_change(none, out, subscribe) -> none; +out_state_change(none, out, subscribe) -> {none, out}; %% We need to resend query (RFC3921, section 9.2) out_state_change(none, out, subscribed) -> none; out_state_change(none, out, unsubscribe) -> {none, none}; out_state_change(none, out, unsubscribed) -> none; diff --git a/src/mod_roster_odbc.erl b/src/mod_roster_odbc.erl index a9f596c87..626698cc7 100644 --- a/src/mod_roster_odbc.erl +++ b/src/mod_roster_odbc.erl @@ -609,7 +609,7 @@ out_state_change(none, none, subscribe) -> {none, out}; out_state_change(none, none, subscribed) -> none; out_state_change(none, none, unsubscribe) -> none; out_state_change(none, none, unsubscribed) -> none; -out_state_change(none, out, subscribe) -> none; +out_state_change(none, out, subscribe) -> {none, out}; %% We need to resend query (RFC3921, section 9.2) out_state_change(none, out, subscribed) -> none; out_state_change(none, out, unsubscribe) -> {none, none}; out_state_change(none, out, unsubscribed) -> none;