diff libpurple/protocols/jabber/jabber.c @ 22327:dc47e908965f

Use connect server as FQDN for SASL auth except when it is an IP address. References #699.
author Stu Tomlinson <stu@nosnilmot.com>
date Tue, 26 Feb 2008 13:53:22 +0000
parents 252b96b6a32c
children fb54dacfea62 969a2aeae461
line wrap: on
line diff
--- a/libpurple/protocols/jabber/jabber.c	Mon Feb 25 15:24:49 2008 +0000
+++ b/libpurple/protocols/jabber/jabber.c	Tue Feb 26 13:53:22 2008 +0000
@@ -564,9 +564,16 @@
 			jabber_login_callback_ssl, jabber_ssl_connect_failure, js->certificate_CN, js->gc);
 }
 
-static void jabber_login_connect(JabberStream *js, const char *fqdn, const char *host, int port)
+static void jabber_login_connect(JabberStream *js, const char *domain, const char *host, int port)
 {
-	js->serverFQDN = g_strdup(fqdn);
+	/* host should be used in preference to domain to
+	 * allow SASL authentication to work with FQDN of the server,
+	 * but we use domain as fallback for when users enter IP address
+	 * in connect server */
+	if (purple_ip_address_is_valid(host))
+		js->serverFQDN = g_strdup(domain);
+	else
+		js->serverFQDN = g_strdup(host);
 
 	if (purple_proxy_connect(js->gc, js->gc->account, host,
 			port, jabber_login_callback, js->gc) == NULL)