Jabber file transfer support in Telepathy!

As promised, telepathy-gabble[1] finally supports file transfer! I just released telepathy-gabble 0.7.25 implementing this long awaited feature.

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 2.26.0.1 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.

So, what about the futur? Jingle File Transfer is the next big beast. It will enable interoperability with the GTalk desktop client and will allow us to do crazy ICE thinsg for real NAT penetration.

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. :)

Notes

[1] our XMPP/Jabber connection manager

Commentaires

1. Le vendredi, avril 3 2009, 19:48 par knorke

And what about file transfer in ichat style link-local bonjour xmpp?

2. Le vendredi, avril 3 2009, 22:11 par jprieur

That's a great step, congratulations!

3. Le vendredi, avril 3 2009, 22:43 par Michael

Great news!

Now if only Empathy supported OTR encryption, I could finally move away from Pidgin :)

4. Le vendredi, avril 3 2009, 23:02 par Lukáš Polívka

And if you used Jingle FT spec (with SOCKS5 and IBB transports), filetransfer would always work even with Jabbim client… ;)

Anyways, congratulations, I think it was one of the most missed ‘basic’ features.

5. Le vendredi, avril 3 2009, 23:41 par Guillaume

Knorke: This is already implemented in telepathy-salut. You just have to create a Salut account in Empathy and that should just work.

Jprieur, Michael: thanks for your nice words :)

Lukas: thanks for the info, I'll keep that in mind when we'll implement jingle FT.

6. Le samedi, avril 4 2009, 03:05 par peder

Absolutely great news! I'd also like to see Empathy support OTR like many others.

Have a good time in the mountains.

7. Le samedi, avril 4 2009, 08:43 par Aigarius

IT feels weird to have the blog interface in French (I assume), content language negotion is a wonderful thing ;)

Now as far as I can see the next big missing feature is encryption support - OTR and simple GPG encryption.

8. Le samedi, avril 4 2009, 19:10 par jeff

don't you guys forget to update the PPA with the latest gabble so I can test this feature!

9. Le samedi, avril 4 2009, 23:34 par Gustavo Carneiro

Cool, but saving passwords in GnomeKeyring should have greater priority imho.

10. Le lundi, avril 6 2009, 07:09 par Anonymous

Please *don't* support the insecure OTR encryption. It has various known security and authentication problems. (At one point the OTR site had a note on it explaining one of those known problems, but that note no longer seems to exist on the OTR site.)

A GPG-based signing and encryption mechanism would rock though.

11. Le lundi, avril 6 2009, 16:54 par Guillaume

Gustavo: Empathy does save password to the gnome keyring now