]> granicus.if.org Git - ejabberd/log
ejabberd
7 years agoLock relx version as newer version does not compile fine 16.06-elixir
Mickael Remond [Tue, 19 Jul 2016 10:28:07 +0000 (12:28 +0200)]
Lock relx version as newer version does not compile fine

7 years agoPrepare hex.pm 16.6.2
Mickael Remond [Fri, 8 Jul 2016 16:32:46 +0000 (18:32 +0200)]
Prepare hex.pm 16.6.2

7 years agoUpdate stringprep and iconv
Mickael Remond [Fri, 8 Jul 2016 16:28:51 +0000 (18:28 +0200)]
Update stringprep and iconv

7 years agoUpdate mix version for hex.pm release 16.06.1
Mickael Remond [Fri, 8 Jul 2016 09:54:38 +0000 (11:54 +0200)]
Update mix version for hex.pm release

7 years agoUpdate Elixir dependencies
Mickael Remond [Fri, 8 Jul 2016 09:52:45 +0000 (11:52 +0200)]
Update Elixir dependencies

7 years agoUpdate dependencies
Mickael Remond [Fri, 8 Jul 2016 09:40:28 +0000 (11:40 +0200)]
Update dependencies

7 years agoAllow generation of oauth tokens from command line 16.06
Pablo Polvorin [Wed, 29 Jun 2016 03:22:28 +0000 (00:22 -0300)]
Allow generation of oauth tokens from command line

Oauth tokens can be generated for commands (scopes) having admin|user|open
policy. Restricted commands are not available as those are only usable
from ejabberdctl command line.

Four new commands are available:

$ejabberdctl oauth_issue_token "stats;get_roster"
    Generates a token authorized to call both stats and get_roster
    commands.  Note scopes must be separated by semicolon.

$ejabberdctl oauth_list_tokens
    List tokens generated from the command line, with their scope
    and expirity time.

$ejabberdctl oauth_list_scopes
    List scopes available

$ejabberdctl oauth_revoke_token "Lbs7qdJfdKXOWzVrArgyckY055tE1xnt"
    Revokes the given token

7 years agoInclude correct version in stream:stream when reporting errors
Paweł Chmielowski [Mon, 27 Jun 2016 14:40:57 +0000 (16:40 +0200)]
Include correct version in stream:stream when reporting errors

This fixes issue #1174

7 years agoInline muc access rules
Paweł Chmielowski [Fri, 24 Jun 2016 13:12:58 +0000 (15:12 +0200)]
Inline muc access rules

7 years agoacl: ACLName rule should match if any part of ACLName matches
Paweł Chmielowski [Fri, 24 Jun 2016 13:09:51 +0000 (15:09 +0200)]
acl: ACLName rule should match if any part of ACLName matches

7 years agoUpdate dependencies for 16.06x
Christophe Romain [Fri, 24 Jun 2016 09:12:18 +0000 (11:12 +0200)]
Update dependencies for 16.06x

7 years agoFix typo from d8bb5d9c
Christophe Romain [Thu, 23 Jun 2016 15:31:32 +0000 (17:31 +0200)]
Fix typo from d8bb5d9c

7 years agoPrepare hex.pm release
Christophe Romain [Thu, 23 Jun 2016 13:23:28 +0000 (15:23 +0200)]
Prepare hex.pm release

7 years agomod_pubsub: Fix matching of set_node/1 result
Holger Weiss [Thu, 23 Jun 2016 12:23:24 +0000 (14:23 +0200)]
mod_pubsub: Fix matching of set_node/1 result

nodetree_tree_sql:set_node/1 returns {result, NodeIdx} on success, not
{ok, NodeIdx}.  Thanks to Christophe Romain for spotting this.

7 years agoWhen convertion of xmlrpc argument to type fails, report it as error
Paweł Chmielowski [Thu, 16 Jun 2016 08:24:50 +0000 (10:24 +0200)]
When convertion of xmlrpc argument to type fails, report it as error

7 years agoxref was broken when Elixir wasn't enabled
Jerome Sautret [Fri, 13 May 2016 13:12:28 +0000 (15:12 +0200)]
xref was broken when Elixir wasn't enabled

7 years agoCompile gen_mod early to help with undefined behaviour warnings
Paweł Chmielowski [Thu, 5 May 2016 14:37:25 +0000 (16:37 +0200)]
Compile gen_mod early to help with undefined behaviour warnings

7 years agoMerge pull request #1165 from weiss/default-blocking-list
Evgeny Khramtsov [Thu, 23 Jun 2016 06:44:47 +0000 (10:44 +0400)]
Merge pull request #1165 from weiss/default-blocking-list

mod_blocking_sql: Handle default list corner case

7 years agomod_blocking_sql: Handle default list corner case
Holger Weiss [Wed, 22 Jun 2016 20:36:27 +0000 (22:36 +0200)]
mod_blocking_sql: Handle default list corner case

Handle the situation where a list of the name "Blocked contacts" was
created by an XEP-0016 client, but no default list exists.

7 years agoAdd some tests for {shaper,access}_rules_validator
Paweł Chmielowski [Wed, 22 Jun 2016 14:52:37 +0000 (16:52 +0200)]
Add some tests for {shaper,access}_rules_validator

7 years agoMerge pull request #1120 from anagromataf/feature/archive-id-in-message-carbons
Christophe Romain [Wed, 22 Jun 2016 13:47:27 +0000 (15:47 +0200)]
Merge pull request #1120 from anagromataf/feature/archive-id-in-message-carbons

Send unique stanza id and archived tag also in the message carbons

7 years agoRestore get_items conditions when not using RSM (#1147)
Christophe Romain [Wed, 22 Jun 2016 11:12:40 +0000 (13:12 +0200)]
Restore get_items conditions when not using RSM (#1147)

7 years agoSet HTTP/1.0 so github accepts the request (#1157)
Badlop [Wed, 22 Jun 2016 10:42:57 +0000 (12:42 +0200)]
Set HTTP/1.0 so github accepts the request (#1157)

7 years agoFix PubSub RSM on get_items (#1147)
Christophe Romain [Wed, 22 Jun 2016 10:25:41 +0000 (12:25 +0200)]
Fix PubSub RSM on get_items (#1147)

7 years agoUpdate supported xep version
Christophe Romain [Wed, 22 Jun 2016 09:24:01 +0000 (11:24 +0200)]
Update supported xep version

7 years agoFix pgsql compatibility on delete_old_messages (#1137)
Christophe Romain [Wed, 22 Jun 2016 09:21:11 +0000 (11:21 +0200)]
Fix pgsql compatibility on delete_old_messages (#1137)

7 years agoXEP-0198: Apply cosmetic changes
Holger Weiss [Tue, 21 Jun 2016 21:17:17 +0000 (23:17 +0200)]
XEP-0198: Apply cosmetic changes

7 years agoXEP-0198: Also count stanzas when socket is closed
Holger Weiss [Tue, 21 Jun 2016 20:54:41 +0000 (22:54 +0200)]
XEP-0198: Also count stanzas when socket is closed

Don't forget to count stanzas received from the stream management client
that are processed right after the connection was lost.

7 years agoUse {access,shaper}_rules_validator in other places where access rules are used
Paweł Chmielowski [Tue, 21 Jun 2016 11:18:24 +0000 (13:18 +0200)]
Use {access,shaper}_rules_validator in other places where access rules are used

7 years agoUse new access_rules_validator in couple places
Paweł Chmielowski [Tue, 21 Jun 2016 10:28:53 +0000 (12:28 +0200)]
Use new access_rules_validator in couple places

7 years agoAdd acl:{access,shaper}_rules_validator for use in {mod_}opt_type()
Paweł Chmielowski [Tue, 21 Jun 2016 10:26:31 +0000 (12:26 +0200)]
Add acl:{access,shaper}_rules_validator for use in {mod_}opt_type()

7 years agoAllow {mod_}opt_type to transform values passed to it, and for better error reporting
Paweł Chmielowski [Tue, 21 Jun 2016 10:25:29 +0000 (12:25 +0200)]
Allow {mod_}opt_type to transform values passed to it, and for better error reporting

7 years agoAvoid cleanup on bag when disc_only, switch in memory (#1161)
Christophe Romain [Tue, 21 Jun 2016 08:43:19 +0000 (10:43 +0200)]
Avoid cleanup on bag when disc_only, switch in memory (#1161)

7 years agoFix handling of queued stanzas on session timeout
Holger Weiss [Sun, 19 Jun 2016 21:32:15 +0000 (23:32 +0200)]
Fix handling of queued stanzas on session timeout

Don't fail to resend or bounce unacknowledged stanzas if the stream
management session timed out.

Closes #1160.

7 years agoGive more time to stop and kill epmd (#882)
Christophe Romain [Fri, 17 Jun 2016 15:09:45 +0000 (17:09 +0200)]
Give more time to stop and kill epmd (#882)

7 years agoUse shorter jid acl in config template
Christophe Romain [Fri, 17 Jun 2016 09:58:51 +0000 (11:58 +0200)]
Use shorter jid acl in config template

7 years agoUse new short access rules in config template
Paweł Chmielowski [Thu, 16 Jun 2016 09:13:07 +0000 (11:13 +0200)]
Use new short access rules in config template

7 years agoAdd test for more allowed access_rules
Paweł Chmielowski [Thu, 16 Jun 2016 09:12:16 +0000 (11:12 +0200)]
Add test for more allowed access_rules

7 years agoAllow using shaper defined by name like in in s2s_shaper: fast
Paweł Chmielowski [Thu, 16 Jun 2016 09:04:01 +0000 (11:04 +0200)]
Allow using shaper defined by name like in in s2s_shaper: fast

7 years agoTypo in option name
Paweł Chmielowski [Thu, 16 Jun 2016 09:00:38 +0000 (11:00 +0200)]
Typo in option name

7 years agoAdd shorter version of some common access rules definitions
Paweł Chmielowski [Wed, 15 Jun 2016 17:20:27 +0000 (19:20 +0200)]
Add shorter version of some common access rules definitions

This add conversion of

- allow
to
- allow: all

and

- allow: acl_name
to
- allow:
  - acl: acl_name

(this works also for deny, and number in shapers)

7 years agoCheck password with jid:resourceprep when registering account (#996)
Badlop [Tue, 14 Jun 2016 21:35:47 +0000 (23:35 +0200)]
Check password with jid:resourceprep when registering account (#996)

7 years agomod_mam: Fix "assume_mam_usage: if_enabled"
Holger Weiss [Tue, 14 Jun 2016 14:40:46 +0000 (16:40 +0200)]
mod_mam: Fix "assume_mam_usage: if_enabled"

7 years agoRecover ec6c58a which was reverted in 100827e (thanks to Alexey Shchepin)
Badlop [Fri, 10 Jun 2016 11:18:32 +0000 (13:18 +0200)]
Recover ec6c58a which was reverted in 100827e (thanks to Alexey Shchepin)

7 years agoPreparing hex.pm release to fix lager bug
Mickael Remond [Fri, 10 Jun 2016 09:02:45 +0000 (11:02 +0200)]
Preparing hex.pm release to fix lager bug

7 years agoForce use of lager 3.0.2 at most.
Mickael Remond [Fri, 10 Jun 2016 09:01:46 +0000 (11:01 +0200)]
Force use of lager 3.0.2 at most.

Lager 3.2.0 has a bug that prevent it to work with ejabberd.
Lager 3.2.0 bug is fixed in https://github.com/basho/lager/commit/4c87abcd4f9d70a1136fff8f573dc7adcc833e43

7 years agopush_roster must convert read strings to binaries (#1075)
Badlop [Wed, 8 Jun 2016 19:16:30 +0000 (21:16 +0200)]
push_roster must convert read strings to binaries (#1075)

7 years agoRecover fix of 907e239 lost in 9deb294 (thanks to Alexey Shchepin)
Badlop [Wed, 8 Jun 2016 17:34:05 +0000 (19:34 +0200)]
Recover fix of 907e239 lost in 9deb294 (thanks to Alexey Shchepin)

7 years agoAllow again multiple fqdn values in configuration (EJAB-1578)
Badlop [Wed, 8 Jun 2016 17:28:17 +0000 (19:28 +0200)]
Allow again multiple fqdn values in configuration (EJAB-1578)

7 years agoMerge pull request #1125 from vthriller/roster-push
badlop [Wed, 8 Jun 2016 11:57:52 +0000 (13:57 +0200)]
Merge pull request #1125 from vthriller/roster-push

mod_roster should probably respect roster item changes introduced with roster_process_item hooks upon pushing

7 years agoProduce mod_last entry on account creation (processone/ejabberd-contrib#62)
Badlop [Wed, 8 Jun 2016 11:02:02 +0000 (13:02 +0200)]
Produce mod_last entry on account creation (processone/ejabberd-contrib#62)

7 years agoWhen stopping ejabberd, stop modules after broadcasting c2s shutdown (#1144)
Badlop [Tue, 7 Jun 2016 16:41:38 +0000 (18:41 +0200)]
When stopping ejabberd, stop modules after broadcasting c2s shutdown (#1144)

7 years agoAdd tests for new acl functions
Paweł Chmielowski [Mon, 6 Jun 2016 15:12:29 +0000 (17:12 +0200)]
Add tests for new acl functions

7 years agomod_pubsub: Fix node configuration changes for SQL
Holger Weiss [Sun, 5 Jun 2016 22:18:24 +0000 (00:18 +0200)]
mod_pubsub: Fix node configuration changes for SQL

nodetree_tree_sql:set_node/1 returns {ok, NodeIdx} rather than 'ok' on
success.

7 years agoSimplify check for carbon-copied chat states
Holger Weiss [Sun, 5 Jun 2016 20:36:56 +0000 (22:36 +0200)]
Simplify check for carbon-copied chat states

Let jlib:is_standalone_chat_state/1 unwrap carbon copies rather than
leaving this to the caller.  We still export jlib:unwrap_carbon/1, as
this function might also be useful for other purposes.

7 years agomod_client_state: Fix handling of chat states
Holger Weiss [Sun, 5 Jun 2016 20:04:38 +0000 (22:04 +0200)]
mod_client_state: Fix handling of chat states

Fix the check for chat states sent from other resources of the same
user.

7 years agomod_client_state: Simplify handling of PEP stanzas
Holger Weiss [Sun, 5 Jun 2016 19:48:03 +0000 (21:48 +0200)]
mod_client_state: Simplify handling of PEP stanzas

Let mod_client_state simply queue the most recent item of a given PEP
node (from a given contact) instead of also taking the payload namespace
into account.

7 years agoFix quicktest case
Pablo Polvorin [Sun, 5 Jun 2016 19:35:14 +0000 (16:35 -0300)]
Fix quicktest case

Missing initialization, required for ets table to exists

7 years agoXEP-0352: Pass chat states of other resources
Holger Weiss [Fri, 3 Jun 2016 19:52:11 +0000 (21:52 +0200)]
XEP-0352: Pass chat states of other resources

Don't hold back (carbon copies of) chat states from other resources, as
they might be used to sync the state of conversations across clients.
E.g., if one client becomes active, another one might want to remove a
notification (immediately).

7 years agoUnwrap carbon copies when checking for chat states
Holger Weiss [Fri, 3 Jun 2016 18:28:48 +0000 (20:28 +0200)]
Unwrap carbon copies when checking for chat states

Detect standalone chat states that were carbon-copied.

7 years agoIgnore <delay/> when checking for chat states
Holger Weiss [Fri, 3 Jun 2016 17:02:26 +0000 (19:02 +0200)]
Ignore <delay/> when checking for chat states

Ignore XEP-0203 elements when checking whether a message stanza is a
standalone chat state.

7 years agoFix "unused variable" warning
Holger Weiss [Fri, 3 Jun 2016 10:58:20 +0000 (12:58 +0200)]
Fix "unused variable" warning

7 years agoFix problem in dfee843 when non-occupant admin kicks an occupant (#1135)
Badlop [Thu, 2 Jun 2016 22:08:58 +0000 (00:08 +0200)]
Fix problem in dfee843 when non-occupant admin kicks an occupant (#1135)

7 years agoFix ejabberd.ldif
Alexey Shchepin [Thu, 2 Jun 2016 15:56:27 +0000 (18:56 +0300)]
Fix ejabberd.ldif

7 years agoFix a typo
Alexey Shchepin [Thu, 2 Jun 2016 15:22:50 +0000 (18:22 +0300)]
Fix a typo

7 years agoStronger tests in the test suite, SQL updates and fixes
Alexey Shchepin [Tue, 24 May 2016 15:44:07 +0000 (18:44 +0300)]
Stronger tests in the test suite, SQL updates and fixes

7 years agoReport in SQL when scram is enabled but the stored password isn't (#1096)
Badlop [Wed, 1 Jun 2016 18:48:52 +0000 (20:48 +0200)]
Report in SQL when scram is enabled but the stored password isn't (#1096)

7 years agoIgnore offline sessions
Holger Weiss [Tue, 31 May 2016 23:01:54 +0000 (01:01 +0200)]
Ignore offline sessions

Let mod_admin_extra and mod_configure ignore offline sessions when
querying the session table.

8 years agoProcess cover information on travis only if cover support is enabled
Paweł Chmielowski [Tue, 31 May 2016 10:12:32 +0000 (12:12 +0200)]
Process cover information on travis only if cover support is enabled

8 years agoFix set_presence API
Christophe Romain [Tue, 31 May 2016 09:47:08 +0000 (11:47 +0200)]
Fix set_presence API

8 years agoDisable cover analyzys on R17 as this causes problems with elixir tests
Paweł Chmielowski [Tue, 31 May 2016 09:29:19 +0000 (11:29 +0200)]
Disable cover analyzys on R17 as this causes problems with elixir tests

8 years agoUpdate test after roster code reorganization
Paweł Chmielowski [Mon, 30 May 2016 22:09:26 +0000 (00:09 +0200)]
Update test after roster code reorganization

8 years agoUpdate test
Paweł Chmielowski [Mon, 30 May 2016 22:07:26 +0000 (00:07 +0200)]
Update test

8 years agoFix mod_http_api_test.exs
Paweł Chmielowski [Mon, 30 May 2016 21:04:29 +0000 (23:04 +0200)]
Fix mod_http_api_test.exs

8 years agoMore strict check for commands with policy user
Paweł Chmielowski [Mon, 30 May 2016 21:03:38 +0000 (23:03 +0200)]
More strict check for commands with policy user

8 years agoFix tests
Paweł Chmielowski [Mon, 30 May 2016 19:45:12 +0000 (21:45 +0200)]
Fix tests

8 years agoBetter code for setting up ejabberd app location
Paweł Chmielowski [Mon, 30 May 2016 21:05:45 +0000 (23:05 +0200)]
Better code for setting up ejabberd app location

8 years agoUpdate acl tests to new internal access rules syntax
Paweł Chmielowski [Mon, 30 May 2016 12:36:17 +0000 (14:36 +0200)]
Update acl tests to new internal access rules syntax

8 years agoMake tests run correctly even when ejabberd src in not in ejabberd-xxx dir
Paweł Chmielowski [Mon, 30 May 2016 12:35:53 +0000 (14:35 +0200)]
Make tests run correctly even when ejabberd src in not in ejabberd-xxx dir

8 years agoAllow @ inside acl user{,_glob,_regexp} to pass both user and server in single string
Paweł Chmielowski [Mon, 30 May 2016 10:30:44 +0000 (12:30 +0200)]
Allow @ inside acl user{,_glob,_regexp} to pass both user and server in single string

8 years agoConvert example config to use new syntax for access rules
Paweł Chmielowski [Thu, 26 May 2016 08:37:00 +0000 (10:37 +0200)]
Convert example config to use new syntax for access rules

8 years agoAllow passing username and ip to ejabberd_comamnds, and use it in mod_http_api
Paweł Chmielowski [Wed, 25 May 2016 11:01:07 +0000 (13:01 +0200)]
Allow passing username and ip to ejabberd_comamnds, and use it in mod_http_api

8 years agoUse acl:access_matches in c2s
Paweł Chmielowski [Wed, 25 May 2016 11:00:16 +0000 (13:00 +0200)]
Use acl:access_matches in c2s

8 years agoNew ACL infrastructure
Paweł Chmielowski [Wed, 25 May 2016 07:19:46 +0000 (09:19 +0200)]
New ACL infrastructure

8 years agoDo not call transform_terms multiple times on configs when merging them
Paweł Chmielowski [Wed, 25 May 2016 07:19:29 +0000 (09:19 +0200)]
Do not call transform_terms multiple times on configs when merging them

8 years agoCopy lite.sql to place where tests expect it in failback mode
Paweł Chmielowski [Thu, 26 May 2016 09:05:44 +0000 (11:05 +0200)]
Copy lite.sql to place where tests expect it in failback mode

8 years agoRetrieve parenthesis for easy reading, lost in old commit 9deb294
Badlop [Wed, 25 May 2016 10:44:05 +0000 (12:44 +0200)]
Retrieve parenthesis for easy reading, lost in old commit 9deb294

8 years agoMerge pull request #1131 from weiss/failed-resume-h
Evgeny Khramtsov [Wed, 25 May 2016 07:56:47 +0000 (11:56 +0400)]
Merge pull request #1131 from weiss/failed-resume-h

XEP-0198: Indicate number of handled stanzas if resumption fails

8 years agoMerge pull request #1126 from weiss/muc-send-affiliation
Evgeny Khramtsov [Wed, 25 May 2016 07:55:06 +0000 (11:55 +0400)]
Merge pull request #1126 from weiss/muc-send-affiliation

Notify on MUC affiliation changes of non-occupants

8 years agoMerge pull request #1132 from weiss/publish-options
Christophe Romain [Wed, 25 May 2016 07:49:55 +0000 (07:49 +0000)]
Merge pull request #1132 from weiss/publish-options

Add support for PubSub publishing options

8 years agoAdd support for PubSub publishing options
Holger Weiss [Wed, 1 Jul 2015 15:18:32 +0000 (17:18 +0200)]
Add support for PubSub publishing options

Add code necessary to support publishing options as described in
XEP-0060, #7.1.5.  A node plugin that expects publishing options must
add <<"publish-options">> to the features/0 list and then handle the
publishing options handed over to the publish_item/7 call.

Signed-off-by: Christian Ulrich <christian@rechenwerk.net>
8 years agoXEP-0198: Add 'h' attribute to <failed/> element
Holger Weiss [Tue, 24 May 2016 20:20:58 +0000 (22:20 +0200)]
XEP-0198: Add 'h' attribute to <failed/> element

If a resume request is rejected because the session timed out, indicate
the number of handled stanzas as per version 1.5 of XEP-0198.

8 years agomod_mam_mnesia: Clarify error message
Holger Weiss [Tue, 24 May 2016 05:58:07 +0000 (07:58 +0200)]
mod_mam_mnesia: Clarify error message

8 years agoejabberd_auth*: Fix indentation
Holger Weiss [Mon, 23 May 2016 22:40:25 +0000 (00:40 +0200)]
ejabberd_auth*: Fix indentation

8 years agomod_mam_mnesia: Don't exceed table size limit
Holger Weiss [Mon, 23 May 2016 22:25:52 +0000 (00:25 +0200)]
mod_mam_mnesia: Don't exceed table size limit

Don't write MAM messages into an Mnesia archive if the size of the table
comes close to the 2 GB limit for tables with disc-only copies.  That
way, the table is at least not corrupted when the limit is reached.

8 years agomod_mam_mnesia: Use transactions when writing
Holger Weiss [Mon, 23 May 2016 22:08:23 +0000 (00:08 +0200)]
mod_mam_mnesia: Use transactions when writing

Let mod_mam_mnesia use transactions when storing or deleting messages.

If old messages of a user are to be removed, delete the user's archive
and rewrite it from scratch, as that seems to be much faster than
removing individual records with delete_object/1.

Closes #1065.

8 years agomod_register: Only set timeout on success
Holger Weiss [Mon, 23 May 2016 21:27:42 +0000 (23:27 +0200)]
mod_register: Only set timeout on success

Don't set the registration timeout if the password was rejected for
being too weak.

8 years agoMerge remote-tracking branch 'processone/pr/1122'
Holger Weiss [Fri, 20 May 2016 07:57:07 +0000 (09:57 +0200)]
Merge remote-tracking branch 'processone/pr/1122'

* processone/pr/1122:
  mod_client_state: Add function specifications
  mod_client_state: Add "queue_pep" option
  mod_client_state: Queue chat state notifications
  Move CSI queue handling into mod_client_state

8 years agomod_muc_room: Notify on affiliation changes
Holger Weiss [Thu, 19 May 2016 23:28:16 +0000 (01:28 +0200)]
mod_muc_room: Notify on affiliation changes

Notify the current room occupants if the affiliation of a non-occupant
is changed as per example 195 of XEP-0045.  In anonymous rooms, only
moderators are notified, though.

8 years agomod_roster should probably respect roster item changes introduced with roster_process...
vthriller [Thu, 19 May 2016 10:45:22 +0000 (13:45 +0300)]
mod_roster should probably respect roster item changes introduced with roster_process_item hooks upon pushing