mcabber/src/jabglue.c
changeset 1045 96be69d3a5fd
parent 1044 52cfe9bf9840
child 1046 a3748bd3d010
equal deleted inserted replaced
1044:52cfe9bf9840 1045:96be69d3a5fd
  1438   GSList *sl_buddy;
  1438   GSList *sl_buddy;
  1439   struct pgp_data *res_pgpdata;
  1439   struct pgp_data *res_pgpdata;
  1440   gpgme_sigsum_t sigsum;
  1440   gpgme_sigsum_t sigsum;
  1441 
  1441 
  1442   // All parameters must be valid
  1442   // All parameters must be valid
  1443   if (!(xmldata && barejid && rname && text && *text))
  1443   if (!(xmldata && barejid && rname && text))
  1444     return;
  1444     return;
  1445 
  1445 
  1446   if (!gpg_enabled())
  1446   if (!gpg_enabled())
  1447     return;
  1447     return;
  1448 
  1448 
  2048     m = roster_getstatusmsg(r, rname);
  2048     m = roster_getstatusmsg(r, rname);
  2049     if ((ust != roster_getstatus(r, rname)) ||
  2049     if ((ust != roster_getstatus(r, rname)) ||
  2050         (!ustmsg && m && m[0]) || (ustmsg && (!m || strcmp(ustmsg, m))))
  2050         (!ustmsg && m && m[0]) || (ustmsg && (!m || strcmp(ustmsg, m))))
  2051       hk_statuschange(r, rname, bpprio, timestamp, ust, ustmsg);
  2051       hk_statuschange(r, rname, bpprio, timestamp, ust, ustmsg);
  2052     // Presence signature processing
  2052     // Presence signature processing
       
  2053     if (!ustmsg)
       
  2054       ustmsg = ""; // Some clients omit the <status/> element :-(
  2053     check_signature(r, rname, xml_get_xmlns(xmldata, NS_SIGNED), ustmsg);
  2055     check_signature(r, rname, xml_get_xmlns(xmldata, NS_SIGNED), ustmsg);
  2054   }
  2056   }
  2055 
  2057 
  2056   g_free(r);
  2058   g_free(r);
  2057 }
  2059 }