e1531466e1
This change updates grub to the 2.04 release. The new release changed how grub is built, so the bootstrap and bootstrap.conf files have to be added to the dist-git. Also, the gitignore file changed so it has to be updated. Since the patches have been forward ported to 2.04, there's no need for a logic to maintain a patch with the delta between the release and the grub master branch. So the release-to-master.patch is dropped and no longer is updated by the do-rebase script. Also since gnulib isn't part of the grub repository anymore and cloned by the boostrap tool, a gnulib tarball is included as other source file and copied before calling the bootstrap tool. That way grub can be built even in builders that only have access to the sources lookaside cache. Resolves: rhbz#1727279 Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
43 lines
1.6 KiB
Diff
43 lines
1.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
|
|
Date: Tue, 18 Dec 2018 21:27:45 -0500
|
|
Subject: [PATCH] Fix the looking up grub.cfg-XXX while tftp booting.
|
|
|
|
Currently, grub doesn't look up grub.cfg-UUID, grub.cfg-MAC and grub.cfg-IP
|
|
while the boot is from tftp. That is because the uuid size is got by
|
|
grub_snprintf(, 0, ,), but the grub_snprintf() always returns 0,
|
|
so grub judges there's no available uuid in the client and give up
|
|
the looking up grub.cfg-XXX.
|
|
|
|
This issue can be fixed by changing grub_snprintf(, 0, ,) behaivior
|
|
to like as snprintf() from glibc, however, somewhere may expect
|
|
such argument as the error, so it's risky.
|
|
|
|
Let's use sizeof() and grub_strlen() to calculate the uuid size
|
|
instead of grub_snprintf().
|
|
|
|
Resolves: rhbz#1658500
|
|
---
|
|
grub-core/net/net.c | 8 +++-----
|
|
1 file changed, 3 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/grub-core/net/net.c b/grub-core/net/net.c
|
|
index aa56393e1c4..15073dde1c4 100644
|
|
--- a/grub-core/net/net.c
|
|
+++ b/grub-core/net/net.c
|
|
@@ -1942,11 +1942,9 @@ grub_net_search_configfile (char *config)
|
|
char *client_uuid_var;
|
|
grub_size_t client_uuid_var_size;
|
|
|
|
- client_uuid_var_size = grub_snprintf (NULL, 0,
|
|
- "net_%s_clientuuid", inf->name);
|
|
- if (client_uuid_var_size <= 0)
|
|
- continue;
|
|
- client_uuid_var_size += 1;
|
|
+ client_uuid_var_size = sizeof ("net_") + grub_strlen (inf->name) +
|
|
+ sizeof ("_clientuuid") + 1;
|
|
+
|
|
client_uuid_var = grub_malloc(client_uuid_var_size);
|
|
if (!client_uuid_var)
|
|
continue;
|