input-xen: cover RHEL9 OpenSSL crypto settings
- Backport upstream ddab06d5eb99 [master] / 9e1c78a4dda8 [rhel-9.1]. - copy-patches.sh: rewrap patch formatting command, spell out "--patience" (already expected), then decrease churn by passing "--no-signature". - Migrate earlier rhbz#2062360 %changelog entries to latest (=new) entry. resolves: rhbz#2062360 Signed-off-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
parent
b6d936748a
commit
ef5fbb5721
@ -28,6 +28,3 @@ index 3269fba5..7f2e9284 100644
|
|||||||
|
|
||||||
let flag = Qemuopts.flag cmd
|
let flag = Qemuopts.flag cmd
|
||||||
and arg = Qemuopts.arg cmd
|
and arg = Qemuopts.arg cmd
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -107,6 +107,3 @@ index 9790416e..97b4e4ec 100644
|
|||||||
[ L"root" ], Getopt.String ("ask|... ", set_root_choice),
|
[ L"root" ], Getopt.String ("ask|... ", set_root_choice),
|
||||||
s_"How to choose root filesystem";
|
s_"How to choose root filesystem";
|
||||||
[ L"vddk-config" ], Getopt.String ("filename", set_input_option_compat "vddk-config"),
|
[ L"vddk-config" ], Getopt.String ("filename", set_input_option_compat "vddk-config"),
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -29,6 +29,3 @@ index 128bb697..7116a4f9 100644
|
|||||||
|
|
||||||
(* Find the UEFI firmware. *)
|
(* Find the UEFI firmware. *)
|
||||||
let find_uefi_firmware guest_arch =
|
let find_uefi_firmware guest_arch =
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -99,6 +99,3 @@ index a4cf191d..1ff41f6a 100755
|
|||||||
diff -u "$expected" "$response"
|
diff -u "$expected" "$response"
|
||||||
|
|
||||||
# We also update the Registry several times, for firstboot, and (ONLY
|
# We also update the Registry several times, for firstboot, and (ONLY
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -21,6 +21,3 @@ index 508adf9d..20f2e898 100644
|
|||||||
s_listen = LNoListen; s_port = None };
|
s_listen = LNoListen; s_port = None };
|
||||||
s_sound = None;
|
s_sound = None;
|
||||||
s_disks = s_disks;
|
s_disks = s_disks;
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -21,6 +21,3 @@ index 8080ebea..ad5772de 100644
|
|||||||
|
|
||||||
=head1 INPUT FROM XEN
|
=head1 INPUT FROM XEN
|
||||||
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -122,6 +122,3 @@ index 9815f51f..1ffc0f9d 100644
|
|||||||
|
|
||||||
=head2 Guest firmware
|
=head2 Guest firmware
|
||||||
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -214,6 +214,3 @@ index 97b4e4ec..41e020cb 100644
|
|||||||
| `Openstack -> (module Output_openstack.Openstack)
|
| `Openstack -> (module Output_openstack.Openstack)
|
||||||
| `RHV_Upload -> (module Output_rhv_upload.RHVUpload)
|
| `RHV_Upload -> (module Output_rhv_upload.RHVUpload)
|
||||||
| `RHV -> (module Output_rhv.RHV)
|
| `RHV -> (module Output_rhv.RHV)
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -82,6 +82,3 @@ index 41e020cb..e00f9814 100644
|
|||||||
[ L"mac" ], Getopt.String ("mac:network|bridge|ip:out", add_mac),
|
[ L"mac" ], Getopt.String ("mac:network|bridge|ip:out", add_mac),
|
||||||
s_"Map NIC to network or bridge or assign static IP";
|
s_"Map NIC to network or bridge or assign static IP";
|
||||||
[ S 'n'; L"network" ], Getopt.String ("in:out", add_network),
|
[ S 'n'; L"network" ], Getopt.String ("in:out", add_network),
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -1123,6 +1123,3 @@ index e00f9814..994982ac 100644
|
|||||||
|
|
||||||
let output_options = {
|
let output_options = {
|
||||||
Output.output_alloc = output_alloc;
|
Output.output_alloc = output_alloc;
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -25,6 +25,3 @@ index ebab6198..00000000
|
|||||||
@@ -1,2 +0,0 @@
|
@@ -1,2 +0,0 @@
|
||||||
-/* Dummy source, to be used for OCaml-based tools with no C sources. */
|
-/* Dummy source, to be used for OCaml-based tools with no C sources. */
|
||||||
-enum { foo = 1 };
|
-enum { foo = 1 };
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -77,6 +77,3 @@ index 5a974d1b..5c5cae7c 100755
|
|||||||
|
|
||||||
# Don't try to update Windows versions.
|
# Don't try to update Windows versions.
|
||||||
case "$guestname" in
|
case "$guestname" in
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -103,6 +103,3 @@ index 6b8cda62..da1db473 100644
|
|||||||
+ </channel>
|
+ </channel>
|
||||||
</devices>
|
</devices>
|
||||||
</domain>
|
</domain>
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -80,6 +80,3 @@ index 79462aa1..2ddbc07a 100644
|
|||||||
|
|
||||||
and configure_kernel () =
|
and configure_kernel () =
|
||||||
(* Previously this function would try to install kernels, but we
|
(* Previously this function would try to install kernels, but we
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -117,6 +117,3 @@ index 2ddbc07a..59d143bd 100644
|
|||||||
|
|
||||||
and configure_kernel () =
|
and configure_kernel () =
|
||||||
(* Previously this function would try to install kernels, but we
|
(* Previously this function would try to install kernels, but we
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -120,6 +120,3 @@ index a1e8c246..23d1b9cd 100644
|
|||||||
let disks = get_disks dir in
|
let disks = get_disks dir in
|
||||||
let output_alloc, output_format,
|
let output_alloc, output_format,
|
||||||
output_name, output_storage,
|
output_name, output_storage,
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -47,6 +47,3 @@ index 5e0e6c2b..b678dc92 100644
|
|||||||
g#set_network true;
|
g#set_network true;
|
||||||
List.iter (
|
List.iter (
|
||||||
fun { s_disk_id = i } ->
|
fun { s_disk_id = i } ->
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -140,6 +140,3 @@ index 8d3d6865..c1f0f53d 100644
|
|||||||
Types.output_allocation ->
|
Types.output_allocation ->
|
||||||
string -> string -> int64 -> string ->
|
string -> string -> int64 -> string ->
|
||||||
unit
|
unit
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -270,6 +270,3 @@ index 527d3c5e..e7efbb73 100644
|
|||||||
output_name, output_storage = options in
|
output_name, output_storage = options in
|
||||||
|
|
||||||
let { guestcaps; target_buses; target_firmware } = target_meta in
|
let { guestcaps; target_buses; target_firmware } = target_meta in
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -112,6 +112,3 @@ index bdfd3418..6c5f5938 100755
|
|||||||
# Test the disk is qcow2 format.
|
# Test the disk is qcow2 format.
|
||||||
if [ "$(guestfish disk-format $d/windows-sda)" != qcow2 ]; then
|
if [ "$(guestfish disk-format $d/windows-sda)" != qcow2 ]; then
|
||||||
echo "$0: test failed: output is not qcow2"
|
echo "$0: test failed: output is not qcow2"
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -45,6 +45,3 @@ index a26ecf7a..47e5f10d 100644
|
|||||||
test-v2v-o-null.sh \
|
test-v2v-o-null.sh \
|
||||||
test-v2v-o-openstack.sh \
|
test-v2v-o-openstack.sh \
|
||||||
test-v2v-o-qemu.sh \
|
test-v2v-o-qemu.sh \
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -20,6 +20,3 @@ index 47e5f10d..9560cc77 100644
|
|||||||
test-v2v-fedora-luks-on-lvm-conversion.sh \
|
test-v2v-fedora-luks-on-lvm-conversion.sh \
|
||||||
test-v2v-fedora-lvm-on-luks-conversion.sh \
|
test-v2v-fedora-lvm-on-luks-conversion.sh \
|
||||||
test-v2v-fedora-md-conversion.sh \
|
test-v2v-fedora-md-conversion.sh \
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -78,6 +78,3 @@ index 59d143bd..a66ff1e4 100644
|
|||||||
else if PCRE.matches rex_device value then (
|
else if PCRE.matches rex_device value then (
|
||||||
let device = PCRE.sub 1
|
let device = PCRE.sub 1
|
||||||
and part = try PCRE.sub 2 with Not_found -> "" in
|
and part = try PCRE.sub 2 with Not_found -> "" in
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -47,6 +47,3 @@ index ad5772de..80ad94f7 100644
|
|||||||
With some modern ssh implementations, legacy crypto policies required
|
With some modern ssh implementations, legacy crypto policies required
|
||||||
to interoperate with RHEL 5 sshd are disabled. To enable them you may
|
to interoperate with RHEL 5 sshd are disabled. To enable them you may
|
||||||
need to run this command on the conversion server (ie. ssh client),
|
need to run this command on the conversion server (ie. ssh client),
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -80,6 +80,3 @@ index 80ad94f7..1775fc31 100644
|
|||||||
|
|
||||||
=head2 Test libvirt connection to remote Xen host
|
=head2 Test libvirt connection to remote Xen host
|
||||||
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -170,6 +170,3 @@ index 54ccd1b5..ecf46c2d 100644
|
|||||||
let path = tmpdir // name in
|
let path = tmpdir // name in
|
||||||
with_open_out path (fun chan -> output_string chan code);
|
with_open_out path (fun chan -> output_string chan code);
|
||||||
{ tmpdir; path }
|
{ tmpdir; path }
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -138,10 +138,10 @@ index 9bcf104f..66a85542 100644
|
|||||||
Similar to [Stdlib.at_exit] but also runs if the program is
|
Similar to [Stdlib.at_exit] but also runs if the program is
|
||||||
- killed with a signal that we can catch. *)
|
- killed with a signal that we can catch. *)
|
||||||
+ killed with a signal that we can catch.
|
+ killed with a signal that we can catch.
|
||||||
|
+
|
||||||
|
+ [?prio] is the priority, default 5000. See the description above. *)
|
||||||
|
|
||||||
-val unlink : string -> unit
|
-val unlink : string -> unit
|
||||||
+ [?prio] is the priority, default 5000. See the description above. *)
|
|
||||||
+
|
|
||||||
+val unlink : ?prio:int -> string -> unit
|
+val unlink : ?prio:int -> string -> unit
|
||||||
(** Unlink a single temporary file on exit. *)
|
(** Unlink a single temporary file on exit. *)
|
||||||
|
|
||||||
@ -169,6 +169,3 @@ index 8571e07b..15a2c14a 100644
|
|||||||
fun () ->
|
fun () ->
|
||||||
let cmd = [ "umount"; mp ] in
|
let cmd = [ "umount"; mp ] in
|
||||||
ignore (run_command cmd);
|
ignore (run_command cmd);
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -177,6 +177,3 @@ index c1f0f53d..c4486311 100644
|
|||||||
|
|
||||||
val disk_path : string -> string -> int -> string
|
val disk_path : string -> string -> int -> string
|
||||||
(** For [-o disk|qemu], return the output disk name of the i'th disk,
|
(** For [-o disk|qemu], return the output disk name of the i'th disk,
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -31,6 +31,3 @@ index 15a2c14a..45f831e3 100644
|
|||||||
output_alloc output_format filename size socket
|
output_alloc output_format filename size socket
|
||||||
) (List.combine disks filenames);
|
) (List.combine disks filenames);
|
||||||
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
@ -64,6 +64,3 @@ index 531a4f75..bd01304d 100644
|
|||||||
(match source.s_cpu_vendor with
|
(match source.s_cpu_vendor with
|
||||||
| None -> ()
|
| None -> ()
|
||||||
| Some vendor ->
|
| Some vendor ->
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
||||||
|
59
0031-input-xen-cover-RHEL9-OpenSSL-crypto-settings.patch
Normal file
59
0031-input-xen-cover-RHEL9-OpenSSL-crypto-settings.patch
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
From 9e1c78a4dda8e8f504fd8f01d7ff5a02e6d3b8ff Mon Sep 17 00:00:00 2001
|
||||||
|
From: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Date: Fri, 29 Jul 2022 12:57:03 +0200
|
||||||
|
Subject: [PATCH] input-xen: cover RHEL9 OpenSSL crypto settings
|
||||||
|
|
||||||
|
In [master] commit af4a0454cdd2 ("input-xen: replace "enable LEGACY
|
||||||
|
crypto" advice with targeted ssh options", 2022-07-11), we documented how
|
||||||
|
the libssh / openssh crypto settings needed to be relaxed, for connecting
|
||||||
|
to RHEL5 sshd. [rhel-9.1 commit: 3f7f730ac9cb.]
|
||||||
|
|
||||||
|
It turns out that in RHEL9, the non-LEGACY crypto policies disable SHA1 in
|
||||||
|
signature algorithms even at the OpenSSL level. Explain how the user can
|
||||||
|
re-enable that separately, for individual virt-v2v invocations.
|
||||||
|
|
||||||
|
The method depends on Rich's libvirt commit 45912ac399ab ("rpc: Pass
|
||||||
|
OPENSSL_CONF through to ssh invocations", 2022-07-25), which is is going
|
||||||
|
to be released in upstream libvirt v8.6.0.
|
||||||
|
|
||||||
|
Thanks: Dmitry Belyavskiy & Rich Jones
|
||||||
|
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2062360
|
||||||
|
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Message-Id: <20220729105703.10150-1-lersek@redhat.com>
|
||||||
|
Reviewed-by: Richard W.M. Jones <rjones@redhat.com>
|
||||||
|
(cherry picked from commit ddab06d5eb99696f5fd1073b8ec91efbc8c3e4ab)
|
||||||
|
---
|
||||||
|
docs/virt-v2v-input-xen.pod | 20 ++++++++++++++++++++
|
||||||
|
1 file changed, 20 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/docs/virt-v2v-input-xen.pod b/docs/virt-v2v-input-xen.pod
|
||||||
|
index 1775fc31..9c3981e1 100644
|
||||||
|
--- a/docs/virt-v2v-input-xen.pod
|
||||||
|
+++ b/docs/virt-v2v-input-xen.pod
|
||||||
|
@@ -54,6 +54,26 @@ new one. Virt-v2v uses both C<libssh> and C<ssh> when converting a guest
|
||||||
|
from Xen, and on some operating systems, C<libssh> and C<ssh> may not
|
||||||
|
both accept the same option variant.)
|
||||||
|
|
||||||
|
+When connecting to RHEL 5 sshd from RHEL 9, the SHA1 algorithm's use in
|
||||||
|
+signatures has to be re-enabled at the OpenSSL level, in addition to the
|
||||||
|
+above SSH configuration. Create a file called F<$HOME/openssl-sha1.cnf>
|
||||||
|
+with the following contents:
|
||||||
|
+
|
||||||
|
+ .include /etc/ssl/openssl.cnf
|
||||||
|
+ [openssl_init]
|
||||||
|
+ alg_section = evp_properties
|
||||||
|
+ [evp_properties]
|
||||||
|
+ rh-allow-sha1-signatures = yes
|
||||||
|
+
|
||||||
|
+and export the following variable into the environment of the
|
||||||
|
+C<virt-v2v> process:
|
||||||
|
+
|
||||||
|
+ OPENSSL_CONF=$HOME/openssl-sha1.cnf
|
||||||
|
+
|
||||||
|
+Note that the C<OPENSSL_CONF> environment variable will only take effect
|
||||||
|
+if the libvirt client library used by virt-v2v is at least version
|
||||||
|
+8.6.0.
|
||||||
|
+
|
||||||
|
=head2 Test libvirt connection to remote Xen host
|
||||||
|
|
||||||
|
Use the L<virsh(1)> command to list the guests on the remote Xen host:
|
@ -36,7 +36,12 @@ git rm -f [0-9]*.patch ||:
|
|||||||
rm -f [0-9]*.patch
|
rm -f [0-9]*.patch
|
||||||
|
|
||||||
# Get the patches.
|
# Get the patches.
|
||||||
(cd $git_checkout; rm -f [0-9]*.patch; git -c core.abbrev=8 format-patch -O/dev/null --subject-prefix=PATCH -N --submodule=diff $tag)
|
(
|
||||||
|
cd $git_checkout
|
||||||
|
rm -f [0-9]*.patch
|
||||||
|
git -c core.abbrev=8 format-patch -O/dev/null --subject-prefix=PATCH -N \
|
||||||
|
--submodule=diff --no-signature --patience $tag
|
||||||
|
)
|
||||||
mv $git_checkout/[0-9]*.patch .
|
mv $git_checkout/[0-9]*.patch .
|
||||||
|
|
||||||
# Remove any not to be applied.
|
# Remove any not to be applied.
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
Name: virt-v2v
|
Name: virt-v2v
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 2.0.7
|
Version: 2.0.7
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
Summary: Convert a virtual machine to run on KVM
|
Summary: Convert a virtual machine to run on KVM
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -63,6 +63,7 @@ Patch0027: 0027-o-rhv-Unmount-the-temporary-NFS-mountpoint-as-late-a.patch
|
|||||||
Patch0028: 0028-output-Permit-output-modes-to-wait-on-the-local-NBD-.patch
|
Patch0028: 0028-output-Permit-output-modes-to-wait-on-the-local-NBD-.patch
|
||||||
Patch0029: 0029-o-rhv-Wait-for-the-NBD-server-to-exit-to-avoid-a-rac.patch
|
Patch0029: 0029-o-rhv-Wait-for-the-NBD-server-to-exit-to-avoid-a-rac.patch
|
||||||
Patch0030: 0030-output-create_libvirt_xml-relax-VCPU-feature-checkin.patch
|
Patch0030: 0030-output-create_libvirt_xml-relax-VCPU-feature-checkin.patch
|
||||||
|
Patch0031: 0031-input-xen-cover-RHEL9-OpenSSL-crypto-settings.patch
|
||||||
|
|
||||||
%if !0%{?rhel}
|
%if !0%{?rhel}
|
||||||
# libguestfs hasn't been built on i686 for a while since there is no
|
# libguestfs hasn't been built on i686 for a while since there is no
|
||||||
@ -341,6 +342,9 @@ rm $RPM_BUILD_ROOT%{_mandir}/man1/virt-v2v-in-place.1*
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jul 29 2022 Laszlo Ersek <lersek@redhat.com> - 1:2.0.7-4
|
||||||
|
- Remove legacy crypto advice and replace with targeted mechanism
|
||||||
|
resolves: rhbz#2062360
|
||||||
* Mon Jul 25 2022 Laszlo Ersek <lersek@redhat.com> - 1:2.0.7-3
|
* Mon Jul 25 2022 Laszlo Ersek <lersek@redhat.com> - 1:2.0.7-3
|
||||||
- relax qemu64 VCPU feature checking in the libvirt output
|
- relax qemu64 VCPU feature checking in the libvirt output
|
||||||
resolves rhbz#2107503
|
resolves rhbz#2107503
|
||||||
@ -398,8 +402,6 @@ rm $RPM_BUILD_ROOT%{_mandir}/man1/virt-v2v-in-place.1*
|
|||||||
resolves: rhbz#2101665
|
resolves: rhbz#2101665
|
||||||
- Improve documentation of vmx+ssh and -ip option
|
- Improve documentation of vmx+ssh and -ip option
|
||||||
resolves: rhbz#1854275
|
resolves: rhbz#1854275
|
||||||
- Remove legacy crypto advice and replace with targeted mechanism
|
|
||||||
resolves: rhbz#2062360
|
|
||||||
- Fix race condition when unmounting in -o rhv mode (1953286#c26)
|
- Fix race condition when unmounting in -o rhv mode (1953286#c26)
|
||||||
|
|
||||||
* Tue Feb 15 2022 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.99-1
|
* Tue Feb 15 2022 Richard W.M. Jones <rjones@redhat.com> - 1:1.45.99-1
|
||||||
|
Loading…
Reference in New Issue
Block a user