198 -- 2. roster push (subscription = none or to) |
198 -- 2. roster push (subscription = none or to) |
199 if rostermanager.unsubscribed(node, host, to_bare) then |
199 if rostermanager.unsubscribed(node, host, to_bare) then |
200 rostermanager.roster_push(node, host, to_bare); |
200 rostermanager.roster_push(node, host, to_bare); |
201 end |
201 end |
202 core_route_stanza(origin, stanza); |
202 core_route_stanza(origin, stanza); |
203 -- COMPAT: Some legacy clients keep displaying unsubscribed contacts as online unless an unavailable presence is sent: |
|
204 send_presence_of_available_resources(node, host, to_bare, origin, core_route_stanza, |
|
205 st.presence({ type="unavailable", from=from_bare, to=to_bare, id=stanza.attr.id })); |
|
206 end |
203 end |
207 stanza.attr.from, stanza.attr.to = st_from, st_to; |
204 stanza.attr.from, stanza.attr.to = st_from, st_to; |
208 end |
205 end |
209 |
206 |
210 function handle_inbound_presence_subscriptions_and_probes(origin, stanza, from_bare, to_bare, core_route_stanza) |
207 function handle_inbound_presence_subscriptions_and_probes(origin, stanza, from_bare, to_bare, core_route_stanza) |