adium 4310:2a8b83313a50: Always send the (base64 encoded) author...

commits at adium.im commits at adium.im
Sun Nov 20 17:35:08 UTC 2011


details:	http://hg.adium.im/adium/rev/2a8b83313a50
revision:	4310:2a8b83313a50
branch:		XMPPClientCerts
author:		Thijs Alkemade <thijsalkemade at gmail.com>
date:		Sun Nov 20 18:33:37 2011 +0100

Always send the (base64 encoded) authorization identity. Still not fully conformant with XEP-0178, but better than it is now.

diffs (30 lines):

diff -r 5119edb7b304 -r 2a8b83313a50 Plugins/Purple Service/ESPurpleJabberAccount.m
--- a/Plugins/Purple Service/ESPurpleJabberAccount.m	Fri Nov 18 22:59:31 2011 +0100
+++ b/Plugins/Purple Service/ESPurpleJabberAccount.m	Sun Nov 20 18:33:37 2011 +0100
@@ -53,11 +53,18 @@
 static JabberSaslState
 external_start(JabberStream *js, xmlnode *packet, xmlnode **response, char **error)
 {
+	PurpleAccount *account = purple_connection_get_account(js->gc);
+	const char *username = purple_account_get_username(account);
+	char *pos = strchr(username, '/');
+	char *encoded_username = purple_base64_encode(username, (pos ? pos - username : strlen(username)));
+
 	xmlnode *auth = xmlnode_new("auth");
 	xmlnode_set_namespace(auth, "urn:ietf:params:xml:ns:xmpp-sasl");
 	xmlnode_set_attrib(auth, "mechanism", "EXTERNAL");
 	
-	xmlnode_insert_data(auth, "=", -1);
+	xmlnode_insert_data(auth, encoded_username, -1);
+
+	g_free(encoded_username);
 		
 	*response = auth;
 		
@@ -1000,4 +1007,4 @@
 	return adhocServer;
 }
 
- at end
\ No newline at end of file
+ at end




More information about the commits mailing list