This is an automated email from the ASF dual-hosted git repository. smolnar82 pushed a commit to branch knox_idf in repository https://gitbox.apache.org/repos/asf/knox.git
commit c28a974153d57a19bfa105e1aaea168d58bc2d2f Author: Sandor Molnar <[email protected]> AuthorDate: Wed Jun 10 10:21:53 2026 +0200 KNOX-3342: Fixed NPE in HadoopGroupFilter when hadoopGroups instance wasn't set (#1253) --- .../hadoop/groups/filter/HadoopGroupProviderFilter.java | 2 +- .../hadoop/groups/filter/HadoopGroupProviderFilterTest.java | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/gateway-provider-identity-assertion-hadoop-groups/src/main/java/org/apache/knox/gateway/identityasserter/hadoop/groups/filter/HadoopGroupProviderFilter.java b/gateway-provider-identity-assertion-hadoop-groups/src/main/java/org/apache/knox/gateway/identityasserter/hadoop/groups/filter/HadoopGroupProviderFilter.java index e819e1a7a..ae3936d67 100644 --- a/gateway-provider-identity-assertion-hadoop-groups/src/main/java/org/apache/knox/gateway/identityasserter/hadoop/groups/filter/HadoopGroupProviderFilter.java +++ b/gateway-provider-identity-assertion-hadoop-groups/src/main/java/org/apache/knox/gateway/identityasserter/hadoop/groups/filter/HadoopGroupProviderFilter.java @@ -130,7 +130,7 @@ public class HadoopGroupProviderFilter extends CommonIdentityAssertionFilter { protected List<String> hadoopGroups(String mappedPrincipalName) throws Exception { if (ldapService == null) { - return hadoopGroups.getGroups(mappedPrincipalName); + return hadoopGroups == null ? List.of() : hadoopGroups.getGroups(mappedPrincipalName); } else { LOG.useKnoxLDAPService(); return ldapService.getUserGroups(mappedPrincipalName); diff --git a/gateway-provider-identity-assertion-hadoop-groups/src/test/java/org/apache/knox/gateway/identityasserter/hadoop/groups/filter/HadoopGroupProviderFilterTest.java b/gateway-provider-identity-assertion-hadoop-groups/src/test/java/org/apache/knox/gateway/identityasserter/hadoop/groups/filter/HadoopGroupProviderFilterTest.java index f85d3f260..52dad11ad 100644 --- a/gateway-provider-identity-assertion-hadoop-groups/src/test/java/org/apache/knox/gateway/identityasserter/hadoop/groups/filter/HadoopGroupProviderFilterTest.java +++ b/gateway-provider-identity-assertion-hadoop-groups/src/test/java/org/apache/knox/gateway/identityasserter/hadoop/groups/filter/HadoopGroupProviderFilterTest.java @@ -272,6 +272,19 @@ public class HadoopGroupProviderFilterTest { new HashSet<>(Arrays.asList("hadoop-group", "test-virtual-group")), calculatedGroups); } + @Test + public void testHadoopGroupsIsNull() throws Exception { + final HadoopGroupProviderFilter filter = new HadoopGroupProviderFilter(); + + final Subject subject = new Subject(); + subject.getPrincipals().add(new PrimaryPrincipal(username)); + + // no init() method called -> hadoopGroups is null + final String[] groups = filter.mapGroupPrincipals(username, subject); + + assertThat(groups.length, is(0)); + } + @Test public void testLdapServiceIntegration() throws Exception { KnoxLDAPService ldapService = EasyMock.createNiceMock(KnoxLDAPService.class);
