On Fri, May 13, 2011 at 01:33:17PM +0200, Hilko Bengen wrote:
* Richard W.M. Jones:
> Unfortunately this is documented in the API and therefore can't
> be changed.
Do you mean that my patch was incomplete because I did not also change
the documentation? Or do you mean that it can't be changed at all?
It means we're really serious about full ABI and source compatibility.
That means we can't ever break programs that wrote:
if (hivex_root (h) == 0 && errno == ENOKEY) {
//... do something based on no root key
}
> A bigger problem is that some platforms lack ENOKEY (it's
not defined
> by POSIX). I think Mac OS X was one. However that's a separate
> problem for those platforms.
Apparently, ENOKEY is not defined on FreeBSD either. Debian's
kfreebsd-*[1][2] and hurd-i386[3] autobuilders refused to build because
of this. And it was mentioned on this list that Cygwin doesn't define
ENOKEY, either.
If hivex can't be used on MacOSX and Cygwin without patches, this is
going to be a pity for those users who want to use it for computer
forensics purposes.
It can be used, just some has to fix it. Luckily I've done that. See
the attached patch.
This maintains binary compatibility with existing platforms (or should
do assuming I didn't make any mistake).
Note that after applying the patch you will need to rerun the
generator by hand:
./generator/generator.ml
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://et.redhat.com/~rjones/virt-top