Drupal Association members fund grants that make connections all over the world.
When the file download method is set to Private, files containg a "+" in their filename cannot be downloaded.
Drupals url() function incorrectly translates a "+" in a the filename to a space, this causes the file to not be found on the file system and in turn causes file_transfer() to return a 404.
When the download method is set to public, the same file can be downloaded without any problems.
I've had a half-hearted attempt at a patch that uses rawurlencode() to encode the filename passed to the url() function, but that causes the file that is to be saved to contain a "%2B" instead of a "+" when the download method is Public.