[Libguestfs] hivexml rewrite

Alex‎ Nelson ajnelson at cs.ucsc.edu
Wed Aug 10 04:54:36 UTC 2011


Hi Richard,

I'm very sorry for the delayed reply, I started this thread right before two back-to-back conferences.

On Jul 29, 2011, at 03:39 , Richard W.M. Jones wrote:

> On Thu, Jul 28, 2011 at 04:22:07PM -0700, Alex‎ Nelson wrote:
>> I've been working on implementing the changes to hivexml Simson
>> noted in this old thread.  Some of the changes could go into the
>> hivex project as it is now (e.g. I've corrected the time
>> calculations).
> 
> It's better to send small patches early, so we don't get any big
> surprises later on.
Fair enough; I'll start with the time calculations.  Patch incoming.  I'm interested in your response to how I moved some definitions around.
> 
>> Some are substantial revisions to the output XML
>> (not just element names), which by silent vote doesn't seem like a
>> big deal.  However, I have one major revision that is difficult to
>> implement (for me, at least) while preserving the multiple language
>> bindings.  I admire the project for having such diverse language
>> support, but I have to change some of the "visitor" function
>> prototypes and that is making development difficult.  (My changes
>> are adding a few structs to track data offsets.)
> 
> Do you mean the "hivex_visit" and "hivex_visit_node" functions?  These
> are only supported from C.  Maybe I'm missing something?
> 
> BTW we have to preserve C ABI, so be careful about how you change any
> C functions.  It should be possible to extend the hivex_visitor struct
> without changing the C ABI (this is what the 'len' argument is for).
Extending those structs may make sense.  I've taken this advice to provide an example of the output I'd like to generate.  Coming in a patch soon, once I can get it compiling.

Actually, if I can have your help with an automake issue, I would be most grateful.  We would like to upgrade this project as transparently as possible, so I have made no changes to the autoconf system (which seems fairly different from configure systems we've used in the past).  However, our data offset changeset is having a significant and bizarre linking error, and I can't see the gcc command that's causing the issue because it's being "@"-muted.  We added the -d flag to `make` (even -dddd) and couldn't increase the verbosity.  How do we disable the "@"-muting and have the CC lines echo'd in your (auto)make system?

> 
>> How important is it to the hivex project that all of the language
>> bindings remain?  If I were to just not develop for, e.g., Perl and
>> OCaml, would it be better to call the revised program "hivex" still,
>> or should the version I'm developing just fork into a slimmer
>> project?
> 
> It's very important that all the languages be preserved.  However I
> don't understand what the problem with visitor functions is, so ...
Understood.  The time changes just impact the C API, but I may need advice on the data offset changeset due to the data being populated and reported in different places.  More on this soon.

--Alex

> 
> Rich.
> 
> -- 
> Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
> Read my programming blog: http://rwmj.wordpress.com
> Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
> http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora





More information about the Libguestfs mailing list