commit 27521659ee6f0a08b9a82fd4d0b671b0c6a6a7a9 Author: MSVSphere Packaging Team Date: Wed Apr 3 18:27:21 2024 +0300 import hivex-1.3.18-23.module+el8.9.0+18724+20190c23 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2d90f27 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/hivex-1.3.18.tar.gz +SOURCES/libguestfs.keyring diff --git a/.hivex.metadata b/.hivex.metadata new file mode 100644 index 0000000..faf051f --- /dev/null +++ b/.hivex.metadata @@ -0,0 +1,2 @@ +d66131981d2c978ab9cfc7e28dd052e7e273ae18 SOURCES/hivex-1.3.18.tar.gz +1bbc40f501a7fef9eef2a39b701a71aee2fea7c4 SOURCES/libguestfs.keyring diff --git a/SOURCES/0001-Win-Hivex-Regedit-Accept-CRLF-line-endings.patch b/SOURCES/0001-Win-Hivex-Regedit-Accept-CRLF-line-endings.patch new file mode 100644 index 0000000..f810c40 --- /dev/null +++ b/SOURCES/0001-Win-Hivex-Regedit-Accept-CRLF-line-endings.patch @@ -0,0 +1,24 @@ +From 564a923a91d042e24e9259d86f69e0061f28ef4f Mon Sep 17 00:00:00 2001 +From: Vladimir Panteleev +Date: Thu, 16 Jan 2020 12:11:20 +0000 +Subject: [PATCH 1/2] Win::Hivex::Regedit: Accept CRLF line endings + +--- + perl/lib/Win/Hivex/Regedit.pm | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/perl/lib/Win/Hivex/Regedit.pm b/perl/lib/Win/Hivex/Regedit.pm +index 34426f1..2b17036 100644 +--- a/perl/lib/Win/Hivex/Regedit.pm ++++ b/perl/lib/Win/Hivex/Regedit.pm +@@ -144,6 +144,7 @@ sub reg_import + # this is fairly common in pasted regedit files. + $lineno++; + chomp; ++ s/\r$//; + if (s/\\\s*$//) { + $_ .= <$fh>; + redo unless eof ($fh); +-- +2.24.1 + diff --git a/SOURCES/0001-lib-handle.c-Bounds-check-for-block-exceeding-page-l.patch b/SOURCES/0001-lib-handle.c-Bounds-check-for-block-exceeding-page-l.patch new file mode 100644 index 0000000..13a8605 --- /dev/null +++ b/SOURCES/0001-lib-handle.c-Bounds-check-for-block-exceeding-page-l.patch @@ -0,0 +1,75 @@ +From 61f4928dcc31b91aaf3bcbcf2898f8f09586a213 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 15 Apr 2021 15:50:13 +0100 +Subject: [PATCH] lib/handle.c: Bounds check for block exceeding page length + (CVE-2021-3504) + +Hives are encoded as fixed-sized pages containing smaller variable- +length blocks: + + +-------------------+-------------------+-------------------+-- + | header |[ blk ][blk][ blk ]|[blk][blk][blk] | + +-------------------+-------------------+-------------------+-- + +Blocks should not straddle a page boundary. However because blocks +contain a 32 bit length field it is possible to construct an invalid +hive where the last block in a page overlaps either the next page or +the end of the file: + + +-------------------+-------------------+ + | header |[ blk ][blk][ blk ..... ] + +-------------------+-------------------+ + +Hivex lacked a bounds check and would process the registry. Because +the rest of the code assumes this situation can never happen it was +possible to have a block containing some field (eg. a registry key +name) which would extend beyond the end of the file. Hivex mmaps or +mallocs the file, causing hivex to read memory beyond the end of the +mapped region, resulting in reading other memory structures or a +crash. (Writing beyond the end of the mapped region seems to be +impossible because we always allocate a new page before writing.) + +This commit adds a check which rejects the malformed registry on +hivex_open. + +Credit: Jeremy Galindo, Sr Security Engineer, Datto.com +Signed-off-by: Richard W.M. Jones +Fixes: CVE-2021-3504 +Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1949687 +--- + lib/handle.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/lib/handle.c b/lib/handle.c +index 88b1563f..2e4231a5 100644 +--- a/lib/handle.c ++++ b/lib/handle.c +@@ -353,8 +353,8 @@ hivex_open (const char *filename, int flags) + #pragma GCC diagnostic pop + if (is_root || !h->unsafe) { + SET_ERRNO (ENOTSUP, +- "%s, the block at 0x%zx has invalid size %" PRIu32 +- ", bad registry", ++ "%s, the block at 0x%zx size %" PRIu32 ++ " <= 4 or not a multiple of 4, bad registry", + filename, blkoff, le32toh (block->seg_len)); + goto error; + } else { +@@ -365,6 +365,14 @@ hivex_open (const char *filename, int flags) + } + } + ++ if (blkoff + seg_len > off + page_size) { ++ SET_ERRNO (ENOTSUP, ++ "%s, the block at 0x%zx size %" PRIu32 ++ " extends beyond the current page, bad registry", ++ filename, blkoff, le32toh (block->seg_len)); ++ goto error; ++ } ++ + if (h->msglvl >= 2) { + unsigned char *id = (unsigned char *) block->id; + int id0 = id[0], id1 = id[1]; +-- +2.29.2 + diff --git a/SOURCES/0001-lib-node.c-Limit-recursion-in-ri-records-CVE-2021-36.patch b/SOURCES/0001-lib-node.c-Limit-recursion-in-ri-records-CVE-2021-36.patch new file mode 100644 index 0000000..1bd7ffa --- /dev/null +++ b/SOURCES/0001-lib-node.c-Limit-recursion-in-ri-records-CVE-2021-36.patch @@ -0,0 +1,95 @@ +From 771728218dac2fbf6997a7e53225e75a4c6b7255 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 8 Jul 2021 19:00:45 +0100 +Subject: [PATCH] lib/node.c: Limit recursion in ri-records (CVE-2021-3622) + +Windows Registry hive "ri"-records are arbitrarily nested B-tree-like +structures: + + +-------------+ + | ri | + |-------------| + | nr_offsets | + | offset[0] ------> points to another lf/lh/li/ri block + | offset[1] ------> + | offset[2] ------> + +-------------+ + +It is possible to construct a hive with a very deeply nested tree of +ri-records, causing the internal _get_children function to recurse to +any depth which can cause programs linked to hivex to crash with a +stack overflow. + +Since it is not thought that deeply nested ri-records occur in real +hives, limit recursion depth. If you hit this limit you will see the +following error and the operation will return an error instead of +crashing: + + \> ls + hivex: _get_children: returning EINVAL because: ri-record nested to depth >= 32 + ls: Invalid argument + +Thanks to Jeremy Galindo for finding and reporting this bug. + +Reported-by: Jeremy Galindo, Sr Security Engineer, Datto.com +Signed-off-by: Richard W.M. Jones +Fixes: CVE-2021-3622 +Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1975489 +(cherry picked from commit 781a12c4a49dd81365c9c567c5aa5e19e894ba0e) +--- + lib/node.c | 18 ++++++++++++++---- + 1 file changed, 14 insertions(+), 4 deletions(-) + +diff --git a/lib/node.c b/lib/node.c +index 7b002a46..eb7fe93c 100644 +--- a/lib/node.c ++++ b/lib/node.c +@@ -203,7 +203,7 @@ hivex_node_classname (hive_h *h, hive_node_h node) + + static int _get_children (hive_h *h, hive_node_h blkoff, + offset_list *children, offset_list *blocks, +- int flags); ++ int flags, unsigned depth); + static int check_child_is_nk_block (hive_h *h, hive_node_h child, int flags); + + /* Iterate over children (ie. subkeys of a node), returning child +@@ -335,7 +335,7 @@ _hivex_get_children (hive_h *h, hive_node_h node, + goto error; + } + +- if (_get_children (h, subkey_lf, &children, &blocks, flags) == -1) ++ if (_get_children (h, subkey_lf, &children, &blocks, flags, 0) == -1) + goto error; + + /* Check the number of children we ended up reading matches +@@ -383,7 +383,7 @@ _hivex_get_children (hive_h *h, hive_node_h node, + static int + _get_children (hive_h *h, hive_node_h blkoff, + offset_list *children, offset_list *blocks, +- int flags) ++ int flags, unsigned depth) + { + /* Add this intermediate block. */ + if (_hivex_add_to_offset_list (blocks, blkoff) == -1) +@@ -486,7 +486,17 @@ _get_children (hive_h *h, hive_node_h blkoff, + } + } + +- if (_get_children (h, offset, children, blocks, flags) == -1) ++ /* Although in theory hive ri records might be nested to any ++ * depth, in practice this is unlikely. Recursing here caused ++ * CVE-2021-3622. Thus limit the depth we will recurse to ++ * something small. ++ */ ++ if (depth >= 32) { ++ SET_ERRNO (EINVAL, "ri-record nested to depth >= %u", depth); ++ return -1; ++ } ++ ++ if (_get_children (h, offset, children, blocks, flags, depth+1) == -1) + return -1; + } + } +-- +2.32.0 + diff --git a/SOURCES/0002-Win-Hivex-Regedit-Ignore-comments.patch b/SOURCES/0002-Win-Hivex-Regedit-Ignore-comments.patch new file mode 100644 index 0000000..8ba089f --- /dev/null +++ b/SOURCES/0002-Win-Hivex-Regedit-Ignore-comments.patch @@ -0,0 +1,36 @@ +From 003028c3c0d33e952430d3f4e1a987a777674eb3 Mon Sep 17 00:00:00 2001 +From: Vladimir Panteleev +Date: Thu, 16 Jan 2020 12:11:21 +0000 +Subject: [PATCH 2/2] Win::Hivex::Regedit: Ignore comments + +--- + perl/lib/Win/Hivex/Regedit.pm | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/perl/lib/Win/Hivex/Regedit.pm b/perl/lib/Win/Hivex/Regedit.pm +index 2b17036..f0dbb50 100644 +--- a/perl/lib/Win/Hivex/Regedit.pm ++++ b/perl/lib/Win/Hivex/Regedit.pm +@@ -153,8 +153,8 @@ sub reg_import + #print STDERR "reg_import: parsing <<<$_>>>\n"; + + if ($state eq "outer") { +- # Ignore blank lines, headers. +- next if /^\s*$/; ++ # Ignore blank lines, headers, comments. ++ next if /^\s*(;.*)?$/; + + # .* is needed before Windows Registry Editor Version.. in + # order to eat a possible Unicode BOM which regedit writes +@@ -193,7 +193,7 @@ sub reg_import + my $value = _parse_value ("", $1, $encoding); + croak (_parse_error ($_, $lineno)) unless defined $value; + push @newvalues, $value; +- } elsif (/^\s*$/) { # blank line after values ++ } elsif (/^\s*(;.*)?$/) { # blank line after values + _merge_node ($hmap, \%params, $newnode, \@newvalues, \@delvalues); + $state = "outer"; + } else { +-- +2.24.1 + diff --git a/SOURCES/hivex-1.3.18.tar.gz.sig b/SOURCES/hivex-1.3.18.tar.gz.sig new file mode 100644 index 0000000..ee867fd --- /dev/null +++ b/SOURCES/hivex-1.3.18.tar.gz.sig @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- + +iQJFBAABCAAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAlxJfxkRHHJpY2hAYW5u +ZXhpYS5vcmcACgkQkXOPc+G3aKCZBRAAqXBbrDyf+TtXCLZBIrs0MkfrYtQFDxps +nTNz6sdNXftYl0LKJ6dhEkNwVg0QP31ifX1mQfU4EmJiEOI7qW6xqNLPlwhkKaIP +qoB7ctesELb3LBhcgjI9lUjaCeGXrWkIHxp9SWC3esGqHIxWVu+BwKmFt1DfAZtH +KE9gtVO6g5sbCdZEP2b4d/PwsL1vO0glekCkEZ0n3PcOgf0isVU0IUSz2IVhcy6e +DqY4puYFwopVEpPzzRI9oW/y2XJTTssCM9F420HDnemtUQpx0Uw637MiCRLoN6Or +PA1IkTzx/01Ub6OKl3gbMoY3s27yOFJToBVkTmYDvZHUJpNRCj7ytaKAIiZ4aan7 +WOi+7h9cvkjcr0OhomN+5bDLg6XpaVj9SPuM3W/AgDaYu6PeSvpr5yAtg3VEArJ3 +Lh4y8b+fh1pzdkLJsvGxK+YpL+ollgTP2y2CAXxgTDv0oMrUI9O4vrNKaOSE4Qnl +TinMMFaYvuBWzzTKfjhtnFOMI8YvAFHHVDhBSWost2ZR5W6SCd9xXAvMdUQDL3aD +ReesInrLptdklyKL+4l8miokUfq+U0ASi1PC3+Ek/yk13LtUXHEvXfb9rQlPhOc3 +Fp1278JziKQd7xlkvMuo+Q2PSRGSDaBACqmqjwBaLsPDoz8jsiZOZ/qPg6qcx0kM +y93C/w1pCcA= +=YBlx +-----END PGP SIGNATURE----- diff --git a/SPECS/hivex.spec b/SPECS/hivex.spec new file mode 100644 index 0000000..3a0ec4f --- /dev/null +++ b/SPECS/hivex.spec @@ -0,0 +1,689 @@ +# Conditionalize Ocaml support. This looks ass-backwards, but it's not. +%ifarch %{ocaml_native_compiler} +%bcond_without ocaml +%else +%bcond_with ocaml +%endif + +# Verify tarball signature with GPGv2. +%global verify_tarball_signature 1 + +Name: hivex +Version: 1.3.18 +Release: 23%{?dist} +Summary: Read and write Windows Registry binary hive files + +License: LGPLv2 +URL: http://libguestfs.org/ + +Source0: http://libguestfs.org/download/hivex/%{name}-%{version}.tar.gz +%if 0%{verify_tarball_signature} +Source1: http://libguestfs.org/download/hivex/%{name}-%{version}.tar.gz.sig +%endif + +# Keyring used to verify tarball signature. +%if 0%{verify_tarball_signature} +Source2: libguestfs.keyring +%endif + +# Patches - all upstream since 1.3.18. +Patch0001: 0001-Win-Hivex-Regedit-Accept-CRLF-line-endings.patch +Patch0002: 0002-Win-Hivex-Regedit-Ignore-comments.patch + +# Bounds check for block exceeding page length (CVE-2021-3504). +Patch0003: 0001-lib-handle.c-Bounds-check-for-block-exceeding-page-l.patch + +# Limit recursion in ri-records (CVE-2021-3622). +Patch0004: 0001-lib-node.c-Limit-recursion-in-ri-records-CVE-2021-36.patch + +BuildRequires: perl-interpreter +BuildRequires: perl-devel +BuildRequires: perl-generators +BuildRequires: %{_bindir}/pod2html +BuildRequires: %{_bindir}/pod2man +BuildRequires: perl(bytes) +BuildRequires: perl(Carp) +BuildRequires: perl(Encode) +BuildRequires: perl(ExtUtils::MakeMaker) +BuildRequires: perl(Exporter) +BuildRequires: perl(IO::Scalar) +BuildRequires: perl(IO::Stringy) +BuildRequires: perl(strict) +BuildRequires: perl(Test::More) +BuildRequires: perl(utf8) +BuildRequires: perl(vars) +BuildRequires: perl(warnings) +BuildRequires: perl(XSLoader) +BuildRequires: perl(Test::Pod) >= 1.00 +BuildRequires: perl(Test::Pod::Coverage) >= 1.00 +%if %{with ocaml} +BuildRequires: ocaml +BuildRequires: ocaml-findlib-devel +%endif +BuildRequires: python3-devel +BuildRequires: ruby-devel +BuildRequires: rubygem-rake +# see also RHBZ#1325022 +BuildRequires: rubygem(json) +BuildRequires: rubygem(minitest) +BuildRequires: rubygem(rdoc) +BuildRequires: readline-devel +BuildRequires: libxml2-devel +%if 0%{verify_tarball_signature} +BuildRequires: gnupg2 +%endif + +# https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Packages_granted_exceptions +Provides: bundled(gnulib) + + +%description +Hive files are the undocumented binary files that Windows uses to +store the Windows Registry on disk. Hivex is a library that can read +and write to these files. + +'hivexsh' is a shell you can use to interactively navigate a hive +binary file. + +'hivexregedit' (in perl-hivex) lets you export and merge to the +textual regedit format. + +'hivexml' can be used to convert a hive file to a more useful XML +format. + +In order to get access to the hive files themselves, you can copy them +from a Windows machine. They are usually found in +%%systemroot%%\system32\config. For virtual machines we recommend +using libguestfs or guestfish to copy out these files. libguestfs +also provides a useful high-level tool called 'virt-win-reg' (based on +hivex technology) which can be used to query specific registry keys in +an existing Windows VM. + +For OCaml bindings, see 'ocaml-hivex-devel'. + +For Perl bindings, see 'perl-hivex'. + +For Python 3 bindings, see 'python3-hivex'. + +For Ruby bindings, see 'ruby-hivex'. + + +%package devel +Summary: Development tools and libraries for %{name} +Requires: %{name} = %{version}-%{release} +Requires: pkgconfig + + +%description devel +%{name}-devel contains development tools and libraries +for %{name}. + + +%if %{with ocaml} +%package -n ocaml-%{name} +Summary: OCaml bindings for %{name} +Requires: %{name} = %{version}-%{release} + + +%description -n ocaml-%{name} +ocaml-%{name} contains OCaml bindings for %{name}. + +This is for toplevel and scripting access only. To compile OCaml +programs which use %{name} you will also need ocaml-%{name}-devel. + + +%package -n ocaml-%{name}-devel +Summary: OCaml bindings for %{name} +Requires: ocaml-%{name} = %{version}-%{release} +Requires: %{name}-devel = %{version}-%{release} + + +%description -n ocaml-%{name}-devel +ocaml-%{name}-devel contains development libraries +required to use the OCaml bindings for %{name}. +%endif + + +%package -n perl-%{name} +Summary: Perl bindings for %{name} +Requires: %{name} = %{version}-%{release} +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) + + +%description -n perl-%{name} +perl-%{name} contains Perl bindings for %{name}. + + +%package -n python3-%{name} +Summary: Python 3 bindings for %{name} +Requires: %{name} = %{version}-%{release} + +%description -n python3-%{name} +python3-%{name} contains Python 3 bindings for %{name}. + + +%package -n ruby-%{name} +Summary: Ruby bindings for %{name} +Requires: %{name} = %{version}-%{release} +Requires: ruby(release) +Requires: ruby +Provides: ruby(hivex) = %{version} + +%description -n ruby-%{name} +ruby-%{name} contains Ruby bindings for %{name}. + + +%prep +%if 0%{verify_tarball_signature} +tmphome="$(mktemp -d)" +gpgv2 --homedir "$tmphome" --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0} +%endif +%setup -q +%autopatch -p1 + + +%build +%configure \ + PYTHON=%{__python3} \ + --disable-static \ +%if !%{with ocaml} + --disable-ocaml \ +%endif + %{nil} +make V=1 INSTALLDIRS=vendor %{?_smp_mflags} + + +%install +make install DESTDIR=$RPM_BUILD_ROOT INSTALLDIRS=vendor + +# Remove unwanted libtool *.la file: +rm $RPM_BUILD_ROOT%{_libdir}/libhivex.la + +# Remove unwanted Perl files: +find $RPM_BUILD_ROOT -name perllocal.pod -delete +find $RPM_BUILD_ROOT -name .packlist -delete +find $RPM_BUILD_ROOT -name '*.bs' -delete + +# Remove unwanted Python files: +rm $RPM_BUILD_ROOT%{python3_sitearch}/libhivexmod.la + +%find_lang %{name} + + +%check +if ! make check -k; then + for f in $( find -name test-suite.log | xargs grep -l ^FAIL: ); do + echo + echo "***" $f "***" + cat $f + echo + done + exit 1 +fi + +%files -f %{name}.lang +%doc README LICENSE +%{_bindir}/hivexget +%{_bindir}/hivexml +%{_bindir}/hivexsh +%{_libdir}/libhivex.so.* +%{_mandir}/man1/hivexget.1* +%{_mandir}/man1/hivexml.1* +%{_mandir}/man1/hivexsh.1* + + +%files devel +%doc LICENSE +%{_libdir}/libhivex.so +%{_mandir}/man3/hivex.3* +%{_includedir}/hivex.h +%{_libdir}/pkgconfig/hivex.pc + + +%if %{with ocaml} +%files -n ocaml-%{name} +%doc README +%{_libdir}/ocaml/hivex +%exclude %{_libdir}/ocaml/hivex/*.a +%exclude %{_libdir}/ocaml/hivex/*.cmxa +%exclude %{_libdir}/ocaml/hivex/*.cmx +%exclude %{_libdir}/ocaml/hivex/*.mli +%{_libdir}/ocaml/stublibs/*.so +%{_libdir}/ocaml/stublibs/*.so.owner + + +%files -n ocaml-%{name}-devel +%{_libdir}/ocaml/hivex/*.a +%{_libdir}/ocaml/hivex/*.cmxa +%{_libdir}/ocaml/hivex/*.cmx +%{_libdir}/ocaml/hivex/*.mli +%endif + + +%files -n perl-%{name} +%{perl_vendorarch}/* +%{_mandir}/man3/Win::Hivex.3pm* +%{_mandir}/man3/Win::Hivex::Regedit.3pm* +%{_bindir}/hivexregedit +%{_mandir}/man1/hivexregedit.1* + + +%files -n python3-%{name} +%{python3_sitearch}/hivex/ +%{python3_sitearch}/*.so + + +%files -n ruby-%{name} +%doc ruby/doc/site/* +%{ruby_vendorlibdir}/hivex.rb +%{ruby_vendorarchdir}/_hivex.so + + +%changelog +* Mon Sep 6 2021 Richard W.M. Jones - 1.3.18-23 +- Limit recursion in ri-records (CVE-2021-3622) + resolves: rhbz#1976194 + +* Thu Sep 2 2021 Danilo C. L. de Paula - 1.3.18-22.el8 +- Resolves: bz#2000225 + (Rebase virt:rhel module:stream based on AV-8.6) + +* Sat Apr 17 2021 Richard W.M. Jones - 1.3.18-21 +- Bounds check for block exceeding page length (CVE-2021-3504) + resolves: rhbz#1950501 + +* Mon Apr 27 2020 Danilo C. L. de Paula - 1.3.18 +- Resolves: bz#1810193 + (Upgrade components in virt:rhel module:stream for RHEL-8.3 release) + +* Mon Apr 27 2020 Danilo C. L. de Paula - 1.3.18 +- Resolves: bz#1810193 + (Upgrade components in virt:rhel module:stream for RHEL-8.3 release) + +* Fri Jun 28 2019 Danilo de Paula - 1.3.15-7 +- Rebuild all virt packages to fix RHEL's upgrade path +- Resolves: rhbz#1695587 + (Ensure modular RPM upgrade path) + +* Fri Dec 14 2018 Richard W.M. Jones - 1.3.15-6 +- Drop hivex-static subpackage + resolves: rhbz#1560207 + +* Fri Jul 20 2018 Richard W.M. Jones - 1.3.15-5 +- Rebuild for OCaml 4.07.0. + +* Fri Mar 23 2018 Richard W.M. Jones - 1.3.15-4 +- Remove python2 support + resolves: rhbz#1559086 + +* Mon Mar 19 2018 Richard W.M. Jones - 1.3.15-3 +- Add upstream patch to fix injection of LDFLAGS (RHBZ#1548536). + +* Thu Mar 1 2018 Florian Weimer - 1.3.15-2 +- Rebuild with new redhat-rpm-config/perl build flags + +* Mon Feb 26 2018 Richard W.M. Jones - 1.3.15-1 +- New upstream version 1.3.15. + +* Wed Feb 07 2018 Fedora Release Engineering - 1.3.14-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Jan 20 2018 Björn Esser - 1.3.14-14 +- Rebuilt for switch to libxcrypt + +* Fri Jan 05 2018 Mamoru TASAKA - 1.3.14-13 +- F-28: rebuild for ruby25 + +* Wed Nov 08 2017 Richard W.M. Jones - 1.3.14-12 +- Fix string mutability. + +* Wed Nov 08 2017 Richard W.M. Jones - 1.3.14-10 +- OCaml 4.06.0 rebuild. + +* Mon Sep 18 2017 Richard W.M. Jones - 1.3.14-9 +- ocaml-hivex-devel should Require hivex-devel. + +* Mon Aug 07 2017 Richard W.M. Jones - 1.3.14-8 +- OCaml 4.05.0 rebuild. + +* Wed Aug 02 2017 Fedora Release Engineering - 1.3.14-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 1.3.14-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Mon Jun 26 2017 Richard W.M. Jones - 1.3.14-5 +- OCaml 4.04.2 rebuild. + +* Sun Jun 04 2017 Jitka Plesnikova - 1.3.14-4 +- Perl 5.26 rebuild + +* Mon May 22 2017 Richard W.M. Jones - 1.3.14-3 +- Create python2 and python3 subpackages (RHBZ#1453189). + +* Fri May 12 2017 Richard W.M. Jones - 1.3.14-2 +- OCaml 4.04.1 rebuild. + +* Fri Feb 17 2017 Richard W.M. Jones - 1.3.14-1 +- New upstream version 1.3.14. +- Add GPG signature and mechanics for checking it. + +* Fri Feb 10 2017 Fedora Release Engineering - 1.3.13-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Jan 13 2017 Mamoru TASAKA - 1.3.13-11 +- F-26: rebuild again for ruby24 + +* Thu Jan 12 2017 Igor Gnatenko - 1.3.13-10 +- Rebuild for readline 7.x + +* Thu Jan 12 2017 Vít Ondruch - 1.3.13-9 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.4 + +* Sat Nov 05 2016 Richard W.M. Jones - 1.3.13-8 +- Rebuild for OCaml 4.04.0. + +* Tue Jul 19 2016 Fedora Release Engineering - 1.3.13-7 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Tue May 17 2016 Jitka Plesnikova - 1.3.13-6 +- Perl 5.24 rebuild + +* Tue May 10 2016 Richard W.M. Jones - 1.3.13-5 +- Explicitly BR rubygem(rdoc) RHBZ#1334753 and rubygem(json) RHBZ#1325022. + +* Wed Feb 03 2016 Fedora Release Engineering - 1.3.13-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jan 12 2016 Vít Ondruch - 1.3.13-3 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.3 + +* Thu Oct 29 2015 Richard W.M. Jones - 1.3.13-2 +- New upstream version 1.3.13. +- Drop ancient 'Conflicts' rule. +- Drop Perl patch for setting INSTALLDIRS. +- Depend on pod2html, pod2man binaries explicitly. + +* Mon Oct 5 2015 Richard W.M. Jones - 1.3.12-1 +- New upstream version 1.3.12. +- Drop patches which are now upstream. +- Use OCaml macros to test if OCaml native compiler is available. +- Use autoreconf --force option. + +* Thu Aug 27 2015 Petr Šabata - 1.3.11-13 +- Correcting the perl build time dependency list + Switching to virtual perl()-style symbols + Dropping unused dependencies and adding some new to fix the FTBFS + +* Tue Jul 28 2015 Richard W.M. Jones - 1.3.11-12 +- OCaml 4.02.3 rebuild. + +* Wed Jun 24 2015 Richard W.M. Jones - 1.3.11-11 +- ocaml-4.02.2 final rebuild. + +* Wed Jun 17 2015 Richard W.M. Jones - 1.3.11-10 +- ocaml-4.02.2 rebuild. + +* Wed Jun 17 2015 Fedora Release Engineering - 1.3.11-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri Jun 05 2015 Jitka Plesnikova - 1.3.11-8 +- Perl 5.22 rebuild + +* Mon Mar 2 2015 Richard W.M. Jones - 1.3.11-7 +- Move hivexregedit to perl-hivex subpackage, since otherwise hivex + and hence libguestfs depends on perl (RHBZ#1194158). + +* Tue Feb 17 2015 Richard W.M. Jones - 1.3.11-6 +- ocaml-4.02.1 rebuild. + +* Sun Jan 18 2015 Mamoru TASAKA - 1.3.11-5 +- Rebuild for https://fedoraproject.org/wiki/Changes/Ruby_2.2 + +* Thu Nov 20 2014 Richard W.M. Jones - 1.3.11-4 +- Increase HIVEX_MAX_SUBKEYS. +- Don't leak errno E2BIG to callers. + +* Fri Nov 14 2014 Richard W.M. Jones - 1.3.11-2 +- Pull in a couple of upstream fixes: + * Fix memory leak in _hivex_get_children. + * Increase HIVEX_MAX_VALUE_LEN. + +* Thu Oct 30 2014 Richard W.M. Jones - 1.3.11-1 +- New upstream version 1.3.11. +- Python objects are now placed in a hivex/ subdirectory. + +* Wed Sep 03 2014 Jitka Plesnikova - 1.3.10-12 +- Perl 5.20 rebuild + +* Sat Aug 30 2014 Richard W.M. Jones - 1.3.10-11 +- ocaml-4.02.0 final rebuild. + +* Wed Aug 27 2014 Jitka Plesnikova - 1.3.10-10 +- Perl 5.20 rebuild + +* Sat Aug 23 2014 Richard W.M. Jones - 1.3.10-9 +- ocaml-4.02.0+rc1 rebuild. + +* Sat Aug 16 2014 Fedora Release Engineering - 1.3.10-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Aug 02 2014 Richard W.M. Jones - 1.3.10-7 +- ocaml-4.02.0-0.8.git10e45753.fc22 rebuild. + +* Tue Jul 22 2014 Richard W.M. Jones - 1.3.10-6 +- OCaml 4.02.0 beta rebuild. + +* Sat Jun 07 2014 Fedora Release Engineering - 1.3.10-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri May 02 2014 Vít Ondruch - 1.3.10-4 +- Remove the ruby(release) version. It is not needed. + +* Fri May 02 2014 Richard W.M. Jones - 1.3.10-3 +- Rebuild to fix Ruby dependencies problem. + +* Thu Apr 24 2014 Vít Ondruch - 1.3.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Ruby_2.1 + +* Wed Apr 23 2014 Richard W.M. Jones - 1.3.10-1 +- New upstream version 1.3.10. +- Fix ruby test failures (RHBZ#1090407). + +* Fri Jan 17 2014 Richard W.M. Jones - 1.3.9-2 +- New upstream version 1.3.9. +- Remove patches which are now upstream. + +* Thu Sep 19 2013 Richard W.M. Jones - 1.3.8-4 +- OCaml 4.01.0 rebuild. + +* Tue Sep 10 2013 Richard W.M. Jones - 1.3.8-3 +- Include various upstream patches to fix endianness problems on ppc64. + +* Sun Sep 8 2013 Richard W.M. Jones - 1.3.8-2 +- Bump and rebuild, since ARM package still appears to depend on Perl 5.16. + +* Thu Jul 25 2013 Richard W.M. Jones - 1.3.8-1 +- New upstream version 1.3.8. +- Fixes handling of keys which use ri-records, for both reading and + writing (RHBZ#717583, RHBZ#987463). +- Remove upstream patch. +- Rebase dirs patch against new upstream sources. +- Rebase ruby patch against new upstream sources. +- Modernize the RPM spec file. +- Fix .gitignore. + +* Wed Jul 17 2013 Petr Pisar - 1.3.7-8 +- Perl 5.18 rebuild + +* Wed Mar 13 2013 Richard W.M. Jones - 1.3.7-7 +- Rebuild for Ruby 2.0.0. +- Change ruby(abi) to ruby(release). + +* Fri Feb 15 2013 Richard W.M. Jones - 1.3.7-6 +- Fix for latest Ruby in Rawhide. Fixes build failure identified + by mass rebuild yesterday. +- Do not ignore error from running autoreconf. + +* Thu Feb 14 2013 Fedora Release Engineering - 1.3.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Oct 29 2012 Richard W.M. Jones - 1.3.7-2 +- Rebuild for OCaml 4.00.1. + +* Thu Oct 11 2012 Richard W.M. Jones - 1:1.3.7-1 +- New upstream version 1.3.7. + +* Thu Jul 19 2012 Fedora Release Engineering - 1.3.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Jun 27 2012 Petr Pisar - 1.3.6-2 +- Perl 5.16 rebuild + +* Tue Jun 12 2012 Richard W.M. Jones - 1:1.3.6-1 +- New upstream version 1.3.6. +- Enable Ocaml bindings on ppc64. + +* Sat Jun 09 2012 Richard W.M. Jones - 1.3.5-9 +- Rebuild for OCaml 4.00.0. + +* Fri Jun 08 2012 Petr Pisar - 1.3.5-8 +- Perl 5.16 rebuild + +* Fri May 18 2012 Richard W.M. Jones - 1:1.3.5-7 +- "blobs" -> "files" in the description. + +* Tue May 15 2012 Richard W.M. Jones - 1:1.3.5-6 +- Bundled gnulib (RHBZ#821763). + +* Fri Mar 23 2012 Richard W.M. Jones - 1:1.3.5-5 +- Don't need to rerun the generator (thanks Dan Horák). + +* Tue Mar 13 2012 Richard W.M. Jones - 1:1.3.5-4 +- New upstream version 1.3.5. +- Remove upstream patch. +- Depend on automake etc. for the patch. + +* Thu Feb 9 2012 Richard W.M. Jones - 1.3.3-8 +- ruby(abi) 1.9.1. + +* Wed Feb 8 2012 Richard W.M. Jones - 1.3.3-7 +- Bump and rebuild for Ruby update. +- Add upstream patch to fix bindings for Ruby 1.9. +- Add non-upstream patch to pass --vendor flag to extconf.rb + +* Fri Jan 06 2012 Richard W.M. Jones - 1.3.3-3 +- Rebuild for OCaml 3.12.1. + +* Thu Dec 8 2011 Richard W.M. Jones - 1.3.3-2 +- Disable OCaml on ppc64. +- Ensure OCaml files are deleted when not packaged. + +* Tue Nov 29 2011 Richard W.M. Jones - 1.3.3-1 +- New upstream version 1.3.3. +- Rebased gnulib to work around RHBZ#756981. +- Remove patches which are now upstream. + +* Mon Oct 24 2011 Richard W.M. Jones - 1.3.2-3 +- New upstream version 1.3.2. +- Add upstream patch to fix building of hivexsh, hivexget. + +* Fri Aug 26 2011 Richard W.M. Jones - 1.3.1-2 +- New upstream version 1.3.1. +- Remove patch, now upstream. +- Don't need hack for making an unversioned Python module. + +* Mon Aug 15 2011 Richard W.M. Jones - 1.3.0-3 +- New upstream version 1.3.0. +- This version adds Ruby bindings, so there is a new subpackage 'ruby-hivex'. +- Add upstream patch to fix Ruby tests. +- Remove epoch macro in ruby-hivex dependency. + +* Fri Aug 12 2011 Richard W.M. Jones - 1.2.8-1 +- New upstream version 1.2.8. +- Remove 4 upstream patches. + +* Fri Jul 22 2011 Richard W.M. Jones - 1.2.7-9 +- Add upstream patch to fix Perl CCFLAGS for Perl 5.14 on i686. +- Enable 'make check'. + +* Thu Jul 21 2011 Richard W.M. Jones - 1.2.7-6 +- i686 package is broken, experimentally rebuild it. + +* Fri Jun 17 2011 Marcela Mašláňová - 1.2.7-5 +- Perl mass rebuild + +* Fri Jun 10 2011 Marcela Mašláňová - 1.2.7-4 +- Perl 5.14 mass rebuild + +* Tue May 17 2011 Richard W.M. Jones - 1.2.7-3 +- New upstream version 1.2.7. +- Removed patch which is now upstream. +- Add upstream patches to fix ocaml install rule. + +* Thu May 12 2011 Richard W.M. Jones - 1.2.6-2 +- New upstream version 1.2.6. +- Removed patch which is now upstream. +- Add upstream patch to fix ocaml tests. + +* Thu Apr 28 2011 Richard W.M. Jones - 1.2.5-2 +- Fix Python bindings on 32 bit arch with upstream patch. + +* Wed Apr 13 2011 Richard W.M. Jones - 1.2.5-1 +- New upstream version 1.2.5. +- This version fixes a number of important memory issues found by + valgrind and upgrading to this version is recommended for all users. +- Remove patch now upstream. + +* Wed Feb 09 2011 Fedora Release Engineering - 1.2.4-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Jan 14 2011 Richard W.M. Jones - 1.2.4-6 +- Fix multilib conflicts in *.pyc and *.pyo files. +- Only install unversioned *.so file for Python bindings. + +* Wed Jan 5 2011 Richard W.M. Jones - 1.2.4-4 +- Rebuild against OCaml 3.12.0. + +* Thu Dec 16 2010 Richard W.M. Jones - 1.2.4-3 +- Backport upstream patch to fix segfault in Hivex.value_value binding. + +* Thu Dec 2 2010 Richard W.M. Jones - 1.2.4-1 +- New upstream version 1.2.4. +- This adds Python bindings (python-hivex subpackage). +- Fix Source0. + +* Fri Nov 19 2010 Dan Horák - 1.2.3-3 +- fix built with recent perl + +* Tue Sep 7 2010 Dan Horák - 1.2.3-2 +- conditionalize ocaml support + +* Fri Aug 27 2010 Richard W.M. Jones - 1.2.3-1 +- New upstream version 1.2.3. + +* Wed Aug 25 2010 Richard W.M. Jones - 1.2.2-3 +- Create a hivex-static subpackage. + +* Thu Apr 29 2010 Marcela Maslanova - 1.2.2-2 +- Mass rebuild with perl-5.12.0 + +* Wed Apr 28 2010 Richard W.M. Jones - 1.2.2-1 +- New upstream version 1.2.2. + +* Tue Mar 30 2010 Richard W.M. Jones - 1.2.1-1 +- New upstream version 1.2.1. +- Includes new tool for exporting and merging in regedit format. + +* Mon Mar 1 2010 Richard W.M. Jones - 1.2.0-2 +- New upstream version 1.2.0. +- This includes OCaml and Perl bindings, so add these as subpackages. + +* Mon Feb 22 2010 Richard W.M. Jones - 1.1.2-3 +- Missing Epoch in conflicts version fixed. + +* Mon Feb 22 2010 Richard W.M. Jones - 1.1.2-2 +- Add Conflicts libguestfs <= 1.0.84. + +* Mon Feb 22 2010 Richard W.M. Jones - 1.1.2-1 +- Initial Fedora RPM.