Index: iris/xmpp-core/connector.cpp
===================================================================
--- iris/xmpp-core/connector.cpp	(revision 1060)
+++ iris/xmpp-core/connector.cpp	(working copy)
@@ -362,6 +362,17 @@
 		}
 		do_connect();
 	}
+	else if (d->proxy.type() == Proxy::Socks) {
+		if(!d->opt_host.isEmpty()) {
+			d->host = d->opt_host;
+			d->port = d->opt_port;
+		}
+		else {
+			d->host = server;
+			d->port = 5222;
+		}
+		do_connect();
+	}
 	else {
 		if(!d->opt_host.isEmpty()) {
 			d->host = d->opt_host;
@@ -572,6 +583,9 @@
 #ifdef XMPP_DEBUG
 	printf("srv_done1\n");
 #endif
+	if (d->proxy.type() == Proxy::Socks)
+	  return;
+
 	d->servers = d->srv.servers();
 	if(d->servers.isEmpty()) {
 		srvResult(false);
