diff --git a/ChangeLog b/ChangeLog index 2a4946ba1..4e5eaa2d6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2008-10-24 Badlop + * src/ejabberd_c2s.erl: Ensure unique ID in roster push (EJAB-721) + * src/mod_roster.erl: Likewise + * src/mod_roster_odbc.erl: Likewise + * src/mod_shared_roster.erl: Likewise + * src/ejabberd_lstener.erl: Fix listeners * src/ejabberd_sup.erl: Likewise * src/gen_mod.erl: Likewise diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index 54f4b640a..50699e4a6 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -1192,7 +1192,7 @@ handle_info({route, From, To, Packet}, StateName, StateData) -> NewPL -> PrivPushIQ = #iq{type = set, xmlns = ?NS_PRIVACY, - id = "push", + id = "push" ++ randoms:get_string(), sub_el = [{xmlelement, "query", [{"xmlns", ?NS_PRIVACY}], [{xmlelement, "list", diff --git a/src/mod_roster.erl b/src/mod_roster.erl index 387bd7ba3..79cfb5199 100644 --- a/src/mod_roster.erl +++ b/src/mod_roster.erl @@ -336,7 +336,7 @@ push_item(User, Server, From, Item) -> % TODO: don't push to those who didn't load roster push_item(User, Server, Resource, From, Item) -> ResIQ = #iq{type = set, xmlns = ?NS_ROSTER, - id = "push", + id = "push" ++ randoms:get_string(), sub_el = [{xmlelement, "query", [{"xmlns", ?NS_ROSTER}], [item_to_xml(Item)]}]}, diff --git a/src/mod_roster_odbc.erl b/src/mod_roster_odbc.erl index 20655700c..ca1b2e188 100644 --- a/src/mod_roster_odbc.erl +++ b/src/mod_roster_odbc.erl @@ -371,7 +371,7 @@ push_item(User, Server, From, Item) -> % TODO: don't push to those who not load roster push_item(User, Server, Resource, From, Item) -> ResIQ = #iq{type = set, xmlns = ?NS_ROSTER, - id = "push", + id = "push" ++ randoms:get_string(), sub_el = [{xmlelement, "query", [{"xmlns", ?NS_ROSTER}], [item_to_xml(Item)]}]}, diff --git a/src/mod_shared_roster.erl b/src/mod_shared_roster.erl index 90614a35b..cbce3102a 100644 --- a/src/mod_shared_roster.erl +++ b/src/mod_shared_roster.erl @@ -242,7 +242,7 @@ set_new_rosteritems(UserFrom, ServerFrom, set_item(User, Server, Resource, Item) -> ResIQ = #iq{type = set, xmlns = ?NS_ROSTER, - id = "push", + id = "push" ++ randoms:get_string(), sub_el = [{xmlelement, "query", [{"xmlns", ?NS_ROSTER}], [mod_roster:item_to_xml(Item)]}]}, @@ -548,7 +548,7 @@ push_item(User, Server, From, Item) -> Item#roster.subscription}]}), Stanza = jlib:iq_to_xml( #iq{type = set, xmlns = ?NS_ROSTER, - id = "push", + id = "push" ++ randoms:get_string(), sub_el = [{xmlelement, "query", [{"xmlns", ?NS_ROSTER}], [item_to_xml(Item)]}]}),