From e242e906eedde0effc707209de7136a39a412b7a Mon Sep 17 00:00:00 2001 From: Victor Moene Date: Thu, 4 Dec 2025 13:09:32 +0100 Subject: [PATCH] Fixed findlocalusers_unsafe test Changelog: Fixed the unsafe test for findlocalusers unsafe. Replaced the users in the test with custom ones, to make it depend less on the individual quirks of the OS. Changed the username of the custom users, because on AIX and HP-UX, it is limited by 8 characters. Ticket: ENT-13533 Signed-off-by: Victor Moene --- .../unsafe/findlocalusers_unsafe.cf | 42 ++++----- .../findlocalusers_unsafe.cf.expected.json | 92 +++++-------------- 2 files changed, 42 insertions(+), 92 deletions(-) diff --git a/tests/acceptance/01_vars/02_functions/unsafe/findlocalusers_unsafe.cf b/tests/acceptance/01_vars/02_functions/unsafe/findlocalusers_unsafe.cf index 1d1e4a1deb..087e36f05c 100644 --- a/tests/acceptance/01_vars/02_functions/unsafe/findlocalusers_unsafe.cf +++ b/tests/acceptance/01_vars/02_functions/unsafe/findlocalusers_unsafe.cf @@ -14,55 +14,53 @@ bundle agent init create => "true"; users: - "test_user1" + "testu1" policy => "present", home_dir => "/tmp/test_folder1", description => "TestUser 1", - group_primary => "users", + group_primary => "root", # we need a group which we know for sure the gid shell => "/bin/sh", uid => "12345"; - "test_user2" + "testu2" policy => "present", home_dir => "/tmp/test_folder2", description => "TestUser 2", - group_primary => "users", + group_primary => "root", shell => "/bin/sh", uid => "54321"; vars: + "no" int => getfields("root:.*", "/etc/group", ":", "groupdata"); + "root_gid" string => "$(groupdata[3])"; + # simple filters - "simple_filter" slist => { "name=root" }; - "number_filter" slist => { "uid=0" }; + "simple_filter" slist => { "name=testu1" }; + "number_filter" slist => { "uid=12345" }; # longer filters - "slist_filter" slist => { "gid=0", "name=root" }; + "slist_filter" slist => { "gid=$(root_gid)", "name=testu1" }; # using data - "data_filter" data => '[ "gid=0", "name=root" ]'; + "data_filter" data => '[ "gid=$(root_gid)", "name=testu1" ]'; # using regex - "simple_regex" slist => { "name=test_user.*" }; + "simple_regex" slist => { "name=testu.*" }; "number_regex" slist => { "uid=1234.*" }; - "longer_regex" slist => { "name=test_user.*", "uid=1.*" }; + "longer_regex" slist => { "name=testu.*", "uid=1.*" }; # non-existent user "unknown" slist => { "name=thisuserdoesntexist" }; } bundle agent test { - meta: - "test_soft_fail" string => "windows|aix|solaris|hpux|redhat_10", - comment => "RedHat 10 root user is named 'Super User' not 'root'", - meta => { "CFE-2318" }; - vars: - "ulist1" data => findlocalusers("@(init.simple_filter)"); - "ulist2" data => findlocalusers("init.number_filter"); - "ulist4" data => findlocalusers("@(init.slist_filter)"); - "ulist3" data => findlocalusers("@(init.data_filter)"); - "ulist5" data => findlocalusers("@(init.simple_regex)"); - "ulist6" data => findlocalusers("@(init.number_regex)"); - "ulist7" data => findlocalusers("@(init.longer_regex)"); + "ulist1" data => mapdata(json, '"$(this.k)"', findlocalusers("@(init.simple_filter)")); + "ulist2" data => mapdata(json, '"$(this.k)"', findlocalusers("init.number_filter")); + "ulist3" data => mapdata(json, '"$(this.k)"', findlocalusers("@(init.data_filter)")); + "ulist4" data => mapdata(json, '"$(this.k)"', findlocalusers("@(init.slist_filter)")); + "ulist5" data => mapdata(json, '"$(this.k)"', findlocalusers("@(init.simple_regex)")); + "ulist6" data => mapdata(json, '"$(this.k)"', findlocalusers("@(init.number_regex)")); + "ulist7" data => mapdata(json, '"$(this.k)"', findlocalusers("@(init.longer_regex)")); "ulist8" data => findlocalusers("@(init.unknown)"); } diff --git a/tests/acceptance/01_vars/02_functions/unsafe/findlocalusers_unsafe.cf.expected.json b/tests/acceptance/01_vars/02_functions/unsafe/findlocalusers_unsafe.cf.expected.json index 70028877ec..b3fc4c315d 100644 --- a/tests/acceptance/01_vars/02_functions/unsafe/findlocalusers_unsafe.cf.expected.json +++ b/tests/acceptance/01_vars/02_functions/unsafe/findlocalusers_unsafe.cf.expected.json @@ -1,74 +1,26 @@ { - "ulist1": { - "root": { - "dir": "/root", - "gecos": "root", - "gid": 0, - "shell": "/bin/bash", - "uid": 0 - } - }, - "ulist2": { - "root": { - "dir": "/root", - "gecos": "root", - "gid": 0, - "shell": "/bin/bash", - "uid": 0 - } - }, - "ulist3": { - "root": { - "dir": "/root", - "gecos": "root", - "gid": 0, - "shell": "/bin/bash", - "uid": 0 - } - }, - "ulist4": { - "root": { - "dir": "/root", - "gecos": "root", - "gid": 0, - "shell": "/bin/bash", - "uid": 0 - } - }, - "ulist5": { - "test_user1": { - "dir": "/tmp/test_folder1", - "gecos": "TestUser 1", - "gid": 100, - "shell": "/bin/sh", - "uid": 12345 - }, - "test_user2": { - "dir": "/tmp/test_folder2", - "gecos": "TestUser 2", - "gid": 100, - "shell": "/bin/sh", - "uid": 54321 - } - }, - "ulist6": { - "test_user1": { - "dir": "/tmp/test_folder1", - "gecos": "TestUser 1", - "gid": 100, - "shell": "/bin/sh", - "uid": 12345 - } - }, - "ulist7": { - "test_user1": { - "dir": "/tmp/test_folder1", - "gecos": "TestUser 1", - "gid": 100, - "shell": "/bin/sh", - "uid": 12345 - } - }, + "ulist1": [ + "testu1" + ], + "ulist2": [ + "testu1" + ], + "ulist3": [ + "testu1" + ], + "ulist4": [ + "testu1" + ], + "ulist5": [ + "testu1", + "testu2" + ], + "ulist6": [ + "testu1" + ], + "ulist7": [ + "testu1" + ], "ulist8": { } }