Jabber file transfer support in Telepathy!
This is a very important step as you can now send and receive files over Internet using Telepathy (the telepathy-salut implementation being limited to inter-LAN file transfers). This is also probably the last big feature that Empathy was missing compared to its ancestor Gossip. By the way, be sure to upgrade to Empathy 18.104.22.168 before starting to send files using Gabble (see this bug if you are interested in the technical details).
File transfer is implemented using XEP-0096: SI File Transfer, XEP-0065: SOCKS5 Bytestreams and XEP-0047: In-Band Bytestreams. Most of the XMPP clients implement those XEP's so interoperability should work just fine; with the notable exception of the GTalk desktop client. We also use our simple SI extension to fallback to IBB if the SOCKS5 negotiation fails. That means that file transfer between 2 Gabble should always work! In the worst case the transfer will be really slow but at least working.
Our SOCKS5 implementation has been seriously improved too. It now supports IPv6 so p2p connections will be used if both peers are on an IPv6 network. We also implemented SOCKS5 relay, so if peers can't be connected directly (typically because they are behind a NAT), they'll try to use a proxy to relay their data. As lot of XMPP servers don't provide proxy at the moment, we hardcoded a bunch of public ones which will be used as fallback. These SOCKS5 improvements will not be used only for file transfers but also for tubes! The only exception is the relay support which has been disabled in muc stream tubes because the SOCKS5 XEP doesn't properly support muc contacts.
But for now I'm going enjoy a nice week of holidays in the moutain so if you experience any trouble please file bugs as I won't be on IRC before next week. :)
 our XMPP/Jabber connection manager