Adium

File transfer

Adium's file transfer is not complete and may work sometimes and not others. We are very aware of these issues and the importance of file transfer support, but unfortunately the complicated and varied nature of file transfer means that file transfer support is limited.

Adium uses the LibPurple library to implement almost all the protocols that it supports. Most problems are caused by bugs or missing features in LibPurple; as such, there's nothing we can do about them. These issues affect other applications (specifically, they affect any application based upon LibPurple), and if they were simple to solve, we can guarantee you they would already have been. We appreciate your understanding.

Which protocols support file transfer?

(Taken from the Pidgin FAQ - This information applies to Adium as well)

Does Pidgin support file transfer?
Somewhat, yeah. As of [Pidgin] 1.2.1 the following is supported:

  • Sending and receiving files on AIM (although it might be a bit buggy)
  • Sending and receiving files on Jabber
  • Sending and receiving files on MSN
  • Sending and receiving files on Yahoo (sending is limited to approximately 1 megabyte file size)

Most of the protocols themselves support file transfer, but Pidgin has not been written to support it yet. If you would like file transfer to work better or be more complete, get CVS and submit a patch using the generic file transfer API.

Improving AIM file transfer

Users behind a router may have better luck with AIM file transfer after forwarding ports 5190 - 5200 to their machine. Similarly, users with a firewall should open ports 5190 - 5200.

If you use Mac OS X's built-in firewall, you'll need to allow incoming connections to Adium in order to send files. In Mac OS X 10.5 (Leopard) and later:

  1. Choose System Preferences from the Apple () menu.
  2. Click Security.
  3. Click on the Firewall tab.
  4. If “Allow all incoming connections” is selected, the firewall is off, so you can stop right here.
  5. If “Allow only essential services” is selected, select “Set access for specific services and applications”.
  6. Click the + button.
  7. Hold down the ⌘ key, and while holding that down, drag Adium from the Dock (at the bottom of the screen) to the Open sheet.
  8. Click Add.
  9. The column on the right should read, for Adium's row, “Allow incoming connections”. If if it reads “Block incoming connections”, click on it, then change it to “Allow”.

In Mac OS X 10.4.0 through 10.4.11 (Tiger):

  1. Choose System Preferences from the Apple () menu.
  2. Click Sharing.
  3. Click on the Firewall tab.
  4. If the text at the upper-left of the corner of the firewall section reads “Firewall Off”, then you can stop right here.
  5. Click New.
  6. Change Port Name to “Other”.
  7. Type “5190-5200” into the “TCP Port Number(s)” field.
  8. Type "AIM" into the description field.
  9. Click OK.

AIM file transfer and Direct Connect are interrelated. See Direct Connection Technologies for more information on how this is accomplished.

Why does AIM file transfer work in iChat and not in Adium in certain situations?

  • When the sender is behind a firewall or router, LibPurple's AIM file transfer implementation may fail. See the previous section for more information.
  • LibPurple does not support transferring of entire folders yet; such transfers will fail.

Why is MSN file transfer so slow?

MSN file transfers in the protocol supported by libpurple go through the Microsoft server. They are therefore very reliable but also quite slow. MSN7 and other MSN clients support a direct person-to-person transfer as is used in AIM, which is not yet supported by libpurple.

The libpurple developers are working on supporting a much newer version (P14) of the MSN protocol. This will include support for direct file transfers. We don't know when this will make it into an Adium release.

Why does MSN file transfer not work with users of the official Microsoft Messenger client for Mac?

The official Microsoft Messenger client uses a protocol which is not compatible with libpurple's for file transfer. As a result, Adium is unable to transfer files to users using the official Microsoft Messenger client for Mac.

Why doesn't file transfer work over Google Talk?

Because Google Talk uses a different protocol, called Jingle, for file transfers (as well as voice calls). Here are the gritty details. The Google Talk servers disallow file transfers using the protocol that other Jabber services use. Note that although it has been promised about a year ago, Google has not yet released the specifications for this protocol, so we are unable to implement it, even if we had the time to do it.