From: Luca Boccassi <bl...@debian.org> 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 <bl...@debian.org> --- 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