Mercurial > pidgin
diff src/protocols/jabber/auth.c @ 7395:b250288fa948
[gaim-migrate @ 7990]
this would be the non-working start of file transfer (the real way) for jabber
also approximately eleventy billion jabber tweaks
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Fri, 31 Oct 2003 02:43:58 +0000 |
parents | 632cee95cc5c |
children | 85cd2e71bff7 |
line wrap: on
line diff
--- a/src/protocols/jabber/auth.c Fri Oct 31 01:38:46 2003 +0000 +++ b/src/protocols/jabber/auth.c Fri Oct 31 02:43:58 2003 +0000 @@ -91,7 +91,7 @@ xmlnode_free(auth); } -static void auth_old_result_cb(JabberStream *js, xmlnode *packet) +static void auth_old_result_cb(JabberStream *js, xmlnode *packet, gpointer data) { const char *type = xmlnode_get_attrib(packet, "type"); @@ -122,7 +122,7 @@ jabber_stream_set_state(js, JABBER_STREAM_CONNECTED); } -static void auth_old_cb(JabberStream *js, xmlnode *packet) +static void auth_old_cb(JabberStream *js, xmlnode *packet, gpointer data) { JabberIq *iq; xmlnode *query, *x; @@ -163,7 +163,7 @@ xmlnode_insert_data(x, pw, -1); } - jabber_iq_set_callback(iq, auth_old_result_cb); + jabber_iq_set_callback(iq, auth_old_result_cb, NULL); jabber_iq_send(iq); } @@ -179,7 +179,7 @@ username = xmlnode_new_child(query, "username"); xmlnode_insert_data(username, js->user->node, -1); - jabber_iq_set_callback(iq, auth_old_cb); + jabber_iq_set_callback(iq, auth_old_cb, NULL); jabber_iq_send(iq); } @@ -225,8 +225,8 @@ y = g_strndup(result, 16); - a1 = g_strdup_printf("%s:%s:%s:%s@%s/%s", y, nonce, cnonce, jid->node, - jid->domain, jid->resource); + a1 = g_strdup_printf("%s:%s:%s:%s@%s", y, nonce, cnonce, jid->node, + jid->domain); md5_init(&ctx); md5_append(&ctx, a1, strlen(a1)); @@ -270,7 +270,14 @@ char *enc_out; GHashTable *parts; + if(!enc_in) { + gaim_connection_error(js->gc, _("Invalid response from server")); + return; + } + gaim_base64_decode(enc_in, &dec_in, NULL); + gaim_debug(GAIM_DEBUG_MISC, "jabber", "decoded challenge (%d): %s\n", + strlen(dec_in), dec_in); parts = parse_challenge(dec_in); @@ -331,8 +338,8 @@ g_string_append_printf(response, ",digest-uri=\"xmpp/%s\"", realm); g_string_append_printf(response, ",response=%s", auth_resp); g_string_append_printf(response, ",charset=utf-8"); - g_string_append_printf(response, ",authzid=\"%s@%s/%s\"", - js->user->node, js->user->domain, js->user->resource); + g_string_append_printf(response, ",authzid=\"%s@%s\"", + js->user->node, js->user->domain); g_free(auth_resp); g_free(cnonce);