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