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);