changeset 29855:552616f49f94

jabber: Use the auth_mech_data JabberStream member for what it's for.
author Paul Aurich <paul@darkrain42.org>
date Sat, 01 May 2010 05:53:50 +0000
parents 702ea988070c
children a54e59c1c520
files libpurple/protocols/jabber/auth_digest_md5.c libpurple/protocols/jabber/jabber.c libpurple/protocols/jabber/jabber.h
diffstat 3 files changed, 13 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/jabber/auth_digest_md5.c	Sat May 01 02:36:27 2010 +0000
+++ b/libpurple/protocols/jabber/auth_digest_md5.c	Sat May 01 05:53:50 2010 +0000
@@ -188,16 +188,17 @@
 
 	if (g_hash_table_lookup(parts, "rspauth")) {
 		char *rspauth = g_hash_table_lookup(parts, "rspauth");
+		char *expected_rspauth = js->auth_mech_data;
 
-		if (rspauth && purple_strequal(rspauth, js->expected_rspauth)) {
+		if (rspauth && purple_strequal(rspauth, expected_rspauth)) {
 			reply = xmlnode_new("response");
 			xmlnode_set_namespace(reply, NS_XMPP_SASL);
 		} else {
 			*msg = g_strdup(_("Invalid challenge from server"));
 			state = JABBER_SASL_STATE_FAIL;
 		}
-		g_free(js->expected_rspauth);
-		js->expected_rspauth = NULL;
+		g_free(js->auth_mech_data);
+		js->auth_mech_data = NULL;
 	} else {
 		/* assemble a response, and send it */
 		/* see RFC 2831 */
@@ -235,7 +236,7 @@
 			g_free(a2);
 
 			a2 = g_strdup_printf(":xmpp/%s", realm);
-			js->expected_rspauth = generate_response_value(js->user,
+			js->auth_mech_data = generate_response_value(js->user,
 					purple_connection_get_password(js->gc), nonce, cnonce, a2, realm);
 			g_free(a2);
 
@@ -276,6 +277,12 @@
 	return state;
 }
 
+static void
+digest_md5_dispose(JabberStream *js)
+{
+	g_free(js->auth_mech_data);
+}
+
 static JabberSaslMech digest_md5_mech = {
 	10, /* priority */
 	"DIGEST-MD5", /* name */
@@ -283,7 +290,7 @@
 	digest_md5_handle_challenge,
 	NULL, /* handle_success */
 	NULL, /* handle_failure */
-	NULL  /* handle_dispose */
+	digest_md5_dispose,
 };
 
 JabberSaslMech *jabber_auth_get_digest_md5_mech(void)
--- a/libpurple/protocols/jabber/jabber.c	Sat May 01 02:36:27 2010 +0000
+++ b/libpurple/protocols/jabber/jabber.c	Sat May 01 05:53:50 2010 +0000
@@ -1584,7 +1584,6 @@
 	g_free(js->old_source);
 	g_free(js->old_uri);
 	g_free(js->old_track);
-	g_free(js->expected_rspauth);
 
 	if (js->vcard_timer != 0)
 		purple_timeout_remove(js->vcard_timer);
--- a/libpurple/protocols/jabber/jabber.h	Sat May 01 02:36:27 2010 +0000
+++ b/libpurple/protocols/jabber/jabber.h	Sat May 01 05:53:50 2010 +0000
@@ -112,7 +112,7 @@
 
 	JabberSaslMech *auth_mech;
 	gpointer auth_mech_data;
-	
+
 	/**
 	 * The header from the opening <stream/> tag.  This being NULL is treated
 	 * as a special condition in the parsing code (signifying the next
@@ -122,9 +122,6 @@
 	char *stream_id;
 	JabberStreamState state;
 
-	/* SASL authentication */
-	char *expected_rspauth;
-
 	GHashTable *buddies;
 
 	/*