[Telepathy-commits] [telepathy-salut/master] gibber_oob_file_transfer_is_file_offer: skip leading '\n' in url

Guillaume Desmottes guillaume.desmottes at collabora.co.uk
Tue Dec 2 08:14:58 PST 2008


---
 lib/gibber/gibber-oob-file-transfer.c          |   10 ++++++++--
 tests/twisted/avahi/test-ichat-receive-file.py |    2 +-
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/lib/gibber/gibber-oob-file-transfer.c b/lib/gibber/gibber-oob-file-transfer.c
index b401224..dcb35b4 100644
--- a/lib/gibber/gibber-oob-file-transfer.c
+++ b/lib/gibber/gibber-oob-file-transfer.c
@@ -144,6 +144,7 @@ gibber_oob_file_transfer_is_file_offer (GibberXmppStanza *stanza)
   GibberStanzaSubType sub_type;
   GibberXmppNode *query;
   GibberXmppNode *url;
+  const gchar *url_content;
 
   gibber_xmpp_stanza_get_type_info (stanza, &type, &sub_type);
   if (type != GIBBER_STANZA_TYPE_IQ ||
@@ -157,11 +158,16 @@ gibber_oob_file_transfer_is_file_offer (GibberXmppStanza *stanza)
     return FALSE;
 
   url = gibber_xmpp_node_get_child (query, "url");
-  if (url == NULL || url->content == NULL || strcmp (url->content, "") == 0)
+  url_content = url->content;
+  if (url == NULL || url_content == NULL || strcmp (url_content, "") == 0)
     return FALSE;
 
+  if (url_content[0] == '\n')
+    /* iChat prefixes url with '\n' */
+    url_content++;
+
   /* We only support file transfer over HTTP */
-  if (!g_str_has_prefix (url->content, "http://"))
+  if (!g_str_has_prefix (url_content, "http://"))
     return FALSE;
 
   return TRUE;
diff --git a/tests/twisted/avahi/test-ichat-receive-file.py b/tests/twisted/avahi/test-ichat-receive-file.py
index 6c1ed06..fe5dea4 100644
--- a/tests/twisted/avahi/test-ichat-receive-file.py
+++ b/tests/twisted/avahi/test-ichat-receive-file.py
@@ -115,7 +115,7 @@ def test(q, bus, conn):
     iq['id'] = 'iChat_A1FB5D95'
     query = iq.addElement(('jabber:iq:oob', 'query'))
     url = 'http://127.0.0.1:%u/gibber-file-transfer-0/%s' % (httpd.server_port, urllib.quote(FILE_NAME))
-    url_node = query.addElement('url', content=url)
+    url_node = query.addElement('url', content="\n%s" % url)  #iChat adds a \n before the URL
     url_node['type'] = 'file'
     url_node['size'] = str(FILE_SIZE)
     url_node['mimeType'] = FILE_CONTENT_TYPE
-- 
1.5.6.5



More information about the Telepathy-commits mailing list