From: Luca Boccassi <[email protected]>
The node ID and the string format are now fixed, even if the content
of the string might change, it will still be a string.
* libebl/eblobjnote.c (ebl_object_note): Handle both type
being NT_FDO_PACKAGING_METADATA or NT_FDO_DLOPEN_METADATA when
name is "FDO".
* libebl/eblobjnotetypename.c (ebl_object_note_type_name): Handle
"FDO" name and type NT_FDO_DLOPEN_METADATA.
Signed-off-by: Luca Boccassi <[email protected]>
---
libebl/eblobjnote.c | 9 +++++++--
libebl/eblobjnotetypename.c | 3 +++
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/libebl/eblobjnote.c b/libebl/eblobjnote.c
index 1ba5d8b32354..ad3f49de3456 100644
--- a/libebl/eblobjnote.c
+++ b/libebl/eblobjnote.c
@@ -288,9 +288,14 @@ ebl_object_note (Ebl *ebl, uint32_t namesz, const char
*name, uint32_t type,
if (descsz == 0 && type == NT_VERSION)
return;
- if (strcmp ("FDO", name) == 0 && type == NT_FDO_PACKAGING_METADATA
+ if (strcmp ("FDO", name) == 0
&& descsz > 0 && desc[descsz - 1] == '\0')
- printf(" Packaging Metadata: %.*s\n", (int) descsz, desc);
+ {
+ if (type == NT_FDO_PACKAGING_METADATA)
+ printf(" Packaging Metadata: %.*s\n", (int) descsz, desc);
+ else if (type == NT_FDO_DLOPEN_METADATA)
+ printf(" Dlopen Metadata: %.*s\n", (int) descsz, desc);
+ }
/* Everything else should have the "GNU" owner name. */
if (strcmp ("GNU", name) != 0)
diff --git a/libebl/eblobjnotetypename.c b/libebl/eblobjnotetypename.c
index 473a1f2f2fd4..79ff010a37d8 100644
--- a/libebl/eblobjnotetypename.c
+++ b/libebl/eblobjnotetypename.c
@@ -104,6 +104,9 @@ ebl_object_note_type_name (Ebl *ebl, const char *name,
uint32_t type,
if (strcmp (name, "FDO") == 0 && type == NT_FDO_PACKAGING_METADATA)
return "FDO_PACKAGING_METADATA";
+ if (strcmp (name, "FDO") == 0 && type == NT_FDO_DLOPEN_METADATA)
+ return "FDO_DLOPEN_METADATA";
+
if (strcmp (name, "GNU") != 0)
{
/* NT_VERSION is special, all data is in the name. */
--
2.45.1