Mercurial > hg
changeset 1720:98d99485d276
Do not use the full JID for vcard requests (Hermitifier)
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Thu, 25 Feb 2010 21:26:15 +0100 |
parents | f3c5e1175b22 |
children | 8cfc2a386b1f |
files | mcabber/mcabber/commands.c mcabber/mcabber/xmpp.c |
diffstat | 2 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mcabber/mcabber/commands.c Thu Feb 25 21:21:43 2010 +0100 +++ b/mcabber/mcabber/commands.c Thu Feb 25 21:26:15 2010 +0100 @@ -3227,7 +3227,7 @@ static void do_request(char *arg) { char **paramlst; - char *fjid, *type; + char *fjid, *type, *tmp; enum iqreq_type numtype = iqreq_none; char *jid_utf8 = NULL; @@ -3289,10 +3289,13 @@ if (fjid) { switch (numtype) { + case iqreq_vcard: + // vCards requests are done to bare jid + tmp = strchr(fjid, JID_RESOURCE_SEPARATOR); + if (tmp) *tmp = '\0'; case iqreq_version: case iqreq_time: case iqreq_last: - case iqreq_vcard: case iqreq_ping: xmpp_request(fjid, numtype); break;
--- a/mcabber/mcabber/xmpp.c Thu Feb 25 21:21:43 2010 +0100 +++ b/mcabber/mcabber/xmpp.c Thu Feb 25 21:26:15 2010 +0100 @@ -254,8 +254,9 @@ } else return; - if (strchr(fjid, JID_RESOURCE_SEPARATOR)) { + if (strchr(fjid, JID_RESOURCE_SEPARATOR) || reqtype == iqreq_vcard) { // This is a full JID + // Or a vCard request, resource should have been stripped before xmpp_iq_request(fjid, xmlns); scr_LogPrint(LPRINT_NORMAL, "Sent %s request to <%s>", strreqtype, fjid); return;