From a897407ffe1c8d66d730ba21c40dfa80f4cb8831 Mon Sep 17 00:00:00 2001 From: juanma Date: Sun, 3 Aug 2025 23:52:45 +0200 Subject: [PATCH 1/3] Proper detection of lliurex distribution --- src/detection/os/os_linux.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/detection/os/os_linux.c b/src/detection/os/os_linux.c index d845c958b3..c546c423fe 100644 --- a/src/detection/os/os_linux.c +++ b/src/detection/os/os_linux.c @@ -88,6 +88,20 @@ FF_MAYBE_UNUSED static void getUbuntuFlavour(FFOSResult* result) ffStrbufSetStatic(&result->id, "vanilla"); ffStrbufSetStatic(&result->idLike, "ubuntu"); } + if (ffPathExists("/etc/lliurex-cdd-version", FF_PATHTYPE_FILE)) + { + ffStrbufSetStatic(&result->name, "LliureX"); + ffStrbufSetStatic(&result->id, "lliurex"); + ffStrbufClear(&result->version); + if (ffProcessAppendStdOut(&result->version, (char* const[]) { + "/usr/bin/lliurex-version", + NULL, + }) == NULL) // 8.2.2 + ffStrbufTrimRightSpace(&result->versionID); + ffStrbufSetF(&result->prettyName, "LliureX %s", result->version.chars); + ffStrbufSetStatic(&result->idLike, "ubuntu"); + return; + } if(ffStrContains(xdgConfigDirs, "kde") || ffStrContains(xdgConfigDirs, "plasma") || ffStrContains(xdgConfigDirs, "kubuntu")) { @@ -169,15 +183,6 @@ FF_MAYBE_UNUSED static void getUbuntuFlavour(FFOSResult* result) ffStrbufSetStatic(&result->idLike, "ubuntu"); return; } - - if(ffStrContains(xdgConfigDirs, "lliurex")) - { - ffStrbufSetStatic(&result->name, "LliureX"); - ffStrbufSetF(&result->prettyName, "LliureX %s", result->version.chars); - ffStrbufSetStatic(&result->id, "lliurex"); - ffStrbufSetStatic(&result->idLike, "ubuntu"); - return; - } } FF_MAYBE_UNUSED static void getDebianVersion(FFOSResult* result) From 5c02a263c4a74e8194f08742b31a5d41398d5e16 Mon Sep 17 00:00:00 2001 From: juanma Date: Mon, 4 Aug 2025 00:09:40 +0200 Subject: [PATCH 2/3] fix newline --- src/detection/os/os_linux.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/detection/os/os_linux.c b/src/detection/os/os_linux.c index c546c423fe..9f7f6ee59e 100644 --- a/src/detection/os/os_linux.c +++ b/src/detection/os/os_linux.c @@ -88,6 +88,7 @@ FF_MAYBE_UNUSED static void getUbuntuFlavour(FFOSResult* result) ffStrbufSetStatic(&result->id, "vanilla"); ffStrbufSetStatic(&result->idLike, "ubuntu"); } + if (ffPathExists("/etc/lliurex-cdd-version", FF_PATHTYPE_FILE)) { ffStrbufSetStatic(&result->name, "LliureX"); From 5aa55e640a3d8ce823cb67bee13bb3e418a44a35 Mon Sep 17 00:00:00 2001 From: juanma Date: Mon, 4 Aug 2025 22:51:30 +0200 Subject: [PATCH 3/3] Trim version and not versionID as assigned to lliurex-version output --- src/detection/os/os_linux.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/detection/os/os_linux.c b/src/detection/os/os_linux.c index 9f7f6ee59e..2329f8c9e7 100644 --- a/src/detection/os/os_linux.c +++ b/src/detection/os/os_linux.c @@ -98,7 +98,7 @@ FF_MAYBE_UNUSED static void getUbuntuFlavour(FFOSResult* result) "/usr/bin/lliurex-version", NULL, }) == NULL) // 8.2.2 - ffStrbufTrimRightSpace(&result->versionID); + ffStrbufTrimRightSpace(&result->version); ffStrbufSetF(&result->prettyName, "LliureX %s", result->version.chars); ffStrbufSetStatic(&result->idLike, "ubuntu"); return;