aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/jabber/si.c
diff options
context:
space:
mode:
authorkenobi <kenobi@rhea>2007-12-18 03:07:59 +0100
committerkenobi <kenobi@rhea>2007-12-18 03:07:59 +0100
commitdc0ba9c85539533349353713162f94077fb27be3 (patch)
tree8afa151d8e4c348443e9d1c82aea316ba8bbb5f8 /protocols/jabber/si.c
parent8076ec04b1b5699f8266fa0e2e17456974ced554 (diff)
sending via proxy
Diffstat (limited to 'protocols/jabber/si.c')
-rw-r--r--protocols/jabber/si.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/protocols/jabber/si.c b/protocols/jabber/si.c
index 0b94f81b..1d649da3 100644
--- a/protocols/jabber/si.c
+++ b/protocols/jabber/si.c
@@ -82,6 +82,7 @@ void jabber_si_transfer_request( struct im_connection *ic, file_transfer_t *ft,
{
struct jabber_transfer *tf;
struct jabber_data *jd = ic->proto_data;
+ char *server = jd->server;
imcb_log( ic, "Trying to send %s(%zd bytes) to %s", ft->file_name, ft->file_size, who );
@@ -96,8 +97,17 @@ void jabber_si_transfer_request( struct im_connection *ic, file_transfer_t *ft,
jd->filetransfers = g_slist_prepend( jd->filetransfers, tf );
+ /* query the buddy's features */
+ jabber_iq_query_features( ic, who );
+
+ /* query proxies from the server */
+ if( !jd->have_streamhosts )
+ jabber_iq_query_server( ic, server, XMLNS_DISCO_ITEMS );
+
+ /* send the request to our buddy */
jabber_si_send_request( ic, who, tf );
+ /* and start the receive logic */
imcb_file_recv_start( ft );
}