From d9114f8e250f55331eecc4315e4559791ff2d129 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Fri, 22 Sep 2006 21:34:38 +0000 Subject: [PATCH] Do not connect to server when new stream is sent When a new stream is sent by the client due to SASL authentication or TLS (although TLS is not dealt with right now), do not connect to the server again. The new stream is sent to the server, anyway. --- jabber.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/jabber.c b/jabber.c index 41d20a5..9efdc18 100644 --- a/jabber.c +++ b/jabber.c @@ -58,14 +58,18 @@ void jabber_connect_server (net_hook_t* hook, char* server, iks* node) { net_hook_t* server_hook; GString* buffer; - server_hook = jabber_server_hook_new (hook, server); - hook->peer = server_hook->conn; - g_message ("Trying to connect to server %s.", server); - gnet_conn_connect (hook->peer); + g_message ("Received new stream."); + if (hook->peer == NULL) + { + server_hook = jabber_server_hook_new (hook, server); + hook->peer = server_hook->conn; + g_message ("Trying to connect to server %s.", server); + gnet_conn_connect (hook->peer); + gnet_conn_read (hook->peer); + } buffer = jabber_new_start (node); gnet_conn_write (hook->peer, buffer->str, buffer->len); g_string_free (buffer, TRUE); - gnet_conn_read (hook->peer); } void jabber_send (net_hook_t* hook, iks* node) -- 2.20.1