import libosinfo-1.5.0-3.el8
This commit is contained in:
parent
d2d7d22254
commit
1bc492345d
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
|||||||
SOURCES/libosinfo-1.2.0.tar.gz
|
SOURCES/libosinfo-1.5.0.tar.gz
|
||||||
|
@ -1 +1 @@
|
|||||||
e79bcc14f0506e75e8fd4a2845155d50dc493a85 SOURCES/libosinfo-1.2.0.tar.gz
|
0ec54e6e1972c4fbfc97179f943d4f9a2902b879 SOURCES/libosinfo-1.5.0.tar.gz
|
||||||
|
62
SOURCES/0001-db-Avoid-dereference-of-null-pointer.patch
Normal file
62
SOURCES/0001-db-Avoid-dereference-of-null-pointer.patch
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
From cb509ad153a35053e1e003d73fd0ece53bd2c3d8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@redhat.com>
|
||||||
|
Date: Tue, 21 May 2019 13:01:26 +0200
|
||||||
|
Subject: [PATCH 1/3] db: Avoid dereference of null pointer
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
As any consumer of libosinfo API may pass NULL as the @matched argument
|
||||||
|
of compare_tree(), the current code could be dereferencing a NULL
|
||||||
|
pointer when calling `osinfo_tree_set_os()`.
|
||||||
|
|
||||||
|
In order to avoid doing so, let's set the os to the OsinfoTree at the
|
||||||
|
moment the @matched argument is set.
|
||||||
|
|
||||||
|
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
|
||||||
|
Reviewed-by: Cole Robinson <crobinso@redhat.com>
|
||||||
|
(cherry picked from commit 949ad5e05480470ba1a5913fbec538314807dfc2)
|
||||||
|
---
|
||||||
|
osinfo/osinfo_db.c | 10 ++++++----
|
||||||
|
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/osinfo/osinfo_db.c b/osinfo/osinfo_db.c
|
||||||
|
index b7da2b7..c4cd1e4 100644
|
||||||
|
--- a/osinfo/osinfo_db.c
|
||||||
|
+++ b/osinfo/osinfo_db.c
|
||||||
|
@@ -790,6 +790,7 @@ static gboolean compare_tree(OsinfoTree *tree,
|
||||||
|
OsinfoTreeList *tree_list = osinfo_os_get_tree_list(os);
|
||||||
|
GList *trees = osinfo_list_get_elements(OSINFO_LIST(tree_list));
|
||||||
|
GList *tree_iter;
|
||||||
|
+ gboolean found = FALSE;
|
||||||
|
|
||||||
|
for (tree_iter = trees; tree_iter; tree_iter = tree_iter->next) {
|
||||||
|
OsinfoTree *os_tree = OSINFO_TREE(tree_iter->data);
|
||||||
|
@@ -820,8 +821,11 @@ static gboolean compare_tree(OsinfoTree *tree,
|
||||||
|
match_regex(os_treeinfo_version, treeinfo_version) &&
|
||||||
|
match_regex(os_treeinfo_arch, treeinfo_arch)) {
|
||||||
|
*ret_os = os;
|
||||||
|
- if (matched != NULL)
|
||||||
|
+ if (matched != NULL) {
|
||||||
|
*matched = os_tree;
|
||||||
|
+ osinfo_tree_set_os(*matched, *ret_os);
|
||||||
|
+ found = TRUE;
|
||||||
|
+ }
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -829,10 +833,8 @@ static gboolean compare_tree(OsinfoTree *tree,
|
||||||
|
g_list_free(trees);
|
||||||
|
g_object_unref(tree_list);
|
||||||
|
|
||||||
|
- if (*ret_os != NULL) {
|
||||||
|
- osinfo_tree_set_os(*matched, *ret_os);
|
||||||
|
+ if (found)
|
||||||
|
return TRUE;
|
||||||
|
- }
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
@ -1,39 +0,0 @@
|
|||||||
From c458e1aa57e3c55b56afee699112fa35a3839ba9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?V=C4=9Bra=20Cholasta?= <vbudikov@redhat.com>
|
|
||||||
Date: Wed, 17 Oct 2018 19:22:59 +0200
|
|
||||||
Subject: [PATCH] test-isodetect: replace while loop with for loop
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
|
|
||||||
---
|
|
||||||
tests/test-isodetect.c | 5 +----
|
|
||||||
1 file changed, 1 insertion(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/tests/test-isodetect.c b/tests/test-isodetect.c
|
|
||||||
index 415770b..b3834b9 100644
|
|
||||||
--- a/tests/test-isodetect.c
|
|
||||||
+++ b/tests/test-isodetect.c
|
|
||||||
@@ -388,8 +388,7 @@ static void test_one(const gchar *vendor)
|
|
||||||
|
|
||||||
g_assert_nonnull(isos);
|
|
||||||
|
|
||||||
- tmp = isos;
|
|
||||||
- while (tmp) {
|
|
||||||
+ for (tmp = isos; tmp; tmp = tmp->next) {
|
|
||||||
struct ISOInfo *info = tmp->data;
|
|
||||||
gboolean matched = osinfo_db_identify_media(db, info->media);
|
|
||||||
OsinfoOs *os;
|
|
||||||
@@ -406,8 +405,6 @@ static void test_one(const gchar *vendor)
|
|
||||||
g_assert_cmpstr(shortid, ==, info->shortid);
|
|
||||||
g_object_unref(G_OBJECT(os));
|
|
||||||
test_langs(info);
|
|
||||||
-
|
|
||||||
- tmp = tmp->next;
|
|
||||||
}
|
|
||||||
|
|
||||||
g_list_foreach(isos, (GFunc)free_iso, NULL);
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
@ -1,59 +0,0 @@
|
|||||||
From 8c7d89af16b943ce8746c2838277c7033967308f Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?V=C4=9Bra=20Cholasta?= <vbudikov@redhat.com>
|
|
||||||
Date: Wed, 17 Oct 2018 19:23:00 +0200
|
|
||||||
Subject: [PATCH] test-isodetect: continue after failure
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
https://bugzilla.redhat.com/show_bug.cgi?id=1639108
|
|
||||||
|
|
||||||
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
|
|
||||||
---
|
|
||||||
configure.ac | 4 ++--
|
|
||||||
tests/test-isodetect.c | 7 +++++--
|
|
||||||
2 files changed, 7 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index f7f1c72..c0917d4 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -37,8 +37,8 @@ m4_if(m4_version_compare([2.61a.100],
|
|
||||||
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
|
|
||||||
|
|
||||||
# Keep these two definitions in agreement.
|
|
||||||
-GLIB_MINIMUM_VERSION="2.36"
|
|
||||||
-GLIB_ENCODED_VERSION="GLIB_VERSION_2_36"
|
|
||||||
+GLIB_MINIMUM_VERSION="2.38"
|
|
||||||
+GLIB_ENCODED_VERSION="GLIB_VERSION_2_38"
|
|
||||||
|
|
||||||
PKG_CHECK_MODULES([LIBXML], [libxml-2.0 >= 2.6.0])
|
|
||||||
PKG_CHECK_MODULES([LIBXSLT], [libxslt >= 1.0.0])
|
|
||||||
diff --git a/tests/test-isodetect.c b/tests/test-isodetect.c
|
|
||||||
index b3834b9..b2a4e06 100644
|
|
||||||
--- a/tests/test-isodetect.c
|
|
||||||
+++ b/tests/test-isodetect.c
|
|
||||||
@@ -396,8 +396,10 @@ static void test_one(const gchar *vendor)
|
|
||||||
g_test_message("checking OS %s for ISO %s",
|
|
||||||
info->shortid, info->filename);
|
|
||||||
if (!matched) {
|
|
||||||
- g_error("ISO %s was not matched by OS %s",
|
|
||||||
- info->filename, info->shortid);
|
|
||||||
+ g_printerr("ISO %s was not matched by OS %s\n/isodetect/%s: ",
|
|
||||||
+ info->filename, info->shortid, vendor);
|
|
||||||
+ g_test_fail();
|
|
||||||
+ continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
g_object_get(info->media, "os", &os, NULL);
|
|
||||||
@@ -417,6 +419,7 @@ int
|
|
||||||
main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
g_test_init(&argc, &argv, NULL);
|
|
||||||
+ g_test_set_nonfatal_assertions();
|
|
||||||
|
|
||||||
GList *vendors = load_vendors(NULL);
|
|
||||||
GList *it;
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
50
SOURCES/0002-tree-Avoid-use-of-memory-after-it-s-freed.patch
Normal file
50
SOURCES/0002-tree-Avoid-use-of-memory-after-it-s-freed.patch
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
From d1baaf2946513be06f97ab66e7845e14073add3d Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@redhat.com>
|
||||||
|
Date: Tue, 21 May 2019 13:29:18 +0200
|
||||||
|
Subject: [PATCH 2/3] tree: Avoid use of memory after it's freed
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
We've been passing data->location as the @url argument of
|
||||||
|
osinfo_tree_create_from_location_async_helper(), freeing it and trying
|
||||||
|
to g_strdup() it as the new content of data->location.
|
||||||
|
|
||||||
|
In order to avoid doing so, let's set the data->location only once, in
|
||||||
|
the first caller of osinfo_tree_create_from_location_async_helper(), as
|
||||||
|
its content is always going to be the same doesn't matter the treeinfo
|
||||||
|
format to be used with.
|
||||||
|
|
||||||
|
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
|
||||||
|
Reviewed-by: Cole Robinson <crobinso@redhat.com>
|
||||||
|
(cherry picked from commit d7bc838a96acf5f058e13d2b49157b4ba396cd87)
|
||||||
|
---
|
||||||
|
osinfo/osinfo_tree.c | 5 ++---
|
||||||
|
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/osinfo/osinfo_tree.c b/osinfo/osinfo_tree.c
|
||||||
|
index 88a2d6e..ab498f0 100644
|
||||||
|
--- a/osinfo/osinfo_tree.c
|
||||||
|
+++ b/osinfo/osinfo_tree.c
|
||||||
|
@@ -702,9 +702,6 @@ osinfo_tree_create_from_location_async_helper(const gchar *url,
|
||||||
|
g_clear_object(&data->file);
|
||||||
|
data->file = g_file_new_for_uri(location);
|
||||||
|
|
||||||
|
- g_free(data->location);
|
||||||
|
- data->location = g_strdup(url);
|
||||||
|
-
|
||||||
|
g_free(data->treeinfo);
|
||||||
|
data->treeinfo = g_strdup(treeinfo);
|
||||||
|
|
||||||
|
@@ -740,6 +737,8 @@ void osinfo_tree_create_from_location_async(const gchar *location,
|
||||||
|
user_data);
|
||||||
|
g_task_set_priority(data->res, priority);
|
||||||
|
|
||||||
|
+ data->location = g_strdup(location);
|
||||||
|
+
|
||||||
|
osinfo_tree_create_from_location_async_helper(location,
|
||||||
|
".treeinfo",
|
||||||
|
cancellable,
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
@ -1,43 +0,0 @@
|
|||||||
From 9ac796a5476d9973376fbea9d49876ddc1c7008c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Vera Cholasta <vbudikov@redhat.com>
|
|
||||||
Date: Thu, 8 Nov 2018 20:51:19 +0100
|
|
||||||
Subject: [PATCH] tests: continue after failure in mediauris & treeuris
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
https://bugzilla.redhat.com/show_bug.cgi?id=1639108
|
|
||||||
|
|
||||||
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
|
|
||||||
---
|
|
||||||
tests/test-mediauris.c | 1 +
|
|
||||||
tests/test-treeuris.c | 1 +
|
|
||||||
2 files changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/tests/test-mediauris.c b/tests/test-mediauris.c
|
|
||||||
index 4bf8ead..811b57f 100644
|
|
||||||
--- a/tests/test-mediauris.c
|
|
||||||
+++ b/tests/test-mediauris.c
|
|
||||||
@@ -116,6 +116,7 @@ main(int argc, char *argv[])
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
g_test_init(&argc, &argv, NULL);
|
|
||||||
+ g_test_set_nonfatal_assertions();
|
|
||||||
|
|
||||||
g_test_add_func("/mediauris/uris", test_uris);
|
|
||||||
|
|
||||||
diff --git a/tests/test-treeuris.c b/tests/test-treeuris.c
|
|
||||||
index 2b37bfb..bba3aa0 100644
|
|
||||||
--- a/tests/test-treeuris.c
|
|
||||||
+++ b/tests/test-treeuris.c
|
|
||||||
@@ -116,6 +116,7 @@ main(int argc, char *argv[])
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
g_test_init(&argc, &argv, NULL);
|
|
||||||
+ g_test_set_nonfatal_assertions();
|
|
||||||
|
|
||||||
g_test_add_func("/treeuris/uris", test_uris);
|
|
||||||
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
@ -0,0 +1,92 @@
|
|||||||
|
From 97d60a2e53439d6ad1a462267c3bdf0f09a6f7c8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@redhat.com>
|
||||||
|
Date: Tue, 21 May 2019 13:33:27 +0200
|
||||||
|
Subject: [PATCH 3/3] tree: Cleanup _create_from_location_async_helper()
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
There's no need to pass neither the URL nor the cancellable to this
|
||||||
|
function as those can be taken directly from data.
|
||||||
|
|
||||||
|
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
|
||||||
|
Reviewed-by: Cole Robinson <crobinso@redhat.com>
|
||||||
|
(cherry picked from commit dfda02598034737610b69fdd08d62f62cbf5b0cb)
|
||||||
|
---
|
||||||
|
osinfo/osinfo_tree.c | 27 ++++++++-------------------
|
||||||
|
1 file changed, 8 insertions(+), 19 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/osinfo/osinfo_tree.c b/osinfo/osinfo_tree.c
|
||||||
|
index ab498f0..0f14276 100644
|
||||||
|
--- a/osinfo/osinfo_tree.c
|
||||||
|
+++ b/osinfo/osinfo_tree.c
|
||||||
|
@@ -631,10 +631,8 @@ static OsinfoTree *load_keyinfo(const gchar *location,
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
-osinfo_tree_create_from_location_async_helper(const gchar *url,
|
||||||
|
- const gchar *treeinfo,
|
||||||
|
- GCancellable *cancellable,
|
||||||
|
- CreateFromLocationAsyncData *data);
|
||||||
|
+osinfo_tree_create_from_location_async_helper(CreateFromLocationAsyncData *data,
|
||||||
|
+ const gchar *treeinfo);
|
||||||
|
|
||||||
|
static void on_location_read(GObject *source,
|
||||||
|
GAsyncResult *res,
|
||||||
|
@@ -657,10 +655,7 @@ static void on_location_read(GObject *source,
|
||||||
|
/* It means no ".treeinfo" file has been found. Try again, this time
|
||||||
|
* looking for a "treeinfo" file. */
|
||||||
|
if (g_str_equal(data->treeinfo, ".treeinfo")) {
|
||||||
|
- osinfo_tree_create_from_location_async_helper(data->location,
|
||||||
|
- "treeinfo",
|
||||||
|
- g_task_get_cancellable(data->res),
|
||||||
|
- data);
|
||||||
|
+ osinfo_tree_create_from_location_async_helper(data, "treeinfo");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -687,17 +682,14 @@ static void on_location_read(GObject *source,
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
-osinfo_tree_create_from_location_async_helper(const gchar *url,
|
||||||
|
- const gchar *treeinfo,
|
||||||
|
- GCancellable *cancellable,
|
||||||
|
- CreateFromLocationAsyncData *data)
|
||||||
|
+osinfo_tree_create_from_location_async_helper(CreateFromLocationAsyncData *data,
|
||||||
|
+ const gchar *treeinfo)
|
||||||
|
{
|
||||||
|
gchar *location;
|
||||||
|
|
||||||
|
- g_return_if_fail(url != NULL);
|
||||||
|
g_return_if_fail(treeinfo != NULL);
|
||||||
|
|
||||||
|
- location = g_strdup_printf("%s/%s", url, treeinfo);
|
||||||
|
+ location = g_strdup_printf("%s/%s", data->location, treeinfo);
|
||||||
|
|
||||||
|
g_clear_object(&data->file);
|
||||||
|
data->file = g_file_new_for_uri(location);
|
||||||
|
@@ -706,7 +698,7 @@ osinfo_tree_create_from_location_async_helper(const gchar *url,
|
||||||
|
data->treeinfo = g_strdup(treeinfo);
|
||||||
|
|
||||||
|
g_file_load_contents_async(data->file,
|
||||||
|
- cancellable,
|
||||||
|
+ g_task_get_cancellable(data->res),
|
||||||
|
on_location_read,
|
||||||
|
data);
|
||||||
|
g_free(location);
|
||||||
|
@@ -739,10 +731,7 @@ void osinfo_tree_create_from_location_async(const gchar *location,
|
||||||
|
|
||||||
|
data->location = g_strdup(location);
|
||||||
|
|
||||||
|
- osinfo_tree_create_from_location_async_helper(location,
|
||||||
|
- ".treeinfo",
|
||||||
|
- cancellable,
|
||||||
|
- data);
|
||||||
|
+ osinfo_tree_create_from_location_async_helper(data, ".treeinfo");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
@ -1,286 +0,0 @@
|
|||||||
From b5274811ca21ed3ff672a3530a0d78e9d034d77b Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@redhat.com>
|
|
||||||
Date: Thu, 15 Nov 2018 16:13:31 +0100
|
|
||||||
Subject: [PATCH] rhel: Add rhel8.0 isodata
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
|
|
||||||
Reviewed-by: Christophe Fergeau <cfergeau@redhat.com>
|
|
||||||
---
|
|
||||||
.../RHEL-8.0-20181113.1-aarch64-boot.iso.txt | 29 +++++++++++++++++++
|
|
||||||
.../RHEL-8.0-20181113.1-aarch64-dvd1.iso.txt | 29 +++++++++++++++++++
|
|
||||||
.../RHEL-8.0-20181113.1-ppc64le-boot.iso.txt | 16 ++++++++++
|
|
||||||
.../RHEL-8.0-20181113.1-ppc64le-dvd1.iso.txt | 16 ++++++++++
|
|
||||||
.../RHEL-8.0-20181113.1-s390x-boot.iso.txt | 29 +++++++++++++++++++
|
|
||||||
.../RHEL-8.0-20181113.1-s390x-dvd1.iso.txt | 29 +++++++++++++++++++
|
|
||||||
.../RHEL-8.0-20181113.1-x86_64-boot.iso.txt | 29 +++++++++++++++++++
|
|
||||||
.../RHEL-8.0-20181113.1-x86_64-dvd1.iso.txt | 29 +++++++++++++++++++
|
|
||||||
8 files changed, 206 insertions(+)
|
|
||||||
create mode 100644 tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-aarch64-boot.iso.txt
|
|
||||||
create mode 100644 tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-aarch64-dvd1.iso.txt
|
|
||||||
create mode 100644 tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-ppc64le-boot.iso.txt
|
|
||||||
create mode 100644 tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-ppc64le-dvd1.iso.txt
|
|
||||||
create mode 100644 tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-s390x-boot.iso.txt
|
|
||||||
create mode 100644 tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-s390x-dvd1.iso.txt
|
|
||||||
create mode 100644 tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-x86_64-boot.iso.txt
|
|
||||||
create mode 100644 tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-x86_64-dvd1.iso.txt
|
|
||||||
|
|
||||||
diff --git a/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-aarch64-boot.iso.txt b/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-aarch64-boot.iso.txt
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..b1b7cba
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-aarch64-boot.iso.txt
|
|
||||||
@@ -0,0 +1,29 @@
|
|
||||||
+CD-ROM is in ISO 9660 format
|
|
||||||
+System id: LINUX
|
|
||||||
+Volume id: RHEL-8-0-BaseOS-aarch64
|
|
||||||
+Volume set id:
|
|
||||||
+Publisher id:
|
|
||||||
+Data preparer id:
|
|
||||||
+Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
|
|
||||||
+Copyright File id:
|
|
||||||
+Abstract File id:
|
|
||||||
+Bibliographic File id:
|
|
||||||
+Volume set size is: 1
|
|
||||||
+Volume set sequence number is: 1
|
|
||||||
+Logical block size is: 2048
|
|
||||||
+Volume size is: 256972
|
|
||||||
+El Torito VD version 1 found, boot catalog is in sector 42
|
|
||||||
+Joliet with UCS level 3 found
|
|
||||||
+Rock Ridge signatures version 1 found
|
|
||||||
+Eltorito validation header:
|
|
||||||
+ Hid 1
|
|
||||||
+ Arch 239 (Unknown Arch)
|
|
||||||
+ ID ''
|
|
||||||
+ Key 55 AA
|
|
||||||
+ Eltorito defaultboot header:
|
|
||||||
+ Bootid 88 (bootable)
|
|
||||||
+ Boot media 0 (No Emulation Boot)
|
|
||||||
+ Load segment 0
|
|
||||||
+ Sys type 0
|
|
||||||
+ Nsect 32D0
|
|
||||||
+ Bootoff 2C 44
|
|
||||||
diff --git a/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-aarch64-dvd1.iso.txt b/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-aarch64-dvd1.iso.txt
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..ce01c02
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-aarch64-dvd1.iso.txt
|
|
||||||
@@ -0,0 +1,29 @@
|
|
||||||
+CD-ROM is in ISO 9660 format
|
|
||||||
+System id: LINUX
|
|
||||||
+Volume id: RHEL-8-0-BaseOS-aarch64
|
|
||||||
+Volume set id:
|
|
||||||
+Publisher id:
|
|
||||||
+Data preparer id:
|
|
||||||
+Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
|
|
||||||
+Copyright File id:
|
|
||||||
+Abstract File id:
|
|
||||||
+Bibliographic File id:
|
|
||||||
+Volume set size is: 1
|
|
||||||
+Volume set sequence number is: 1
|
|
||||||
+Logical block size is: 2048
|
|
||||||
+Volume size is: 2867727
|
|
||||||
+El Torito VD version 1 found, boot catalog is in sector 847
|
|
||||||
+Joliet with UCS level 3 found
|
|
||||||
+Rock Ridge signatures version 1 found
|
|
||||||
+Eltorito validation header:
|
|
||||||
+ Hid 1
|
|
||||||
+ Arch 239 (Unknown Arch)
|
|
||||||
+ ID ''
|
|
||||||
+ Key 55 AA
|
|
||||||
+ Eltorito defaultboot header:
|
|
||||||
+ Bootid 88 (bootable)
|
|
||||||
+ Boot media 0 (No Emulation Boot)
|
|
||||||
+ Load segment 0
|
|
||||||
+ Sys type 0
|
|
||||||
+ Nsect 32D0
|
|
||||||
+ Bootoff F08 3848
|
|
||||||
diff --git a/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-ppc64le-boot.iso.txt b/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-ppc64le-boot.iso.txt
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..ccf738a
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-ppc64le-boot.iso.txt
|
|
||||||
@@ -0,0 +1,16 @@
|
|
||||||
+CD-ROM is in ISO 9660 format
|
|
||||||
+System id: PPC
|
|
||||||
+Volume id: RHEL_8_0_BaseOS_ppc64le
|
|
||||||
+Volume set id: 8.0
|
|
||||||
+Publisher id:
|
|
||||||
+Data preparer id:
|
|
||||||
+Application id: Red Hat Enterprise Linux 8.0
|
|
||||||
+Copyright File id:
|
|
||||||
+Abstract File id:
|
|
||||||
+Bibliographic File id:
|
|
||||||
+Volume set size is: 1
|
|
||||||
+Volume set sequence number is: 1
|
|
||||||
+Logical block size is: 2048
|
|
||||||
+Volume size is: 279805
|
|
||||||
+Joliet with UCS level 3 found
|
|
||||||
+Rock Ridge signatures version 1 found
|
|
||||||
diff --git a/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-ppc64le-dvd1.iso.txt b/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-ppc64le-dvd1.iso.txt
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..1eb781b
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-ppc64le-dvd1.iso.txt
|
|
||||||
@@ -0,0 +1,16 @@
|
|
||||||
+CD-ROM is in ISO 9660 format
|
|
||||||
+System id: PPC
|
|
||||||
+Volume id: RHEL-8-0-BaseOS-ppc64le
|
|
||||||
+Volume set id:
|
|
||||||
+Publisher id:
|
|
||||||
+Data preparer id:
|
|
||||||
+Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
|
|
||||||
+Copyright File id:
|
|
||||||
+Abstract File id:
|
|
||||||
+Bibliographic File id:
|
|
||||||
+Volume set size is: 1
|
|
||||||
+Volume set sequence number is: 1
|
|
||||||
+Logical block size is: 2048
|
|
||||||
+Volume size is: 3073014
|
|
||||||
+Joliet with UCS level 3 found
|
|
||||||
+Rock Ridge signatures version 1 found
|
|
||||||
diff --git a/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-s390x-boot.iso.txt b/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-s390x-boot.iso.txt
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..2014004
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-s390x-boot.iso.txt
|
|
||||||
@@ -0,0 +1,29 @@
|
|
||||||
+CD-ROM is in ISO 9660 format
|
|
||||||
+System id: LINUX
|
|
||||||
+Volume id: RHEL-8-0-BaseOS-s390x
|
|
||||||
+Volume set id:
|
|
||||||
+Publisher id:
|
|
||||||
+Data preparer id:
|
|
||||||
+Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
|
|
||||||
+Copyright File id:
|
|
||||||
+Abstract File id:
|
|
||||||
+Bibliographic File id:
|
|
||||||
+Volume set size is: 1
|
|
||||||
+Volume set sequence number is: 1
|
|
||||||
+Logical block size is: 2048
|
|
||||||
+Volume size is: 237307
|
|
||||||
+El Torito VD version 1 found, boot catalog is in sector 34
|
|
||||||
+Joliet with UCS level 3 found
|
|
||||||
+Rock Ridge signatures version 1 found
|
|
||||||
+Eltorito validation header:
|
|
||||||
+ Hid 1
|
|
||||||
+ Arch 0 (x86)
|
|
||||||
+ ID ''
|
|
||||||
+ Key 55 AA
|
|
||||||
+ Eltorito defaultboot header:
|
|
||||||
+ Bootid 88 (bootable)
|
|
||||||
+ Boot media 0 (No Emulation Boot)
|
|
||||||
+ Load segment 0
|
|
||||||
+ Sys type 0
|
|
||||||
+ Nsect 4
|
|
||||||
+ Bootoff 23 35
|
|
||||||
diff --git a/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-s390x-dvd1.iso.txt b/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-s390x-dvd1.iso.txt
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..d00ccfb
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-s390x-dvd1.iso.txt
|
|
||||||
@@ -0,0 +1,29 @@
|
|
||||||
+CD-ROM is in ISO 9660 format
|
|
||||||
+System id: LINUX
|
|
||||||
+Volume id: RHEL-8-0-BaseOS-s390x
|
|
||||||
+Volume set id:
|
|
||||||
+Publisher id:
|
|
||||||
+Data preparer id:
|
|
||||||
+Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
|
|
||||||
+Copyright File id:
|
|
||||||
+Abstract File id:
|
|
||||||
+Bibliographic File id:
|
|
||||||
+Volume set size is: 1
|
|
||||||
+Volume set sequence number is: 1
|
|
||||||
+Logical block size is: 2048
|
|
||||||
+Volume size is: 2746748
|
|
||||||
+El Torito VD version 1 found, boot catalog is in sector 815
|
|
||||||
+Joliet with UCS level 3 found
|
|
||||||
+Rock Ridge signatures version 1 found
|
|
||||||
+Eltorito validation header:
|
|
||||||
+ Hid 1
|
|
||||||
+ Arch 0 (x86)
|
|
||||||
+ ID ''
|
|
||||||
+ Key 55 AA
|
|
||||||
+ Eltorito defaultboot header:
|
|
||||||
+ Bootid 88 (bootable)
|
|
||||||
+ Boot media 0 (No Emulation Boot)
|
|
||||||
+ Load segment 0
|
|
||||||
+ Sys type 0
|
|
||||||
+ Nsect 73DC
|
|
||||||
+ Bootoff 335 821
|
|
||||||
diff --git a/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-x86_64-boot.iso.txt b/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-x86_64-boot.iso.txt
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..07a61b8
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-x86_64-boot.iso.txt
|
|
||||||
@@ -0,0 +1,29 @@
|
|
||||||
+CD-ROM is in ISO 9660 format
|
|
||||||
+System id: LINUX
|
|
||||||
+Volume id: RHEL-8-0-BaseOS-x86_64
|
|
||||||
+Volume set id:
|
|
||||||
+Publisher id:
|
|
||||||
+Data preparer id:
|
|
||||||
+Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
|
|
||||||
+Copyright File id:
|
|
||||||
+Abstract File id:
|
|
||||||
+Bibliographic File id:
|
|
||||||
+Volume set size is: 1
|
|
||||||
+Volume set sequence number is: 1
|
|
||||||
+Logical block size is: 2048
|
|
||||||
+Volume size is: 276128
|
|
||||||
+El Torito VD version 1 found, boot catalog is in sector 44
|
|
||||||
+Joliet with UCS level 3 found
|
|
||||||
+Rock Ridge signatures version 1 found
|
|
||||||
+Eltorito validation header:
|
|
||||||
+ Hid 1
|
|
||||||
+ Arch 0 (x86)
|
|
||||||
+ ID ''
|
|
||||||
+ Key 55 AA
|
|
||||||
+ Eltorito defaultboot header:
|
|
||||||
+ Bootid 88 (bootable)
|
|
||||||
+ Boot media 0 (No Emulation Boot)
|
|
||||||
+ Load segment 0
|
|
||||||
+ Sys type 0
|
|
||||||
+ Nsect 4
|
|
||||||
+ Bootoff 4227F 270975
|
|
||||||
diff --git a/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-x86_64-dvd1.iso.txt b/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-x86_64-dvd1.iso.txt
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..e53b2aa
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/tests/isodata/rhel/rhel8.0/RHEL-8.0-20181113.1-x86_64-dvd1.iso.txt
|
|
||||||
@@ -0,0 +1,29 @@
|
|
||||||
+CD-ROM is in ISO 9660 format
|
|
||||||
+System id: LINUX
|
|
||||||
+Volume id: RHEL-8-0-BaseOS-x86_64
|
|
||||||
+Volume set id:
|
|
||||||
+Publisher id:
|
|
||||||
+Data preparer id:
|
|
||||||
+Application id: GENISOIMAGE ISO 9660/HFS FILESYSTEM CREATOR (C) 1993 E.YOUNGDALE (C) 1997-2006 J.PEARSON/J.SCHILLING (C) 2006-2007 CDRKIT TEAM
|
|
||||||
+Copyright File id:
|
|
||||||
+Abstract File id:
|
|
||||||
+Bibliographic File id:
|
|
||||||
+Volume set size is: 1
|
|
||||||
+Volume set sequence number is: 1
|
|
||||||
+Logical block size is: 2048
|
|
||||||
+Volume size is: 3400439
|
|
||||||
+El Torito VD version 1 found, boot catalog is in sector 1028
|
|
||||||
+Joliet with UCS level 3 found
|
|
||||||
+Rock Ridge signatures version 1 found
|
|
||||||
+Eltorito validation header:
|
|
||||||
+ Hid 1
|
|
||||||
+ Arch 0 (x86)
|
|
||||||
+ ID ''
|
|
||||||
+ Key 55 AA
|
|
||||||
+ Eltorito defaultboot header:
|
|
||||||
+ Bootid 88 (bootable)
|
|
||||||
+ Boot media 0 (No Emulation Boot)
|
|
||||||
+ Load segment 0
|
|
||||||
+ Sys type 0
|
|
||||||
+ Nsect 4
|
|
||||||
+ Bootoff 438C9 276681
|
|
||||||
--
|
|
||||||
2.19.1
|
|
||||||
|
|
170
SOURCES/0004-tools-install-script-Add-config-file-f-option.patch
Normal file
170
SOURCES/0004-tools-install-script-Add-config-file-f-option.patch
Normal file
@ -0,0 +1,170 @@
|
|||||||
|
From 08fb8316b4ac42fe74c1fa5ca0ac593222cdf81a Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@redhat.com>
|
||||||
|
Date: Wed, 3 Jul 2019 14:55:24 +0200
|
||||||
|
Subject: [PATCH] tools,install-script: Add --config-file (-f) option
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Let's add a new option so users can set their config from a file,
|
||||||
|
instead of directly passing the values via command-line.
|
||||||
|
|
||||||
|
CVE-2019-13313
|
||||||
|
Libosinfo: osinfo-install-script option leaks password via command line
|
||||||
|
argument. 'osinfo-install-script' is used to generate a script for
|
||||||
|
automated guest installations. It accepts user and admin passwords via
|
||||||
|
command line arguments, thus leaking them via process listing.
|
||||||
|
|
||||||
|
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
|
||||||
|
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
|
||||||
|
---
|
||||||
|
tools/osinfo-install-script.c | 103 +++++++++++++++++++++++++++++++++-
|
||||||
|
1 file changed, 102 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/tools/osinfo-install-script.c b/tools/osinfo-install-script.c
|
||||||
|
index 15af48d..af58440 100644
|
||||||
|
--- a/tools/osinfo-install-script.c
|
||||||
|
+++ b/tools/osinfo-install-script.c
|
||||||
|
@@ -37,6 +37,34 @@ static gboolean list_profile = FALSE;
|
||||||
|
static gboolean list_inj_method = FALSE;
|
||||||
|
static gboolean quiet = FALSE;
|
||||||
|
|
||||||
|
+static const gchar *configs[] = {
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_HARDWARE_ARCH,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_L10N_TIMEZONE,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_L10N_LANGUAGE,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_L10N_KEYBOARD,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_ADMIN_PASSWORD,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_USER_PASSWORD,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_USER_LOGIN,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_USER_REALNAME,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_USER_AUTOLOGIN,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_USER_ADMIN,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_REG_LOGIN,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_REG_PASSWORD,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_REG_PRODUCTKEY,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_HOSTNAME,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_TARGET_DISK,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_SCRIPT_DISK,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_AVATAR_LOCATION,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_AVATAR_DISK,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_PRE_INSTALL_DRIVERS_DISK,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_PRE_INSTALL_DRIVERS_LOCATION,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_POST_INSTALL_DRIVERS_DISK,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_POST_INSTALL_DRIVERS_LOCATION,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_DRIVER_SIGNING,
|
||||||
|
+ OSINFO_INSTALL_CONFIG_PROP_INSTALLATION_URL,
|
||||||
|
+ NULL
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
static OsinfoInstallConfig *config;
|
||||||
|
|
||||||
|
static gboolean handle_config(const gchar *option_name G_GNUC_UNUSED,
|
||||||
|
@@ -65,6 +93,47 @@ static gboolean handle_config(const gchar *option_name G_GNUC_UNUSED,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
+static gboolean handle_config_file(const gchar *option_name G_GNUC_UNUSED,
|
||||||
|
+ const gchar *value,
|
||||||
|
+ gpointer data G_GNUC_UNUSED,
|
||||||
|
+ GError **error)
|
||||||
|
+{
|
||||||
|
+ GKeyFile *key_file = NULL;
|
||||||
|
+ gchar *val = NULL;
|
||||||
|
+ gsize i;
|
||||||
|
+ gboolean ret = FALSE;
|
||||||
|
+
|
||||||
|
+ key_file = g_key_file_new();
|
||||||
|
+ if (!g_key_file_load_from_file(key_file, value, G_KEY_FILE_NONE, error))
|
||||||
|
+ goto error;
|
||||||
|
+
|
||||||
|
+ for (i = 0; configs[i] != NULL; i++) {
|
||||||
|
+ val = g_key_file_get_string(key_file, "install-script", configs[i], error);
|
||||||
|
+ if (val == NULL) {
|
||||||
|
+ if (g_error_matches(*error, G_KEY_FILE_ERROR,
|
||||||
|
+ G_KEY_FILE_ERROR_KEY_NOT_FOUND)) {
|
||||||
|
+ g_clear_error(error);
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ goto error;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ osinfo_entity_set_param(OSINFO_ENTITY(config),
|
||||||
|
+ configs[i],
|
||||||
|
+ val);
|
||||||
|
+ g_free(val);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ ret = TRUE;
|
||||||
|
+
|
||||||
|
+error:
|
||||||
|
+ g_key_file_unref(key_file);
|
||||||
|
+
|
||||||
|
+ return ret;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+
|
||||||
|
static GOptionEntry entries[] =
|
||||||
|
{
|
||||||
|
{ "profile", 'p', 0, G_OPTION_ARG_STRING, (void*)&profile,
|
||||||
|
@@ -78,6 +147,9 @@ static GOptionEntry entries[] =
|
||||||
|
{ "config", 'c', 0, G_OPTION_ARG_CALLBACK,
|
||||||
|
handle_config,
|
||||||
|
N_("Set configuration parameter"), "key=value" },
|
||||||
|
+ { "config-file", 'f', 0, G_OPTION_ARG_CALLBACK,
|
||||||
|
+ handle_config_file,
|
||||||
|
+ N_("Set configuration parameters"), "file:///path/to/config/file" },
|
||||||
|
{ "list-config", '\0', 0, G_OPTION_ARG_NONE, (void*)&list_config,
|
||||||
|
N_("List configuration parameters"), NULL },
|
||||||
|
{ "list-profiles", '\0', 0, G_OPTION_ARG_NONE, (void*)&list_profile,
|
||||||
|
@@ -448,6 +520,15 @@ script. Defaults to C<media>, but can also be C<network>.
|
||||||
|
|
||||||
|
Set the configuration parameter C<key> to C<value>.
|
||||||
|
|
||||||
|
+=item B<--config-file=config-file>
|
||||||
|
+
|
||||||
|
+Set the configurations parameters according to the config-file passed.
|
||||||
|
+
|
||||||
|
+Note that use of --config-file is strongly recommended if the user or
|
||||||
|
+admin passwords need to be set. Providing passwords directly using
|
||||||
|
+B<--config=> is insecure as the password is visible to all processes
|
||||||
|
+and users on the same host.
|
||||||
|
+
|
||||||
|
=back
|
||||||
|
|
||||||
|
=head1 CONFIGURATION KEYS
|
||||||
|
@@ -510,9 +591,29 @@ The software registration user password
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
+=head1 CONFIGURATION FILE FORMAT
|
||||||
|
+
|
||||||
|
+The configuration file must consist in a file which contains a
|
||||||
|
+`install-script` group and, under this group, C<key>=C<value>
|
||||||
|
+pairs, as shown below:
|
||||||
|
+
|
||||||
|
+[install-script]
|
||||||
|
+l10n-timezone=GMT
|
||||||
|
+l10n-keyboard=uk
|
||||||
|
+l10n-language=en_GB
|
||||||
|
+admin-password=123456
|
||||||
|
+user-login=berrange
|
||||||
|
+user-password=123456
|
||||||
|
+user-realname="Daniel P Berrange"
|
||||||
|
+
|
||||||
|
=head1 EXAMPLE USAGE
|
||||||
|
|
||||||
|
-The following usage generates a Fedora 16 kickstart script
|
||||||
|
+The following usages generates a Fedora 16 kickstart script
|
||||||
|
+
|
||||||
|
+ # osinfo-install-script \
|
||||||
|
+ --profile jeos \
|
||||||
|
+ --config-file /path/to/config/file \
|
||||||
|
+ fedora16
|
||||||
|
|
||||||
|
# osinfo-install-script \
|
||||||
|
--profile jeos \
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
@ -0,0 +1,59 @@
|
|||||||
|
From 3654abee6ead9f11f8bb9ba8fc71efd6fa4dabbc Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Fabiano=20Fid=C3=AAncio?= <fidencio@redhat.com>
|
||||||
|
Date: Wed, 3 Jul 2019 14:59:07 +0200
|
||||||
|
Subject: [PATCH] tools,install-script: Deprecate --config
|
||||||
|
{user,admin}-password
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Let's deprecate user-password and admin-password options of --config and
|
||||||
|
also warn out whenever they're passed to osinfo-install-script.
|
||||||
|
|
||||||
|
CVE-2019-13313
|
||||||
|
Libosinfo: osinfo-install-script option leaks password via command line
|
||||||
|
argument. 'osinfo-install-script' is used to generate a script for
|
||||||
|
automated guest installations. It accepts user and admin passwords via
|
||||||
|
command line arguments, thus leaking them via process listing.
|
||||||
|
|
||||||
|
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com>
|
||||||
|
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
|
||||||
|
---
|
||||||
|
tools/osinfo-install-script.c | 10 ++++++++++
|
||||||
|
1 file changed, 10 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/tools/osinfo-install-script.c b/tools/osinfo-install-script.c
|
||||||
|
index af58440..c0528e7 100644
|
||||||
|
--- a/tools/osinfo-install-script.c
|
||||||
|
+++ b/tools/osinfo-install-script.c
|
||||||
|
@@ -85,6 +85,12 @@ static gboolean handle_config(const gchar *option_name G_GNUC_UNUSED,
|
||||||
|
val++;
|
||||||
|
key = g_strndup(value, len);
|
||||||
|
|
||||||
|
+ if (g_str_equal(key, OSINFO_INSTALL_CONFIG_PROP_USER_PASSWORD) ||
|
||||||
|
+ g_str_equal(key, OSINFO_INSTALL_CONFIG_PROP_ADMIN_PASSWORD)) {
|
||||||
|
+ g_warning("When setting user or admin password, use --config-file "
|
||||||
|
+ "instead.\n");
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
osinfo_entity_set_param(OSINFO_ENTITY(config),
|
||||||
|
key,
|
||||||
|
val);
|
||||||
|
@@ -556,10 +562,14 @@ The local language
|
||||||
|
=item C<admin-password>
|
||||||
|
|
||||||
|
The administrator password
|
||||||
|
+This option has been deprecated, use B<--config-file>
|
||||||
|
+for setting the admin password.
|
||||||
|
|
||||||
|
=item C<user-password>
|
||||||
|
|
||||||
|
The user password
|
||||||
|
+This option has been deprecated, use B<--config-file>
|
||||||
|
+for setting the user password.
|
||||||
|
|
||||||
|
=item C<user-login>
|
||||||
|
|
||||||
|
--
|
||||||
|
2.21.0
|
||||||
|
|
@ -2,19 +2,21 @@
|
|||||||
|
|
||||||
Summary: A library for managing OS information for virtualization
|
Summary: A library for managing OS information for virtualization
|
||||||
Name: libosinfo
|
Name: libosinfo
|
||||||
Version: 1.2.0
|
Version: 1.5.0
|
||||||
Release: 5%{?dist}%{?extra_release}
|
Release: 3%{?dist}%{?extra_release}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Source: https://releases.pagure.io/%{name}/%{name}-%{version}.tar.gz
|
Source: https://releases.pagure.io/%{name}/%{name}-%{version}.tar.gz
|
||||||
URL: https://libosinfo.org/
|
URL: https://libosinfo.org/
|
||||||
|
|
||||||
### Patches ###
|
### Patches ###
|
||||||
Patch0001: 0001-test-isodetect-replace-while-loop-with-for-loop.patch
|
Patch0001: 0001-db-Avoid-dereference-of-null-pointer.patch
|
||||||
Patch0002: 0002-test-isodetect-continue-after-failure.patch
|
Patch0002: 0002-tree-Avoid-use-of-memory-after-it-s-freed.patch
|
||||||
Patch0003: 0003-tests-continue-after-failure-in-mediauris-treeuris.patch
|
Patch0003: 0003-tree-Cleanup-_create_from_location_async_helper.patch
|
||||||
Patch0004: 0004-rhel-Add-rhel8.0-isodata.patch
|
Patch0004: 0004-tools-install-script-Add-config-file-f-option.patch
|
||||||
|
Patch0005: 0005-tools-install-script-Deprecate-config-user-admin-pas.patch
|
||||||
|
|
||||||
|
BuildRequires: git
|
||||||
BuildRequires: intltool
|
BuildRequires: intltool
|
||||||
BuildRequires: glib2-devel >= 2.38
|
BuildRequires: glib2-devel >= 2.38
|
||||||
BuildRequires: libxml2-devel >= 2.6.0
|
BuildRequires: libxml2-devel >= 2.6.0
|
||||||
@ -25,10 +27,10 @@ BuildRequires: libcurl-devel
|
|||||||
BuildRequires: /usr/bin/pod2man
|
BuildRequires: /usr/bin/pod2man
|
||||||
BuildRequires: hwdata
|
BuildRequires: hwdata
|
||||||
BuildRequires: gobject-introspection-devel
|
BuildRequires: gobject-introspection-devel
|
||||||
BuildRequires: osinfo-db >= 20181011-7
|
|
||||||
Requires: hwdata
|
Requires: hwdata
|
||||||
Requires: osinfo-db >= 20181011-1
|
Requires: osinfo-db >= 20181011-1
|
||||||
Requires: osinfo-db-tools
|
Requires: osinfo-db-tools
|
||||||
|
Requires: gvfs
|
||||||
|
|
||||||
%description
|
%description
|
||||||
libosinfo is a library that allows virtualization provisioning tools to
|
libosinfo is a library that allows virtualization provisioning tools to
|
||||||
@ -62,11 +64,7 @@ combination.
|
|||||||
This package provides the Vala bindings for libosinfo library.
|
This package provides the Vala bindings for libosinfo library.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%autosetup -S git
|
||||||
|
|
||||||
for p in %patches ; do
|
|
||||||
%__patch -p1 -i $p
|
|
||||||
done
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf -vi
|
autoreconf -vi
|
||||||
@ -121,6 +119,17 @@ fi
|
|||||||
%{_datadir}/vala/vapi/libosinfo-1.0.vapi
|
%{_datadir}/vala/vapi/libosinfo-1.0.vapi
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jul 10 2019 Fabiano Fidêncio <fidencio@redhat.com> - 1.5.0-3
|
||||||
|
- Resolves: rhbz#1727843 - CVE-2019-13313 libosinfo: osinfo-install-script
|
||||||
|
option leaks password via command line argument
|
||||||
|
|
||||||
|
* Wed May 22 2019 Fabiano Fidêncio <fidencio@redhat.com> - 1.5.0-2
|
||||||
|
- Resolves: rhbz#1712425 - New defects found in libosinfo-1.5.0-1.el8
|
||||||
|
|
||||||
|
* Fri May 10 2019 Fabiano Fidêncio <fidencio@redhat.com> - 1.5.0-1
|
||||||
|
- Update to 1.5.0 release
|
||||||
|
- Resolves: rhbz#1699988 - Rebase to the latest upstream release
|
||||||
|
|
||||||
* Fri Nov 30 2018 Fabiano Fidêncio <fidencio@redhat.com> - 1.2.0-5
|
* Fri Nov 30 2018 Fabiano Fidêncio <fidencio@redhat.com> - 1.2.0-5
|
||||||
- Related: rhbz#1650197 - Fix volume-ids for rhel8.0 entry
|
- Related: rhbz#1650197 - Fix volume-ids for rhel8.0 entry
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user