[Telepathy-commits] [telepathy-gabble/master] socks5: factor out compute_domain

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Tue Mar 17 09:43:03 PDT 2009


---
 src/bytestream-socks5.c |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/src/bytestream-socks5.c b/src/bytestream-socks5.c
index a486cb6..f09fc8a 100644
--- a/src/bytestream-socks5.c
+++ b/src/bytestream-socks5.c
@@ -616,6 +616,21 @@ socks5_error (GabbleBytestreamSocks5 *self)
   gabble_bytestream_socks5_close (GABBLE_BYTESTREAM_IFACE (self), NULL);
 }
 
+static gchar *
+compute_domain (const gchar *sid,
+                const gchar *initiator,
+                const gchar *target)
+{
+  gchar *unhashed_domain;
+  gchar *domain;
+
+  unhashed_domain = g_strconcat (sid, initiator, target, NULL);
+  domain = sha1_hex (unhashed_domain, strlen (unhashed_domain));
+
+  g_free (unhashed_domain);
+  return domain;
+}
+
 /* Process the received data and returns the number of bytes that have been
  * used */
 static gsize
@@ -629,7 +644,6 @@ socks5_handle_received_data (GabbleBytestreamSocks5 *self,
   guint i;
   const gchar *from;
   const gchar *to;
-  gchar *unhashed_domain;
   gchar *domain;
   LmMessage *iq_result;
 
@@ -658,8 +672,8 @@ socks5_handle_received_data (GabbleBytestreamSocks5 *self,
             priv->msg_for_acknowledge_connection->node, "from");
         to = lm_message_node_get_attribute (
             priv->msg_for_acknowledge_connection->node, "to"),
-        unhashed_domain = g_strconcat (priv->stream_id, from, to, NULL);
-        domain = sha1_hex (unhashed_domain, strlen (unhashed_domain));
+
+        domain = compute_domain (priv->stream_id, from, to);
 
         msg[0] = SOCKS5_VERSION;
         msg[1] = SOCKS5_CMD_CONNECT;
@@ -674,7 +688,6 @@ socks5_handle_received_data (GabbleBytestreamSocks5 *self,
         msg[46] = 0x00;
 
         g_free (domain);
-        g_free (unhashed_domain);
 
         write_to_transport (self, msg, SOCKS5_CONNECT_LENGTH, NULL);
 
-- 
1.5.6.5




More information about the telepathy-commits mailing list