diff -r dee30d35e5e7 -r 30ba44276e74 libpurple/protocols/jabber/disco.c
--- a/libpurple/protocols/jabber/disco.c Mon Jun 12 01:00:04 2017 +0000
+++ b/libpurple/protocols/jabber/disco.c Mon Jun 12 17:48:37 2017 -0300
@@ -65,14 +65,14 @@
PurpleXmlNode *query = purple_xmlnode_get_child_with_namespace(packet, "query",
NS_BYTESTREAMS);
- if (from && !strcmp(from, sh->jid) && query != NULL) {
+ if (from && purple_strequal(from, sh->jid) && query != NULL) {
PurpleXmlNode *sh_node = purple_xmlnode_get_child(query, "streamhost");
if (sh_node) {
const char *jid = purple_xmlnode_get_attrib(sh_node, "jid");
const char *port = purple_xmlnode_get_attrib(sh_node, "port");
- if (jid == NULL || strcmp(jid, from) != 0)
+ if (jid == NULL || !purple_strequal(jid, from))
purple_debug_error("jabber", "Invalid jid(%s) for bytestream.\n",
jid ? jid : "(null)");
@@ -123,7 +123,7 @@
if(node)
purple_xmlnode_set_attrib(query, "node", node);
- if(!node || g_str_equal(node, node_uri)) {
+ if(!node || purple_strequal(node, node_uri)) {
GList *features, *identities;
for(identities = jabber_identities; identities; identities = identities->next) {
JabberIdentity *ident = (JabberIdentity*)identities->data;
@@ -143,7 +143,7 @@
}
}
#ifdef USE_VV
- } else if (g_str_equal(node, CAPS0115_NODE "#" "voice-v1")) {
+ } else if (purple_strequal(node, CAPS0115_NODE "#" "voice-v1")) {
/*
* HUGE HACK! We advertise this ext (see jabber_presence_create_js
* where we add to the ) for the Google Talk
@@ -155,7 +155,7 @@
*/
PurpleXmlNode *feature = purple_xmlnode_new_child(query, "feature");
purple_xmlnode_set_attrib(feature, "var", NS_GOOGLE_VOICE);
- } else if (g_str_equal(node, CAPS0115_NODE "#" "video-v1")) {
+ } else if (purple_strequal(node, CAPS0115_NODE "#" "video-v1")) {
/*
* HUGE HACK! We advertise this ext (see jabber_presence_create_js
* where we add to the ) for the Google Talk
@@ -167,7 +167,7 @@
*/
PurpleXmlNode *feature = purple_xmlnode_new_child(query, "feature");
purple_xmlnode_set_attrib(feature, "var", NS_GOOGLE_VIDEO);
- } else if (g_str_equal(node, CAPS0115_NODE "#" "camera-v1")) {
+ } else if (purple_strequal(node, CAPS0115_NODE "#" "camera-v1")) {
/*
* HUGE HACK! We advertise this ext (see jabber_presence_create_js
* where we add to the ) for the Google Talk
@@ -245,20 +245,20 @@
if(child->type != PURPLE_XMLNODE_TYPE_TAG)
continue;
- if(!strcmp(child->name, "identity")) {
+ if(purple_strequal(child->name, "identity")) {
const char *category = purple_xmlnode_get_attrib(child, "category");
const char *type = purple_xmlnode_get_attrib(child, "type");
if(!category || !type)
continue;
- if(!strcmp(category, "conference") && !strcmp(type, "text")) {
+ if(purple_strequal(category, "conference") && purple_strequal(type, "text")) {
/* we found a groupchat or MUC server, add it to the list */
/* XXX: actually check for protocol/muc or gc-1.0 support */
js->chat_servers = g_list_prepend(js->chat_servers, g_strdup(from));
- } else if(!strcmp(category, "directory") && !strcmp(type, "user")) {
+ } else if(purple_strequal(category, "directory") && purple_strequal(type, "user")) {
/* we found a JUD */
js->user_directories = g_list_prepend(js->user_directories, g_strdup(from));
- } else if(!strcmp(category, "proxy") && !strcmp(type, "bytestreams")) {
+ } else if(purple_strequal(category, "proxy") && purple_strequal(type, "bytestreams")) {
/* This is a bytestream proxy */
JabberIq *iq;
JabberBytestreamsStreamhost *sh;
@@ -276,29 +276,29 @@
jabber_iq_send(iq);
}
- } else if(!strcmp(child->name, "feature")) {
+ } else if(purple_strequal(child->name, "feature")) {
const char *var = purple_xmlnode_get_attrib(child, "var");
if(!var)
continue;
- if(!strcmp(var, "http://jabber.org/protocol/si"))
+ if(purple_strequal(var, "http://jabber.org/protocol/si"))
capabilities |= JABBER_CAP_SI;
- else if(!strcmp(var, "http://jabber.org/protocol/si/profile/file-transfer"))
+ else if(purple_strequal(var, "http://jabber.org/protocol/si/profile/file-transfer"))
capabilities |= JABBER_CAP_SI_FILE_XFER;
- else if(!strcmp(var, NS_BYTESTREAMS))
+ else if(purple_strequal(var, NS_BYTESTREAMS))
capabilities |= JABBER_CAP_BYTESTREAMS;
- else if(!strcmp(var, "jabber:iq:search"))
+ else if(purple_strequal(var, "jabber:iq:search"))
capabilities |= JABBER_CAP_IQ_SEARCH;
- else if(!strcmp(var, "jabber:iq:register"))
+ else if(purple_strequal(var, "jabber:iq:register"))
capabilities |= JABBER_CAP_IQ_REGISTER;
- else if(!strcmp(var, NS_PING))
+ else if(purple_strequal(var, NS_PING))
capabilities |= JABBER_CAP_PING;
- else if(!strcmp(var, NS_DISCO_ITEMS))
+ else if(purple_strequal(var, NS_DISCO_ITEMS))
capabilities |= JABBER_CAP_ITEMS;
- else if(!strcmp(var, "http://jabber.org/protocol/commands")) {
+ else if(purple_strequal(var, "http://jabber.org/protocol/commands")) {
capabilities |= JABBER_CAP_ADHOC;
}
- else if(!strcmp(var, NS_IBB)) {
+ else if(purple_strequal(var, NS_IBB)) {
purple_debug_info("jabber", "remote supports IBB\n");
capabilities |= JABBER_CAP_IBB;
}
@@ -463,7 +463,7 @@
{
PurpleXmlNode *query, *child;
- if (!from || strcmp(from, js->user->domain)) {
+ if (!from || !purple_strequal(from, js->user->domain)) {
jabber_disco_finish_server_info_result_cb(js);
return;
}
@@ -486,7 +486,7 @@
const char *category, *type, *name;
category = purple_xmlnode_get_attrib(child, "category");
type = purple_xmlnode_get_attrib(child, "type");
- if(category && type && !strcmp(category, "pubsub") && !strcmp(type,"pep")) {
+ if(purple_strequal(category, "pubsub") && purple_strequal(type, "pep")) {
PurpleConnection *gc = js->gc;
js->pep = TRUE;
purple_connection_set_flags(gc,
@@ -494,9 +494,9 @@
| PURPLE_CONNECTION_FLAG_SUPPORT_MOODS
| PURPLE_CONNECTION_FLAG_SUPPORT_MOOD_MESSAGES);
}
- if (!category || strcmp(category, "server"))
+ if (!purple_strequal(category, "server"))
continue;
- if (!type || strcmp(type, "im"))
+ if (!purple_strequal(type, "im"))
continue;
name = purple_xmlnode_get_attrib(child, "name");
@@ -505,17 +505,16 @@
g_free(js->server_name);
js->server_name = g_strdup(name);
- if (!strcmp(name, "Google Talk")) {
+ stun_ip = purple_network_get_stun_ip();
+ if (purple_strequal(name, "Google Talk")) {
purple_debug_info("jabber", "Google Talk!\n");
js->googletalk = TRUE;
/* autodiscover stun and relays */
- if (purple_network_get_stun_ip() == NULL ||
- purple_strequal(purple_network_get_stun_ip(), "")) {
+ if (!stun_ip || !*stun_ip) {
jabber_google_send_jingle_info(js);
}
- } else if (purple_network_get_stun_ip() == NULL ||
- purple_strequal(purple_network_get_stun_ip(), "")) {
+ } else if (!stun_ip || !*stun_ip) {
GResolver *resolver = g_resolver_get_default();
g_resolver_lookup_service_async(resolver,
@@ -537,14 +536,14 @@
if (!var)
continue;
- if (!strcmp(NS_GOOGLE_MAIL_NOTIFY, var)) {
+ if (purple_strequal(NS_GOOGLE_MAIL_NOTIFY, var)) {
js->server_caps |= JABBER_CAP_GMAIL_NOTIFY;
jabber_gmail_init(js);
- } else if (!strcmp(NS_GOOGLE_ROSTER, var)) {
+ } else if (purple_strequal(NS_GOOGLE_ROSTER, var)) {
js->server_caps |= JABBER_CAP_GOOGLE_ROSTER;
- } else if (!strcmp("http://jabber.org/protocol/commands", var)) {
+ } else if (purple_strequal("http://jabber.org/protocol/commands", var)) {
js->server_caps |= JABBER_CAP_ADHOC;
- } else if (!strcmp(NS_SIMPLE_BLOCKING, var)) {
+ } else if (purple_strequal(NS_SIMPLE_BLOCKING, var)) {
js->server_caps |= JABBER_CAP_BLOCKING;
}
}
@@ -559,7 +558,7 @@
{
PurpleXmlNode *query, *child;
- if (!from || strcmp(from, js->user->domain) != 0)
+ if (!from || !purple_strequal(from, js->user->domain))
return;
if (type == JABBER_IQ_ERROR)