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