Blame SOURCES/0011-RHEL-Reject-use-of-libguestfs-winsupport-features-ex.patch

a7e38b
From 6372b9cd8bb2d8a183fc6d2ca4688047a0474c2f Mon Sep 17 00:00:00 2001
a7e38b
From: "Richard W.M. Jones" <rjones@redhat.com>
a7e38b
Date: Tue, 7 Jul 2015 09:28:03 -0400
a7e38b
Subject: [PATCH] RHEL: Reject use of libguestfs-winsupport features except for
a7e38b
 virt-* tools (RHBZ#1240276).
a7e38b
a7e38b
Fix the tests: it doesn't let us use guestfish for arbitrary Windows
a7e38b
edits.
a7e38b
---
a7e38b
 generator/c.ml                             | 16 ++++++++++++++++
a7e38b
 test-data/phony-guests/make-windows-img.sh |  1 +
a7e38b
 tests/charsets/test-charset-fidelity.c     |  2 ++
a7e38b
 3 files changed, 19 insertions(+)
a7e38b
a7e38b
diff --git a/generator/c.ml b/generator/c.ml
a7e38b
index ea69abf76..56ee38aa4 100644
a7e38b
--- a/generator/c.ml
a7e38b
+++ b/generator/c.ml
a7e38b
@@ -1846,6 +1846,22 @@ and generate_client_actions actions () =
a7e38b
     check_args_validity c_name style;
a7e38b
     trace_call name c_name style;
a7e38b
 
a7e38b
+    (* RHEL 8 *)
a7e38b
+    if name = "mount" || name = "mount_ro" || name = "mount_options" ||
a7e38b
+       name = "mount_vfs" then (
a7e38b
+      pr "  if (g->program && !STRPREFIX (g->program, \"virt-\")) {\n";
a7e38b
+      pr "    CLEANUP_FREE char *vfs_type = guestfs_vfs_type (g, mountable);\n";
a7e38b
+      pr "    if (vfs_type && STREQ (vfs_type, \"ntfs\")) {\n";
a7e38b
+      pr "      error (g, \"mount: unsupported filesystem type\");\n";
a7e38b
+      pr "      if (trace_flag)\n";
a7e38b
+      pr "        guestfs_int_trace (g, \"%%s = %%s (error)\",\n";
a7e38b
+      pr "                              \"%s\", \"-1\");\n" name;
a7e38b
+      pr "      return %s;\n" (string_of_errcode errcode);
a7e38b
+      pr "    }\n";
a7e38b
+      pr "  }\n";
a7e38b
+      pr "\n";
a7e38b
+    );
a7e38b
+
a7e38b
     (* Calculate the total size of all FileIn arguments to pass
a7e38b
      * as a progress bar hint.
a7e38b
      *)
a7e38b
diff --git a/test-data/phony-guests/make-windows-img.sh b/test-data/phony-guests/make-windows-img.sh
a7e38b
index 30908a918..73cf5144e 100755
a7e38b
--- a/test-data/phony-guests/make-windows-img.sh
a7e38b
+++ b/test-data/phony-guests/make-windows-img.sh
a7e38b
@@ -37,6 +37,7 @@ fi
a7e38b
 
a7e38b
 # Create a disk image.
a7e38b
 guestfish <
a7e38b
+set-program virt-testing
a7e38b
 sparse windows.img-t 512M
a7e38b
 run
a7e38b
 
a7e38b
diff --git a/tests/charsets/test-charset-fidelity.c b/tests/charsets/test-charset-fidelity.c
a7e38b
index 105291dc3..5ca4f3b6d 100644
a7e38b
--- a/tests/charsets/test-charset-fidelity.c
a7e38b
+++ b/tests/charsets/test-charset-fidelity.c
a7e38b
@@ -96,6 +96,8 @@ main (int argc, char *argv[])
a7e38b
   if (g == NULL)
a7e38b
     error (EXIT_FAILURE, 0, "failed to create handle");
a7e38b
 
a7e38b
+  guestfs_set_program (g, "virt-testing");
a7e38b
+
a7e38b
   if (guestfs_add_drive_scratch (g, 1024*1024*1024, -1) == -1)
a7e38b
     exit (EXIT_FAILURE);
a7e38b
 
a7e38b
-- 
a7e38b
2.31.1
a7e38b