Mercurial > hg
changeset 1446:49c8be874344
Add option 'ignore_self_presence'
According to rfc3921bis, the server must broadcast initial presence
to all of the user's available resources. Which means with compliant
servers the users will see their own resource.
When 'ignore_self_presence' is set, the self-presence messages are
filtered out.
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Fri, 21 Mar 2008 19:27:52 +0100 |
parents | 00503a68f431 |
children | ba706e97d6ec |
files | mcabber/mcabberrc.example mcabber/src/jabglue.c |
diffstat | 2 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/mcabberrc.example Mon Mar 17 10:51:23 2008 +0100 +++ b/mcabber/mcabberrc.example Fri Mar 21 19:27:52 2008 +0100 @@ -25,6 +25,10 @@ #set priority = 3 #set priority_away = 0 +# Set 'ignore_self_presence' to 1 if you do not want to see your own +# presence in your roster (default: 0). +set ignore_self_presence = 1 + # SSL options: # Set ssl non-zero to use SSL (this also sets the default port to 5223). # * Please note that certificate verification is NOT yet supported if
--- a/mcabber/src/jabglue.c Mon Mar 17 10:51:23 2008 +0100 +++ b/mcabber/src/jabglue.c Fri Mar 21 19:27:52 2008 +0100 @@ -2400,6 +2400,13 @@ rname = strchr(from, JID_RESOURCE_SEPARATOR); if (rname) rname++; + if (settings_opt_get_int("ignore_self_presence")) { + const char *self_fjid = jid_full(jc->user); + if (self_fjid && !strcasecmp(self_fjid, from)) { + return; // Ignoring self presence + } + } + r = jidtodisp(from); // Check for MUC presence packet