
On Mon, 18 Nov 2024 at 23:09, Adriano Cordova adrianox@gmail.com wrote:
From: Heinrich Schuchardt heinrich.schuchardt@canonical.com
Implement Ipv4() node support in the device path to text protocol.
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com Signed-off-by: Adriano Cordova adrianox@gmail.com
(no changes since v2)
lib/efi_loader/efi_device_path_to_text.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)
diff --git a/lib/efi_loader/efi_device_path_to_text.c b/lib/efi_loader/efi_device_path_to_text.c index 0c7b30a26e..481a9712d9 100644 --- a/lib/efi_loader/efi_device_path_to_text.c +++ b/lib/efi_loader/efi_device_path_to_text.c @@ -8,6 +8,7 @@ #include <blk.h> #include <efi_loader.h> #include <malloc.h> +#include <net.h>
#define MAC_OUTPUT_LEN 22 #define UNKNOWN_OUTPUT_LEN 23 @@ -170,6 +171,28 @@ static char *dp_msging(char *s, struct efi_device_path *dp)
break; }
case DEVICE_PATH_SUB_TYPE_MSG_IPV4: {
struct efi_device_path_ipv4 *idp =
(struct efi_device_path_ipv4 *)dp;
s += sprintf(s, "IPv4(%pI4,", &idp->remote_ip_address);
switch (idp->protocol) {
case IPPROTO_TCP:
s += sprintf(s, "TCP,");
case IPPROTO_UDP:
s += sprintf(s, "UDP,");
default:
s += sprintf(s, "0x%x,", idp->protocol);
}
s += sprintf(s, idp->static_ip_address ? "Static" : "DHCP");
s += sprintf(s, ",%pI4", &idp->local_ip_address);
if (idp->dp.length == sizeof(struct efi_device_path_ipv4))
s += sprintf(s, ",%pI4,%pI4", &idp->gateway_ip_address,
&idp->subnet_mask);
s += sprintf(s, ")");
break;
} case DEVICE_PATH_SUB_TYPE_MSG_USB_CLASS: { struct efi_device_path_usb_class *ucdp = (struct efi_device_path_usb_class *)dp;
-- 2.43.0
Reviewed-by: Ilias Apalodimas ilias.apalodimas@linaro.org #sprintf might overflow but that's w ider problem of all our device path functions