Tuesday, August 14, 2007

Annoyances: Firefox on FAT, Rhythmbox with iPods

There had been two minor annoyances that I had faced until now:

Mozilla Firefox downloading problems on FAT32 partitions

The Problem: Personally I used a FAT32 partition where I placed all my data that is to be shared, so naturally all downloads will go there. However, downloading with Firefox had been a pain to me: it tends to give me zero bytes zip file downloads as well as the behaviour of appending something extra at the back of the filename (for instance, music.mp3 will become music.mp3.bin, or that package.tar.gz will become package.tar.gz.tar).

Honestly speaking, that's extremely annoying.

But apparently I'm not alone, and the reason for that happening, according to one of the analysis being done "In a way it seems to be a permission problem... As soon as the Fat32 partition is mounted with permissions rwx on files and directories, aLocalFile is always executable. When downloading a regular file (something not a binary executable), Firefox seems to set the mode of targetFile to 600, so the expression is true and I get a aborted download and a 0 byte file."

The Fix: So in a way, this problem highlights one of the biggest mistake I had made to my current Linux setup: I set the mount parameters (/etc/fstab) for my FAT32 partition wrongly. I set the fstab entry as "umask=0007", which is blatantly wrong because that means that all files and directory are set as executable. This can prove to be a great security risk as I might accidentally execute something nasty without me knowing it.

The more correct way of setting the /etc/fstab entry is to utilize the fmask (file permission mask) and dmask (directory permission mask) parameters, which should be set to something like this "fmask=117,dmask=007", equivalent to allowing read and write (but not execute) to files and all permissions to directories. And that other users whom are not the owner or within the designated group are not able to access it.

After that is done, remount your partitions and Mozilla Firefox will now download files into FAT32 without problems. (other users reported that this is also the solution for the same problem in NTFS)

However, it'd be nice if Firefox can acknowledge and fix this minor pet peeve. Or at least throw some sort of a rejection or warning message would be better.

Rhythmbox doesn't actually "delete" files from iPod

The Problem: Having an iPod myself, the ability of synchronizing songs from Rhythmbox is definitely a convenience to myself without having to rely on iTunes. However, easy synchronization is only half of the story; deleting them from your iPod is completely different story altogether.

Now, as a user, I came to expect that I can free up some disk space by right-clicking the songs that I don't want anymore from my iPod's playlist and select the "Move to wastebasket". End of story... or is it? The actual situation wasn't completely so: Yes, the playlist entries were removed, but it doesn't free up any disk space on my iPod at all! Not to mention that my desktop Trash icon doesn't show any indication that the files had been there for me to cleared away.

Now, that means that the files were dangling somewhere in my iPod and search for these orphans are a complete pain. And it just doesn't make any sense to format my iPod completely because of that either. Double whammy! ARGH~~~!!!

The Fix: Searching online, apparently this issue has been in Rhythmbox's Bugzilla for quite some time. And worse, the maintainers can't seem to agree the behaviour of "Move to wastebasket" option... for more than one year!

Although someone has made a patch which does delete the files in iPod from Rhythmbox, if you are having some reason that patching it on your own is not an option (to me it's just because I hate to make a local portage overlay ebuild of Rhythmbox every time the software is updated), there's another workaround to it.

The workaround is that after you mounted your iPod, go to the root directory of your iPod and add the ".Trash-[username]" directory, where [username] is the username which you usually use in your Linux instance. Which now the "Move to wastebasket" option will move the files that you chose to removed there. And to free up iPod's disk space, just delete the files manually.

I know, I know, it's a two steps process. But it's better than formatting my iPod completely. And until the time that the maintainers agree that deleting files from the iPod is perfectly OK (or at least have some other intelligible solutions to the problem), that's the safest way to do it.

Probably it might be a good time for me to search/write a Rhythmbox plugin that does just that.