Package: imcom
Version: 1.33-3
Severity: normal

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

IMcom is sending legacy presence packets for online status as follows:
<presence type="available">
<show>online</show>
<status>online</status>
<priority>50</priority>
</presence>

Such behaviour causes problems for some XMPP compliant clients.  The
type attribute for the presence element and also the show element,
should both be suppressed when signaling that the sender is online and 
available (as per RFC 3921).

The attached patch should improve compliance with XMPP when sending
online presence.

- -- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.4.27
Locale: LANG=en_AU, LC_CTYPE=en_AU (charmap=ISO-8859-1)

Versions of packages imcom depends on:
ii  python                        2.3.5-1    An interactive high-level object-o

- -- no debconf information

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)

iD8DBQFCWJZzkbP49ojM5yARApuAAJ987JllJR7XekNE/SuAwBsMUf/siQCeMPwz
amNoGbCS3dFRZTVmZhxAln0=
=aLQH
-----END PGP SIGNATURE-----
--- IMCom.py.orig       2005-04-10 12:07:06.000000000 +1000
+++ IMCom.py    2005-04-10 12:46:56.000000000 +1000
@@ -618,7 +618,7 @@
 
     def sendPriority(self, priority):
         self.priority = priority
-        tosend = "<presence type='available'>"\
+        tosend = "<presence>"\
                  "<show>"+self.currentStatus+"</show>"\
                  "<priority>"+str(priority)+"</priority>"
         if(self.currentStatusReason != None or self.currentStatusReason != ""):
@@ -640,13 +640,12 @@
         self.currentStatus = "online"
         self.currentStatusReason = reason
         if(reason == None):
-            tosend = "<presence type='available'>"\
-                     "<show>online</show>"\
+            tosend = "<presence>"\
                      "<priority>"+priority+"</priority>"\
                      "</presence>"
         else:
-            tosend = "<presence type='available'>"\
-                     
"<show>online</show><status>"+self.normalize(reason)+"</status>"\
+            tosend = "<presence>"\
+                     "<status>"+self.normalize(reason)+"</status>"\
                      "<priority>"+priority+"</priority>"\
                      "</presence>"
         self.keepalive = tosend

Reply via email to