Mercurial > pidgin
diff libpurple/protocols/jabber/jabber.c @ 25237:401f548e3544
propagate from branch 'im.pidgin.pidgin' (head df6eba32e5b6b34d7483cbfb7e9f2e4c836ac35f)
to branch 'org.darkrain42.pidgin.buddy-add' (head 6831808999a270f8c1a128c7430a73d3dc0bfae2)
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Sun, 21 Dec 2008 18:32:37 +0000 |
parents | a0b89076a163 |
children | 0700833f0c5d 7a9306bf1110 4e8748f3374f |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/jabber.c Sat Nov 29 18:46:49 2008 +0000 +++ b/libpurple/protocols/jabber/jabber.c Sun Dec 21 18:32:37 2008 +0000 @@ -153,6 +153,9 @@ if (*input == '\0') return NULL; + if (strstr(input, "__HOSTNAME__") == NULL) + return g_strdup(input); + /* Replace __HOSTNAME__ with hostname */ if (gethostname(hostname, sizeof(hostname) - 1)) { purple_debug_warning("jabber", "gethostname: %s\n", g_strerror(errno)); @@ -197,7 +200,7 @@ if (requested_resource != NULL) { resource = xmlnode_new_child(bind, "resource"); xmlnode_insert_data(resource, requested_resource, -1); - free(requested_resource); + g_free(requested_resource); } jabber_iq_set_callback(iq, jabber_bind_result_cb, NULL); @@ -1410,6 +1413,15 @@ if(js->protocol_version == JABBER_PROTO_0_9 && js->registration) { jabber_register_start(js); } else if(js->auth_type == JABBER_AUTH_IQ_AUTH) { + /* with dreamhost's xmpp server at least, you have to + specify a resource or you will get a "406: Not + Acceptable" + */ + if(!js->user->resource || *js->user->resource == '\0') { + g_free(js->user->resource); + js->user->resource = g_strdup("Home"); + } + jabber_auth_start_old(js); } break;