I’ve just managed to create a fully working implementation of new file transfer method in GG11. That means, Pidgin is the first alternative IM with support for it. This also means, I’ve managed to fulfill the most expected promise from this year’s GSoC.
The new method is way more reliable, because it uses Gadu-Gadu servers for file transfers and is built using the HTTP protocol. Thus, there are no more issues related to externally (in)visible ports for people behind firewall or NAT. GG servers also takes care of legacy clients, so there is no need for implementing the old protocol.
Files are sent via the GG Drive service in this way (schematically): sender puts “ticket” on GG Drive – proposal for a file transfer. After the recipient’s acceptance, we can send the file to the GG server – when it’s completely transmitted, the other party can download it. All operations are made through HTTP protocol, so it should work even using proxy servers.
To be able to enjoy this new functionality, download development versions of Pidgin and libgadu from applicable repositories and compile by hand. Unfortunately, we have to wait for a final version to be released for reasons beyond my control: releasing libgadu with GG11 support and Pidgin 3.
Side note: GG file transfer support is one of the oldest tickets for Pidgin: #372.