aboutsummaryrefslogtreecommitdiffstats
path: root/protocols/jabber/si.c
diff options
context:
space:
mode:
authorulim <a.sporto+bee@gmail.com>2007-12-19 01:24:32 +0100
committerulim <a.sporto+bee@gmail.com>2007-12-19 01:24:32 +0100
commit0fbd3a6d26d8fe747bd5e061748e75f397801064 (patch)
tree7a731363cfd014eb59ce65734c52cbc3d46b1b73 /protocols/jabber/si.c
parent793cc254ad2479d95d00266d6cb7ab2bcd158834 (diff)
parent2379566b07de55bd0f59503c39ba253ce2556877 (diff)
Now with sending via a proxy. The proxy is automatically discovered from your
jabber server. Also merged in revs 279..288 from upstream (e.g. PING)
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 );
}