Interesting Leopard issue

I’ve just run in to an interesting issue between a change in the firewall in Leopard and Tiger. In Leopard, after you allow an application to have incoming connections, the application is digitally signed. On subsequent runs of the application, the signature is checked. If it is the same, all is good. Otherwise, the application isn’t allowed to launch (it appears). So what is here is what has recently happened:

  1. I have been using Skype just fine on Leopard for the last couple of weeks.
  2. A day or two ago I realized the firewall is not on by default (!) in Leopard, and turned it on.
  3. Today I launched Skype. Everything went fine (this is when the digital signature was made).
  4. This evening, I launched Skype again, but it would not open. Instead, I had the following message in my console:

    [0x0-0x152152][28314] Main starting 
    [0x0-0x152152][28314] Check 1 failed. Can’t run Skype

It turns out that Skype makes a temporary file within its bundle (an application is really just a folder ending in “.app”, after all) when you run it, thus changing it’s signature (even though the file is deleted when you finish using Skype). A quick search shows that this is a known issue, and they’re working on this problem.

For now, I am solving this by re-downloading the Skype disk image and running it off of the disk image. That way, no changes are saved (including the signature), so I can still run it the next time. It means I have to re-allow Skype access to incoming connections, but you just need to keep telling yourself it’s only temporary.

So there appear to be a couple of morals to all of this:

  1. Go and make sure your firewall is turned on. It really is amazing that it’s not on by default. And no, this problem is not an excuse to leave it off.
  2. Applications should not modify themselves, even if it’s temporarily. That’s what /tmp is for, and ~/Library/Application Support.

Update 2008/01/28: I should point out this is not a problem anymore using the latest version of Skype (version right now) and Mac OS X (version 10.5.1).

Technorati Tags: , ,


Popular posts from this blog

Xcode 3 language specification changes

MacRumors Buyers Guide