Today, I officially released version 1.2.0 of WebStart.
This release fixes an annoying bug, introduced since Mac OS X 10.7.2.
The virtual hosts were not accessible anymore from a web browser.
It also adds support for PHP 5.4.0 (release candidate). Now, four version of PHP are available.
Next releases will include custom locations for virtual hosts, as well as a 14 days trial.
This is a Mac OS X Lion only update. Users still on Mac OS X 10.6.x will have to stick with version 1.1.
Sorry guys, but it's time to move on.
As I'm compiling the bundled software (Apache, PHP, MySQL, etc.) on Lion, some of them may not be compatible with older Mac OS releases.
So I decided not to support Snow Leopard anymore, to concentrate on the actual OS version.
I'd also like to speak about the virtual hosts bug, on Mac OS X Lion.
Previous versions of WebStart used the OpenDirectory database in order to manage hosts, instead of using the /etc/hosts file.
This is a much cleaner solution, as it uses a real database, with an official API, instead of parsing and modifying a system configuration file.
Unfortunately, since Mac OS X 10.7.2, there is a kind of bug in OpenDirectory.
The DNS resolver, apparently for performance reasons, no longer asks the OpenDirectory database for hosts.
I tried to find a workaround, with guys from Apple, but no luck.
Apple recognizes that it's a bug in the DNS resolver, but won't fix it.
Here's an answer from Apple about this:
I can replicate the problem as you described it. I spent a bunch of time investigating it yesterday.
At this point I'm somewhat confused.
I spent a bunch of time yesterday working my way through the OD daemon's code to try and figure out what's going on.
However, I think I might get a result more quickly by asking the experts, so I've sent a request to the OD daemon engineer to see if he has any insight into this problem.
Please stand by.
After talking this over with OD engineering, I have an answer for you, but probably not the one you were hoping for: this is a known issue that's unlikely to be fixed in the near future.
The change was made as part of the effort to push all DNS resolution down into the mDNSResponder daemon.
Doing this has a number of advantages (there's now just one resolver, which allows for coherent caching and so on), but it prevents the OD daemon from providing host information (because the OD daemon exists 'above' the mDNSResponder daemon, and you can't call 'up' in the stack with causing other problems, typically deadlocks).
So version 1.2.0 of WebStart uses the /etc/hosts file, as there is no other solution for this.