HADOOP-13422. ZKDelegationTokenSecretManager JaasConfig does not work well with other ZK users in process. Contributed by Sergey Shelukhin.

(cherry picked from commit 255ea45e50e102505ee61eb0ba45ea93035abe3c)
(cherry picked from commit df2ed6b2c4f5b42a57e211e58d4a7350c9ac6fb8)
This commit is contained in:
Chris Nauroth 2016-07-26 15:33:20 -07:00
parent 45a6ee97b2
commit 244285488d
2 changed files with 8 additions and 2 deletions

View File

@ -436,6 +436,8 @@ public List<ACL> getAclForPath(String path) {
@InterfaceAudience.Private
public static class JaasConfiguration extends Configuration {
private final javax.security.auth.login.Configuration baseConfig =
javax.security.auth.login.Configuration.getConfiguration();
private static AppConfigurationEntry[] entry;
private String entryName;
@ -468,7 +470,8 @@ public JaasConfiguration(String entryName, String principal, String keytab) {
@Override
public AppConfigurationEntry[] getAppConfigurationEntry(String name) {
return (entryName.equals(name)) ? entry : null;
return (entryName.equals(name)) ? entry : ((baseConfig != null)
? baseConfig.getAppConfigurationEntry(name) : null);
}
private String getKrb5LoginModuleName() {

View File

@ -242,6 +242,8 @@ private String setJaasConfiguration(Configuration config) throws Exception {
public static class JaasConfiguration extends
javax.security.auth.login.Configuration {
private final javax.security.auth.login.Configuration baseConfig =
javax.security.auth.login.Configuration.getConfiguration();
private static AppConfigurationEntry[] entry;
private String entryName;
@ -277,7 +279,8 @@ public JaasConfiguration(String entryName, String principal, String keytab) {
@Override
public AppConfigurationEntry[] getAppConfigurationEntry(String name) {
return (entryName.equals(name)) ? entry : null;
return (entryName.equals(name)) ? entry : ((baseConfig != null)
? baseConfig.getAppConfigurationEntry(name) : null);
}
private String getKrb5LoginModuleName() {