import CS hivex-1.3.24-1.el9
This commit is contained in:
parent
de3d0ce3ea
commit
d06d8395d4
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +1,2 @@
|
||||
SOURCES/hivex-1.3.21.tar.gz
|
||||
SOURCES/hivex-1.3.24.tar.gz
|
||||
SOURCES/libguestfs.keyring
|
||||
|
@ -1,2 +1,2 @@
|
||||
3d39d9210e92d809fc3d1e692ff27ee7e9fb0b4c SOURCES/hivex-1.3.21.tar.gz
|
||||
76cb2b15d83ef90c77ef1a5acd9b772fbe7ae759 SOURCES/hivex-1.3.24.tar.gz
|
||||
1bbc40f501a7fef9eef2a39b701a71aee2fea7c4 SOURCES/libguestfs.keyring
|
||||
|
@ -1,80 +0,0 @@
|
||||
From d5a522c0bb738efdd7cc1e762840b579fc9ea3de Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Fri, 10 Sep 2021 01:06:17 +0200
|
||||
Subject: [PATCH] lib: write: improve key collation compatibility with Windows
|
||||
|
||||
There are multiple problems with using strcasecmp() for ordering registry
|
||||
keys:
|
||||
|
||||
(1) strcasecmp() is influenced by LC_CTYPE.
|
||||
|
||||
(2) strcasecmp() cannot implement case conversion for multibyte UTF-8
|
||||
sequences.
|
||||
|
||||
(3) Even with LC_CTYPE=POSIX and key names consisting solely of ASCII
|
||||
characters, strcasecmp() converts characters to lowercase, for
|
||||
comparison. But on Windows, the CompareStringOrdinal() function
|
||||
converts characters to uppercase. This makes a difference when
|
||||
comparing a letter to one of the characters that fall between 'Z'
|
||||
(0x5A) and 'a' (0x61), namely {'[', '\\', ']', '^', '_', '`'}. For
|
||||
example,
|
||||
|
||||
'c' (0x63) > '_' (0x5F)
|
||||
'C' (0x43) < '_' (0x5F)
|
||||
|
||||
Compare key names byte for byte, eliminating problems (1) and (3).
|
||||
|
||||
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1648520
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Message-Id: <20210909230617.31256-1-lersek@redhat.com>
|
||||
Acked-by: Richard W.M. Jones <rjones@redhat.com>
|
||||
---
|
||||
lib/write.c | 32 +++++++++++++++++++++++++++++++-
|
||||
1 file changed, 31 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/write.c b/lib/write.c
|
||||
index 70105c9d9907..d9a13a3c18b6 100644
|
||||
--- a/lib/write.c
|
||||
+++ b/lib/write.c
|
||||
@@ -462,7 +462,37 @@ compare_name_with_nk_name (hive_h *h, const char *name, hive_node_h nk_offs)
|
||||
return 0;
|
||||
}
|
||||
|
||||
- int r = strcasecmp (name, nname);
|
||||
+ /* Perform a limited case-insensitive comparison. ASCII letters will be
|
||||
+ * *upper-cased*. Multibyte sequences will produce nonsensical orderings.
|
||||
+ */
|
||||
+ int r = 0;
|
||||
+ const char *s1 = name;
|
||||
+ const char *s2 = nname;
|
||||
+
|
||||
+ for (;;) {
|
||||
+ unsigned char c1 = *(s1++);
|
||||
+ unsigned char c2 = *(s2++);
|
||||
+
|
||||
+ if (c1 >= 'a' && c1 <= 'z')
|
||||
+ c1 = 'A' + (c1 - 'a');
|
||||
+ if (c2 >= 'a' && c2 <= 'z')
|
||||
+ c2 = 'A' + (c2 - 'a');
|
||||
+ if (c1 < c2) {
|
||||
+ /* Also covers the case when "name" is a prefix of "nname". */
|
||||
+ r = -1;
|
||||
+ break;
|
||||
+ }
|
||||
+ if (c1 > c2) {
|
||||
+ /* Also covers the case when "nname" is a prefix of "name". */
|
||||
+ r = 1;
|
||||
+ break;
|
||||
+ }
|
||||
+ if (c1 == '\0') {
|
||||
+ /* Both strings end. */
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
free (nname);
|
||||
|
||||
return r;
|
||||
--
|
||||
2.19.1.3.g30247aa5d201
|
||||
|
@ -1,17 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQJFBAABCAAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAmEHr1sRHHJpY2hAYW5u
|
||||
ZXhpYS5vcmcACgkQkXOPc+G3aKAdQRAAnKp8vh3Mn73YpNBzA4PgQm/wkhwU0vlG
|
||||
WEpcbz5sJnxd51XsLfPbHLC99CN3A47WBbwvUVlbY6QIzEgonKJvsWYPnRi9DURG
|
||||
9rrHGPNixitS+eZCwyhhqjDXzujQOC7h0YBRxOHp2HTE2uQ+l15o6H0i6sr2vNkG
|
||||
QwiUI50YVhtaAi3DVaXpPbb2vlA+3K6ImeLPQrSB+em1+n0g40Wze6B2tHN5wtxB
|
||||
XMRN8Hlw+Emc3Fe0Bx/4apg6YRqnXXCGyTyx25zHgtnf8cocOvjamt/cqsN3IspP
|
||||
pOi9aD4+LmPuToLzTfReLwmacch3p+QA4ZjSfcqmSXOpdl6ZtIBGHg3587Zv3j5+
|
||||
1WvpVVTeRsV8neRg9H+bnLFhjvCjbU+pPylmW+HdWargqFrzlhFrLAvGTzKhxWNy
|
||||
r3Xmbe/XnHHTWYeojg8mTZQ5mYt5MYfpbmywZusoyqhWVZV+bAHKJFk1q0UWLjfo
|
||||
L+TkJLka9wjB4r4uPylZion92hW4QEh3lRg7SJU6qfIvmOJMaihRWK77c4S7BvZ2
|
||||
NG05XST/cRyZviSRtGbllqhzBjS50zl5oCCmwu/L4muZGaBYT0/DiQgvM8TI1XeB
|
||||
9si16xg+KdE76tR+5g+Hn9Mh6ywi7hwp55UZHnRmgvvXHB6spBG2LQNqVNtPkWJV
|
||||
CzY9MsNqjVc=
|
||||
=y80J
|
||||
-----END PGP SIGNATURE-----
|
17
SOURCES/hivex-1.3.24.tar.gz.sig
Normal file
17
SOURCES/hivex-1.3.24.tar.gz.sig
Normal file
@ -0,0 +1,17 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQJFBAABCAAvFiEE93dPsa0HSn6Mh2fqkXOPc+G3aKAFAmbS4a8RHHJpY2hAYW5u
|
||||
ZXhpYS5vcmcACgkQkXOPc+G3aKD8kw//Tj6k2S7YA5lptSWx/WLTaAlhp8LAgeXf
|
||||
uEahjUqa/dlSomflETuEEO5w+/NQrOm6uZjCDppiX6jRrT6E4siciYU/fA3Z0nHs
|
||||
3MhBhuhXC4eRgMB40JqPngqU+dTo4CVMr3bESHmypZ/e2G0IUVQ5z0OIXRMnD/vG
|
||||
kvoKpCD9aA9PmRdPTEVkHkJKLqWoNZ6SrmUCswE7mgMMvtc5UfOCtYOSH4fIkoqw
|
||||
cLzzPcqHL0qydfuDgiWm6McByQvOoIhS4TfCySD38hjD1ltK7cpiYjC+yMNvE49V
|
||||
e1QEAmiDtoLL+CukeEUUf3m8NqGIPLi0zjOWigv0OM4sJxrXrEZDFUbjHOe7NNe+
|
||||
rFSBofizgbYp2w4+RpIVI3uPi60K24tFndlPaD19CQJ53IUCic1Fy2kmq2GpqnzJ
|
||||
Yppuh1Wl5z382sT0U1KCQd9ll2LpoLb18asyFa6WcOOFqjYZ74JZReqBVjybmLAW
|
||||
8+JurMp5i63rmx00lnadQ/TqSHfNnv+ivTqT4lYHp7j01qLqEyFBfK8virh40866
|
||||
XvSlknQZnhIrPn1VRRtPr1yxjuyXkGQvJUJ7E7W+cEbfb3CYXBmfQGpNrS1AW4LU
|
||||
Q+4jGoENJ8pN8zIJohDwmgW/gkc1MlvCOHdZmHT5ATmG5T9HLb3up2DfDsSmTF6X
|
||||
sW4jWzAZuHA=
|
||||
=YcM4
|
||||
-----END PGP SIGNATURE-----
|
@ -9,11 +9,11 @@
|
||||
%global verify_tarball_signature 1
|
||||
|
||||
Name: hivex
|
||||
Version: 1.3.21
|
||||
Release: 3%{?dist}
|
||||
Version: 1.3.24
|
||||
Release: 1%{?dist}
|
||||
Summary: Read and write Windows Registry binary hive files
|
||||
|
||||
License: LGPLv2
|
||||
License: LGPL-2.1-only AND LGPL-2.0-or-later AND GPL-2.0-or-later
|
||||
URL: http://libguestfs.org/
|
||||
|
||||
Source0: http://libguestfs.org/download/hivex/%{name}-%{version}.tar.gz
|
||||
@ -26,8 +26,8 @@ Source1: http://libguestfs.org/download/hivex/%{name}-%{version}.tar.gz.s
|
||||
Source2: libguestfs.keyring
|
||||
%endif
|
||||
|
||||
Patch0000: 0001-lib-write-improve-key-collation-compatibility-with-Windows.patch
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: autoconf, automake, libtool, gettext-devel
|
||||
BuildRequires: perl-interpreter
|
||||
BuildRequires: perl-devel
|
||||
BuildRequires: perl-generators
|
||||
@ -62,18 +62,14 @@ BuildRequires: rubygem(rdoc)
|
||||
BuildRequires: readline-devel
|
||||
BuildRequires: libxml2-devel
|
||||
%if 0%{verify_tarball_signature}
|
||||
BuildRequires: gnupg2
|
||||
BuildRequires: gnupg2
|
||||
%endif
|
||||
BuildRequires: make
|
||||
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
|
||||
Conflicts: %{name} < 1.3.20-6
|
||||
Obsoletes: %{name} < 1.3.20-6
|
||||
|
||||
# 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
|
||||
@ -108,6 +104,7 @@ For Ruby bindings, see 'ruby-hivex'.
|
||||
|
||||
%package libs
|
||||
Summary: Library for %{name}
|
||||
License: LGPL-2.1-only AND LGPL-2.0-or-later
|
||||
Conflicts: %{name} < 1.3.20-6
|
||||
Obsoletes: %{name} < 1.3.20-6
|
||||
|
||||
@ -130,7 +127,8 @@ for %{name}.
|
||||
%if !0%{?rhel}
|
||||
%package static
|
||||
Summary: Statically linked library for %{name}
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
License: LGPL-2.1-only AND LGPL-2.0-or-later
|
||||
Requires: %{name}-devel = %{version}-%{release}
|
||||
|
||||
|
||||
%description static
|
||||
@ -142,7 +140,8 @@ for %{name}.
|
||||
%if %{with ocaml}
|
||||
%package -n ocaml-%{name}
|
||||
Summary: OCaml bindings for %{name}
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
License: LGPL-2.0-or-later
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
|
||||
|
||||
%description -n ocaml-%{name}
|
||||
@ -154,8 +153,9 @@ 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}
|
||||
License: LGPL-2.0-or-later
|
||||
Requires: ocaml-%{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
|
||||
|
||||
|
||||
%description -n ocaml-%{name}-devel
|
||||
@ -166,8 +166,8 @@ required to use the OCaml bindings for %{name}.
|
||||
|
||||
%package -n perl-%{name}
|
||||
Summary: Perl bindings for %{name}
|
||||
License: LGPL-2.0-or-later AND GPL-2.0-or-later
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
|
||||
|
||||
|
||||
%description -n perl-%{name}
|
||||
@ -176,6 +176,7 @@ perl-%{name} contains Perl bindings for %{name}.
|
||||
|
||||
%package -n python3-%{name}
|
||||
Summary: Python 3 bindings for %{name}
|
||||
License: LGPL-2.0-or-later
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
|
||||
%description -n python3-%{name}
|
||||
@ -184,6 +185,7 @@ python3-%{name} contains Python 3 bindings for %{name}.
|
||||
|
||||
%package -n ruby-%{name}
|
||||
Summary: Ruby bindings for %{name}
|
||||
License: LGPL-2.0-or-later
|
||||
Requires: %{name}-libs = %{version}-%{release}
|
||||
Requires: ruby(release)
|
||||
Requires: ruby
|
||||
@ -200,6 +202,8 @@ ruby-%{name} contains Ruby bindings for %{name}.
|
||||
%setup -q
|
||||
%autopatch -p1
|
||||
|
||||
autoreconf -fi
|
||||
|
||||
|
||||
%build
|
||||
%configure \
|
||||
@ -232,17 +236,6 @@ rm $RPM_BUILD_ROOT%{python3_sitearch}/libhivexmod.la
|
||||
|
||||
|
||||
%check
|
||||
# Disable some gnulib tests which fail on Arm and POWER and S/390
|
||||
# (2020-07, 2020-12):
|
||||
for f in test-float test-perror2 test-pthread_sigmask1 test-strerror_r; do
|
||||
pushd gnulib/tests
|
||||
make $f
|
||||
rm -f $f
|
||||
touch $f
|
||||
chmod +x $f
|
||||
popd
|
||||
done
|
||||
|
||||
if ! make check -k; then
|
||||
for f in $( find -name test-suite.log | xargs grep -l ^FAIL: ); do
|
||||
echo
|
||||
@ -254,7 +247,7 @@ if ! make check -k; then
|
||||
fi
|
||||
|
||||
%files -f %{name}.lang
|
||||
%doc README
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%{_bindir}/hivexget
|
||||
%{_bindir}/hivexml
|
||||
@ -265,7 +258,7 @@ fi
|
||||
|
||||
|
||||
%files libs
|
||||
%doc README
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
%{_libdir}/libhivex.so.*
|
||||
|
||||
@ -287,20 +280,21 @@ fi
|
||||
|
||||
%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
|
||||
%doc README.md
|
||||
%dir %{_libdir}/ocaml/hivex
|
||||
%{_libdir}/ocaml/hivex/META
|
||||
%{_libdir}/ocaml/hivex/*.cma
|
||||
%{_libdir}/ocaml/hivex/*.cmi
|
||||
%{_libdir}/ocaml/stublibs/*.so
|
||||
%{_libdir}/ocaml/stublibs/*.so.owner
|
||||
|
||||
|
||||
%files -n ocaml-%{name}-devel
|
||||
%{_libdir}/ocaml/hivex/*.a
|
||||
%ifarch %{ocaml_native_compiler}
|
||||
%{_libdir}/ocaml/hivex/*.cmxa
|
||||
%{_libdir}/ocaml/hivex/*.cmx
|
||||
%endif
|
||||
%{_libdir}/ocaml/hivex/*.a
|
||||
%{_libdir}/ocaml/hivex/*.mli
|
||||
%endif
|
||||
|
||||
@ -325,6 +319,10 @@ fi
|
||||
|
||||
|
||||
%changelog
|
||||
* Mon Sep 02 2024 Richard W.M. Jones <rjones@redhat.com> - 1.3.24-1
|
||||
- Rebase to Fedora Rawhide
|
||||
resolves: RHEL-56803
|
||||
|
||||
* Tue Sep 14 2021 Laszlo Ersek <lersek@redhat.com> - 1.3.21-3
|
||||
- Bring key collation order closer to that of Windows.
|
||||
- Resolves: RHBZ#1648524.
|
||||
|
Loading…
Reference in New Issue
Block a user