1 Star 0 Fork 16

jackzhao166/grub2

forked from OpenCloudOS Stream/grub2 
Create your Gitee Account
Explore and code with more than 12 million developers,Free private repositories !:)
Sign up
文件
This repository doesn't specify license. Please pay attention to the specific project description and its upstream code dependency when using it.
Clone or Download
0243-efi-net-Allow-to-specify-a-port-number-in-addresses.patch 1.68 KB
Copy Edit Raw Blame History
nilusyi authored 2024-04-07 16:45 . update patches
From 38f78bee8dcd3495f478398e7cb1db42b2cd89e8 Mon Sep 17 00:00:00 2001
From: Javier Martinez Canillas <javierm@redhat.com>
Date: Mon, 9 Mar 2020 15:29:45 +0100
Subject: [PATCH 243/272] efi/net: Allow to specify a port number in addresses
The grub_efi_net_parse_address() function is not covering the case where a
port number is specified in an IPv4 or IPv6 address, so will fail to parse
the network address.
For most cases the issue is harmless, because the function is only used to
match an address with a network interface and if fails the default is used.
But still is a bug that has to be fixed and it causes error messages to be
printed like the following:
error: net/efi/net.c:782:unrecognised network address '192.168.122.1:8080'
error: net/efi/net.c:781:unrecognised network address '[2000:dead:beef:a::1]:8080'
Resolves: rhbz#1732765
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
---
grub-core/net/efi/net.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/grub-core/net/efi/net.c b/grub-core/net/efi/net.c
index b5b870c6f..175ab6d4f 100644
--- a/grub-core/net/efi/net.c
+++ b/grub-core/net/efi/net.c
@@ -751,7 +751,7 @@ grub_efi_net_parse_address (const char *address,
return GRUB_ERR_NONE;
}
}
- else if (*rest == 0)
+ else if (*rest == 0 || *rest == ':')
{
grub_uint32_t subnet_mask = 0xffffffffU;
grub_memcpy (ip4->subnet_mask, &subnet_mask, sizeof (ip4->subnet_mask));
@@ -777,7 +777,7 @@ grub_efi_net_parse_address (const char *address,
return GRUB_ERR_NONE;
}
}
- else if (*rest == 0)
+ else if (*rest == 0 || *rest == ':')
{
ip6->prefix_length = 128;
ip6->is_anycast = 0;
--
2.41.0
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/jackzhao166/grub2.git
git@gitee.com:jackzhao166/grub2.git
jackzhao166
grub2
grub2
master

Search