Permalink
Commits on Sep 6, 2017
Commits on Jul 14, 2017
  1. build: do not ignore pod2man error codes

    ptoscano committed Jul 14, 2017
    Move the temporary output of pod2man to the correct name only if pod2man
    did not fail: this also makes the whole command fail if pod2man fails,
    e.g. because of wrong markup.
  2. hivexregedit: fix POD markup

    ptoscano committed Jul 14, 2017
    Put the "=back" to close the list only after the last element.
    
    Fixes the documentation of
    commit 2610b1e.
Commits on Jul 11, 2017
Commits on May 22, 2017
Commits on May 16, 2017
Commits on Feb 17, 2017
  1. Version 1.3.14.

    rwmjones committed Feb 17, 2017
  2. hivexregedit: allow to pass HIVEX_OPEN_UNSAFE

    Maners committed with rwmjones Feb 16, 2017
    via new --unsafe flag. Also make --export catpure, log and skip over
    errors when reading subkeys/values so that export in unsafe mode does
    not abort at first sign of error.
  3. hivexsh: add -u flag for HIVEX_OPEN_UNSAFE.

    Maners committed with rwmjones Feb 16, 2017
    and pass it to hivex_open. Additionally make hivex_value_value failures
    non-critical in this mode when iterating through node children/values.
  4. lib: allow to walk registry with corrupted blocks

    Maners committed with rwmjones Feb 16, 2017
    Only when HIVEX_OPEN_UNSAFE flag is set.
    
    There are some corrupted registry files that have invalid hbin cells
    but are still readable. This patch makes the following changes:
    
    * hivex_open - do not abort with complete failure if we run across a
      block with invalid size (unless it's the root block). Instead just
      log the event, and move on. This will allow open hives that have
      apparent invalid blocks but the ones of potential interest might be
      perfectly accessible.
    * _hivex_get_children - similiarly, if the's invalid subkey, just skip
      it instead of failing so one can continue to browse other valid
      subkeys.
    
    The above is similar to the behavior to Windows regedit where one can
    load such corrupted hives with e.g. "reg load HKU\Corrupted" and
    browse/change it despite some keys might be missing.
  5. lib: change how hbin sections are read.

    Maners committed with rwmjones Feb 16, 2017
    Only when HIVEX_OPEN_UNSAFE flag is set:
    
    * hivex_open: when looping over hbin sections (aka pages), handle a
      case where following hbin section may not begin at exactly at the end
      of previous one. If this happens, scan the page section until next
      one is found and validate it by checking declared offset with actual
      one - if they match, all is good and we can safely move on.
    
    Rationale: there are registry hives there is some garbage data between
    hbin section but the hive is still perfectly usable as long as the
    offsets stated in hbin headers are correct.
  6. add HIVEX_OPEN_UNSAFE flag.

    Maners committed with rwmjones Feb 16, 2017
    This flag will be used to control behavior of libhivex API functions so
    that they tolerate corruption in hives by either using heuristic
    recovery from unexpected situations or simply ignore bad registry
    keys/values whenever possible.
Commits on Feb 15, 2017
  1. Disable -Wunsafe-loop-optimizations warning.

    rwmjones committed Feb 15, 2017
    It doesn't indicate a bug, it indicates that GCC cannot make an
    optimization (I think).
  2. sh: Fix signed/unsigned issues in setval command.

    rwmjones committed Feb 15, 2017
    Use size_t instead of int for counting sizes of strings etc.
    
    Also remove this warning:
    
    hivexsh.c: In function 'main':
    hivexsh.c:923:7: error: missed loop optimization, the loop counter may overflow [-Werror=unsafe-loop-optimizations]
           for (j = 0; j <= /* sic */ nr_chars; ++j) {
           ^~~
    hivexsh.c:942:7: error: missed loop optimization, the loop counter may overflow [-Werror=unsafe-loop-optimizations]
           for (j = 0; j <= /* sic */ nr_chars; ++j) {
           ^~~
Commits on Dec 3, 2016
  1. Increase HIVEX_MAX_SUBKEYS and HIVEX_MAX_VALUES

    iammattcoleman committed with rwmjones Dec 3, 2016
    This increases the defined limits based on counts observed in the
    Microsoft\Windows NT\CurrentVersion subkey of the software hive.
Commits on Nov 1, 2016
  1. test: Fix test that handle is not NULL.

    rwmjones committed Nov 1, 2016
    Fixes commit 7964606.
  2. run: Add built programs to the PATH.

    rwmjones committed Nov 1, 2016
    As a side effect of this change, this ensures we are testing
    hivexregedit that has been built, not the installed version (and
    failing when hivexregedit is not installed).
Commits on Feb 15, 2016
  1. New API: hivex_node_nr_values

    kupiakos committed Feb 15, 2016
  2. New API: node_nr_children

    rwmjones committed Feb 15, 2016
    A number of changes from the previous patch:
    
     - Change the name of the new API to node_nr_children.
    
     - Stylistic/whitespace changes.
Commits on Feb 14, 2016
Commits on Oct 29, 2015
  1. Version 1.3.13.

    rwmjones committed Oct 29, 2015
  2. Enable more warnings in configure.

    rwmjones committed Oct 29, 2015
    Includes some minor fixes in hivexsh.c to deal with the new warnings.
  3. lib: Turn off -Warray-bounds warnings.

    rwmjones committed Oct 29, 2015
    Causes false positives about our use of [1] for arbitrary length
    arrays embedded in structs.
  4. Update gnulib to latest.

    rwmjones committed Oct 29, 2015
  5. Don't fail if libxml2 is not installed (RHBZ#1276364).

    rwmjones committed Oct 29, 2015
    If no libxml2 found, don't compile hivexml, but compile the
    rest of the library.
Commits on Oct 21, 2015
  1. build: pass $(MAKE) to run-perl-tests

    ptoscano committed Oct 21, 2015
    Instead of hardcoding "make" in run-perl-tests, pass the actual name of
    make from the Makefile; the default is still "make", mostly to use the
    script without having to set $MAKE.
Commits on Oct 5, 2015
  1. Fix EXTRA_DIST.

    rwmjones committed Oct 5, 2015
    This fixes commit 6047a47.