This is an automated email from the ASF dual-hosted git repository.
smolnar82 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/knox.git
The following commit(s) were added to refs/heads/master by this push:
new 8342af3d3 KNOX-3342: Fixed NPE in HadoopGroupFilter when hadoopGroups
instance wasn't set (#1253)
8342af3d3 is described below
commit 8342af3d3186d536504fd64c2c3af4865a78e795
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);