Skip to content

Commit dfaae8a

Browse files
mimaisonmanoj-mathivanan
authored andcommitted
MINOR: Cleanups in JaasUtils (apache#18522)
Reviewers: Luke Chen <[email protected]>, Chia-Ping Tsai <[email protected]>
1 parent 078234c commit dfaae8a

File tree

2 files changed

+28
-3
lines changed

2 files changed

+28
-3
lines changed

clients/src/main/java/org/apache/kafka/common/security/JaasUtils.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
public final class JaasUtils {
2020
public static final String JAVA_LOGIN_CONFIG_PARAM = "java.security.auth.login.config";
2121
public static final String DISALLOWED_LOGIN_MODULES_CONFIG = "org.apache.kafka.disallowed.login.modules";
22-
public static final String DISALLOWED_LOGIN_MODULES_DEFAULT = "com.sun.security.auth.module.JndiLoginModule";
22+
public static final String DISALLOWED_LOGIN_MODULES_DEFAULT =
23+
"com.sun.security.auth.module.JndiLoginModule,com.sun.security.auth.module.LdapLoginModule";
2324
public static final String SERVICE_NAME = "serviceName";
2425

2526
private JaasUtils() {}

clients/src/test/java/org/apache/kafka/common/security/JaasContextTest.java

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,10 @@ public void testDisallowedLoginModulesSystemProperty() throws Exception {
189189
String jaasConfigProp1 = "com.sun.security.auth.module.JndiLoginModule required;";
190190
assertThrows(IllegalArgumentException.class, () -> configurationEntry(JaasContext.Type.CLIENT, jaasConfigProp1));
191191

192+
//test LdapLoginModule is not allowed by default
193+
String jaasConfigProp2 = "com.sun.security.auth.module.LdapLoginModule required;";
194+
assertThrows(IllegalArgumentException.class, () -> configurationEntry(JaasContext.Type.CLIENT, jaasConfigProp2));
195+
192196
//test ListenerName Override
193197
writeConfiguration(Arrays.asList(
194198
"KafkaServer { test.LoginModuleDefault required; };",
@@ -197,11 +201,19 @@ public void testDisallowedLoginModulesSystemProperty() throws Exception {
197201
assertThrows(IllegalArgumentException.class, () -> JaasContext.loadServerContext(new ListenerName("plaintext"),
198202
"SOME-MECHANISM", Collections.emptyMap()));
199203

204+
//test ListenerName Override
205+
writeConfiguration(Arrays.asList(
206+
"KafkaServer { test.LoginModuleDefault required; };",
207+
"plaintext.KafkaServer { com.sun.security.auth.module.LdapLoginModule requisite; };"
208+
));
209+
assertThrows(IllegalArgumentException.class, () -> JaasContext.loadServerContext(new ListenerName("plaintext"),
210+
"SOME-MECHANISM", Collections.emptyMap()));
211+
200212
//test org.apache.kafka.disallowed.login.modules system property with multiple modules
201213
System.setProperty(DISALLOWED_LOGIN_MODULES_CONFIG, " com.ibm.security.auth.module.LdapLoginModule , com.ibm.security.auth.module.Krb5LoginModule ");
202214

203-
String jaasConfigProp2 = "com.ibm.security.auth.module.LdapLoginModule required;";
204-
assertThrows(IllegalArgumentException.class, () -> configurationEntry(JaasContext.Type.CLIENT, jaasConfigProp2));
215+
String jaasConfigProp3 = "com.ibm.security.auth.module.LdapLoginModule required;";
216+
assertThrows(IllegalArgumentException.class, () -> configurationEntry(JaasContext.Type.CLIENT, jaasConfigProp3));
205217

206218
//test ListenerName Override
207219
writeConfiguration(Arrays.asList(
@@ -216,6 +228,7 @@ public void testDisallowedLoginModulesSystemProperty() throws Exception {
216228
System.setProperty(DISALLOWED_LOGIN_MODULES_CONFIG, "");
217229

218230
checkConfiguration("com.sun.security.auth.module.JndiLoginModule", LoginModuleControlFlag.REQUIRED, new HashMap<>());
231+
checkConfiguration("com.sun.security.auth.module.LdapLoginModule", LoginModuleControlFlag.REQUIRED, new HashMap<>());
219232

220233
//test ListenerName Override
221234
writeConfiguration(Arrays.asList(
@@ -227,6 +240,17 @@ public void testDisallowedLoginModulesSystemProperty() throws Exception {
227240
assertEquals(1, context.configurationEntries().size());
228241
checkEntry(context.configurationEntries().get(0), "com.sun.security.auth.module.JndiLoginModule",
229242
LoginModuleControlFlag.REQUISITE, Collections.emptyMap());
243+
244+
//test ListenerName Override
245+
writeConfiguration(Arrays.asList(
246+
"KafkaServer { com.sun.security.auth.module.LdapLoginModule required; };",
247+
"plaintext.KafkaServer { com.sun.security.auth.module.LdapLoginModule requisite; };"
248+
));
249+
context = JaasContext.loadServerContext(new ListenerName("plaintext"),
250+
"SOME-MECHANISM", Collections.emptyMap());
251+
assertEquals(1, context.configurationEntries().size());
252+
checkEntry(context.configurationEntries().get(0), "com.sun.security.auth.module.LdapLoginModule",
253+
LoginModuleControlFlag.REQUISITE, Collections.emptyMap());
230254
}
231255

232256
@Test

0 commit comments

Comments
 (0)