Wednesday, April 12, 2006

Windows is anything but user-friendly if you're not a local administrator, or so I learned when my dad asked to be able to convert CDs to MP3s so he can listen to them on his PDA. A simple enough task, I figured I'll just configure Exact Audio Copy to "dumb mode" and leave instructions on how to use it (basically, double-click the icon; select the appropriate drive; Alt+G to get the information from freedb; select relevant songs; F5).

For some reason my dad (whose user is not a local admin so as to keep spyware and other crud off our system) couldn't access any but the generic (Daemon Tools and other emulation layers) CD drives. It took me two hours (!) to figure out that:

  1. Windows 2000 and on does not come with an ASPI layer installed
  2. Most software (including EAC) has been updated to use the native API calls instead and do not require ASPI
  3. The native calls fail for non-administrative users (!)

Installing an ASPI layer is supposed to remedy the situation; I've opted to use ForceASPI 1.8 (instead of the default Adaptec installer) but that did not have any effect. To make a (very) long story short, the way to handle this is to use Frog Rights, which finally solved the problem.

To add to my frustration, however, after screwing around with ASPI drivers for hours Nero would no longer recognize my DVD-RW; I figured I'll just intsall the latest Adaptec ASPI drivers which completely screwed up my system - Windows XP would no longer boot and the only clue a logged boot would provide is that something goes very wrong loading the fastfat.sys driver. Nothing I did over the next four hours would allow the computer to boot; oddly enough, my brother managed to boot the machine by simply removing the empty DVD-R media in the DVD burner (a major WTF). We're still not clear on the problem.

Update: Apparently Nero has its own tool for this purpose called Nero BurnRights, which works like a charm.

Wednesday, April 19, 2006 12:01:00 PM (Jerusalem Standard Time, UTC+02:00)
The CD-ripping tool might do two privileged things:
1. Send arbitrary ATAPI commands to your Cdrom device, to set it into a certain mode etc.
2. Attempt to open your Cdrom device for reading.

On the first thing, it's obvious why it won't be allowed to an unprivileged user: it's on a similar scale to allowing an unprivileged user full access to IO ports.
On the second thing, raw devices aren't usually readable to regular users as to not to allow them to circumvent file system-mandated access control. For regular ISO9660+Joliet CDs, this is irrelevant since they hold no ACLs, and perhaps NT allows READ_ACCESS to Cdrom devices: you can check it with Sysinternals WinObj tool.

Following the usual "design pattern" of protected OS, the audio-CD ripping functionality should be either:
1. Provided via a specialized "Audio CD ripping" kernel interface.
2. If sufficient kernel interfaces exist to implement the functionality in user-space (in case of CD-ripping, there are), provided by a service running under a privileged user account.

And last question: I'd expect Windows Media Player to be able to rip CDs (as well as simply digitally play them) on non-privileged accounts as well. Can it? If so, why can't Exact Audio Copy use the same interfaces?
Ilya
Name
E-mail
Home page

Comment (Some html is allowed: a@href@title, b, blockquote@cite, em, i, strike, strong, sub, super, u) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.  

Live Comment Preview