[telepathy-gabble/master] socks5_init_reply_cb: display streamhost-used in debug msg
Guillaume Desmottes
guillaume.desmottes at collabora.co.uk
Fri Apr 3 09:25:49 PDT 2009
---
src/bytestream-socks5.c | 37 ++++++++++++++++++++++++++-----------
1 files changed, 26 insertions(+), 11 deletions(-)
diff --git a/src/bytestream-socks5.c b/src/bytestream-socks5.c
index 3308065..f7ae97d 100644
--- a/src/bytestream-socks5.c
+++ b/src/bytestream-socks5.c
@@ -1156,20 +1156,35 @@ socks5_init_reply_cb (GabbleConnection *conn,
if (lm_message_get_sub_type (reply_msg) == LM_MESSAGE_SUB_TYPE_RESULT)
{
- /* yeah, stream initiated */
- DEBUG ("Socks5 stream initiated");
- g_object_set (self, "state", GABBLE_BYTESTREAM_STATE_OPEN, NULL);
- /* We can read data from the sock5 socket now */
- gibber_transport_block_receiving (priv->transport, FALSE);
- }
- else
- {
- DEBUG ("error during Socks5 initiation");
+ LmMessageNode *query, *streamhost = NULL;
- g_signal_emit_by_name (self, "connection-error");
- g_object_set (self, "state", GABBLE_BYTESTREAM_STATE_CLOSED, NULL);
+ query = lm_message_node_get_child_with_namespace (reply_msg->node,
+ "query", NS_BYTESTREAMS);
+
+ if (query != NULL)
+ streamhost = lm_message_node_get_child (query, "streamhost-used");
+
+ if (streamhost == NULL)
+ {
+ DEBUG ("no streamhost-used has been defined. Closing the bytestream");
+ }
+ else
+ {
+ /* yeah, stream initiated */
+ DEBUG ("Socks5 stream initiated using stream: %s",
+ lm_message_node_get_attribute (streamhost, "jid"));
+ g_object_set (self, "state", GABBLE_BYTESTREAM_STATE_OPEN, NULL);
+ /* We can read data from the sock5 socket now */
+ gibber_transport_block_receiving (priv->transport, FALSE);
+ return LM_HANDLER_RESULT_REMOVE_MESSAGE;
+ }
}
+ DEBUG ("error during Socks5 initiation");
+
+ g_signal_emit_by_name (self, "connection-error");
+ g_object_set (self, "state", GABBLE_BYTESTREAM_STATE_CLOSED, NULL);
+
return LM_HANDLER_RESULT_REMOVE_MESSAGE;
}
--
1.5.6.5
More information about the telepathy-commits
mailing list